본문 바로가기
자바/이론(Theory)

DAY006. JAVA(1)

by 피톤치즈 2017. 1. 16.
반응형

JAVA

  • james gosling이 개발
  • 객체지향(OOP)
  • 캡슐화 - 객체의 data와 method를 묶고, 일부는 외부에 감추어 은닉
  • 상속 - A라는 클래스의 속성을 B가 사용할 수 있도록 연결해주는 것? 현실에서 예를 들면, 스마트폰은 전화기 라는 속성을 가지고 있고 스마트폰이 전화기를 상속했다고 볼수 있는 것과 같은 느낌적인 느낌.
  • 다형성 - 자료형 체계의 성질을 나타내는 것으로, 이를 테면 aa.toString(); 이런것과 같음. 단형성은 toString(); 만 사용 가능
  • 가비지컬랙션 - 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능, 개인적으로 이건 장점이 맞는지는 정확히 모르겠음 나중에 좀 큰 프로그램 짜면 문제 생길듯…
  • 플랫폼 독립 - OS에 관계없이 1개의 소스코드로 다양한 OS에서 사용이 가능.

  • Java TEST (PC에 자바가 설치되어 있어야 동작)

    • 임의의 폴더를 생성한 후 메모장이나 에디터를 사용해서 HelloWorld.java 생성
    • 명령프로프트 or powershell 실행
    • 생성한 폴더 찾아가서 생성한 파일있는지 확인
    • 파일로 돌아가 아래와 같이 타이핑
class HelloWorld {
    public static void main(String[] args) {
        System.out.print("Hello World!!");
    }
} 
  • 실행창에 가서 javac HelloWorld.c
  • 실행은 java HelloWorld

들여쓰기는 공백4칸이 원칙, 일부 컴파일러의 경우 탭과 공백을 혼용하는 경우 에러 나옴.

개인적으로는 Tab이 좋은데, 개발자들사이의 법칙(?)이라고 하니 사용해야만 함...

코드 작성 규칙

  • 세미콜론
  • { } 블럭
  • // : 한줄주석처리
  • /* ….. */ 다중 주석처리

  • 식별자 - 변수명, 상수명, 클래스명, 패키지명 등을 선언할 때 붙이는 이름. ex)main

  • 예약어 - 자료형 이름 같은걸 말함.ex) char int
  • 변수와 상수 (상수는 변수 앞에 final을 붙이면 됨. 변경 안됨) - 변수 참조 http://ding9.tistory.com/88
  • 기본자료형 - 논리형, 문자형, 정수형, 실수형,문자형2(string, 기본자료형은 아님)
  • 문자형 타입 적용 - 작은따옴표 적용 ‘글’ 이런식으로 2byte

    세월이 변했어..처음 C 배울때만해도 char는 1byte였는데, 자바는 2byte 게다가 유니코드 적용까지..

  • 정수형 타입 적용 - byte(1 byte), short(2 byte), inc(4 byte), long(8 byte)

  • 실수형 타입 적용 - float(4 byte), double( 8byte)
  • 소수점 연산 오류 원인

    • a= 0.1515 * 10e1
    • b= 0.55 * 10e-5
    • 풀어쓰면 a + b = 1.5150055 = 0.15150055 * 10e1
    • 지수가수법으로 변경하면 a + b = 0.152 * 10e1
  • 자료형 변환 - 계산 형태에 따라 자동으로 형변환, byte + int 이면 결과가 int로 변하는 걸 말함.
    참조 : https://opentutorials.org/module/516/5330

  • 문자 <-> 숫자 (함수로 정의되어 있음.)

  • 연산자 우선순위 - 참조 : https://msdn.microsoft.com/ko-kr/library/2bxt6kc4.aspx
  • 쉬프트 연산자 >> 과 >>> 의 차이는 >>의 경우, 부호가 바뀌지 않으나 >>>의 경우 무조건 0이 채워짐.
  • 반복문 - break, continue.

실습

  • BigDecimal 큰수 계산할때 사용 3,333,333,333 이런수..
import java.math.BigDecimal; //BigDecimal을 사용하기 위해 필요.

    BigDecimal testVar = new BigDecimal(0);

    testVar = result.add(new BigDecimal(10));

    testVar = result.multiply(new BigDecimal(5));

    testVar = result.divide(new BigDecimal(10));

특이사항

BigDecimal에서 add가 안되서 고생했는데 원인은 대입을 안해줘서였음.
testVar = result.add(new BigDecimal(10));
이런식으로 써야 되는데..
result.add(new BigDecimal(10));
이렇게 해놓고 값이 안된다고… 근데 에러 안남..

반응형

'자바 > 이론(Theory)' 카테고리의 다른 글

[자바JAVA] 변수1 - 변수, 기본형  (0) 2018.10.05
DAY010. JAVA(5)  (2) 2017.01.20
DAY009. JAVA(4)  (1) 2017.01.19
DAY008. JAVA(3)  (1) 2017.01.18
DAY007. JAVA(2)  (1) 2017.01.17

댓글