본문 바로가기

Java/이전블로그

JAVA Study Memo 1

반응형
아래의 내용은 2020년도 공부당시 정리했던 https://blog.naver.com/csound93/221805026966 블로그의 내용을 옮겼습니다. 지금와서 돌아보면 그냥 난잡하게 글을 썼던 것 같네요. 추후 포스트를 통해 이전블로그에서 작성했던 내용들을 다시 정리해 보는 시간도 갖도록 하겠습니다.

< 데이터 타입과 형변환 >

- 기본 데이터 타입의 종류 : byte(1byte), short(2), char(2, 유니코드 문자 사용), int(4), long(8), float(4), double(8)

// 작은 상자에 담겨 있던 내용물을 큰 상자에 옮기는 건 가능하지만, 큰 곳에 있던 것을 작은 곳으로 옮기는 것은 불가능하다.

// 자바에서 default 값 : 정수는 int 이고, 실수는 double 이다. 그 외의 것을 쓰려면 float num = 3.14f 와 같이 표기해줘야함.

// 각 데이터 타입별로 사용할 수 있는 범위가 정해져 있는데, 이것은 필요할 때마다 책이나 구글 참조. 특별한 경우를 제외하고 default로 충분.

- 명시적 형변환 방법

// 위의 예제를 다시 쓰자, float num = 3.14f 를 바꿔보면 float num = (float) 3.14 와 같은 방식으로 표기할 수 있다.

// int num = (int)3.14F 와 같은 형태도 가능. 강제로 명시적 형변환을 사용하면 정보는 정확도는 떨어지나 오류는 해결됨.

- 상수란 constant. 즉, 초기화 후에는 그 값을 변경할 수 없는 변수(한국말로는 변하는 수를 뜻하지만 여기선 패스)를 뜻 한다.

예) public static final float PI=3.14f; 와 같은 형식으로 사용되는 것을 의미.

- 리터럴(literor)이란 변할 수 없는 숫자 그 자체를 의미한다.

예) 1, 0x2, 3.14 등등 일반적인 수. (1=3 이 잘못된 것이란 것은 설명이 필요 없을 것이다.)

- 자동 형변환을 주의하자. 아래의 연산자에서 나오겠지만 -num은 (-1)*num 과 같은 의미이기 때문에 num이 어떤 형식이건 -1과 곱해지기 때문에 형변환이 일어난다.

< 연산자 >

- 사칙연산(이항연산자) : +, -, *, /

// 기본적인 것은 계산기와 동일하다.

- % : 나머지 연산자.

// 프로그래밍 할 때 사용하는 실수형의 데이터 타입들은 생각보다 정확도가 떨어지기 때문에 정교한 계산에 쓰기가 어렵다. 그래서 사용한다.

- 단항연산자 : +(쓸 일 없음), - (-1을 곱한 것과 같음), ++, -- (++,-- 는 루프문에서 많이 쓰임. 하나씩 올리거나 하나씩 내릴 때 씀).

- 연산자에는 우선순위가 있는데 보통 괄호가 우선 시 되며 그 외의 것은 그다지 외우고 다닐 필요 없으니 구글에 물어볼 것.

- 관계연산자 : ==('='은 대입연산자), !=, >, >=, <, <=, .equals() // a.equals(b)와 같은 형태로 쓰이는 메서드.

- 삼항연산자 : (조건)?(참일 경우):(거짓일 경우) // 엑셀의 if함수와 흡사하다.

< 입력과 출력 >

- 입출력 System class를 이용.

예) System.in 또는 System.out.print(); 등

- print는 후에 기술할 Overriding을 이용해 괄호 안에 여러 데이터 타입의 정보를 받아 올 수 있다.

예) 상수, 계산식, String 등

- String을 이용한 배열은 아래와 같이 쓴다.

// String[] classGroup = { "김철수", "김영희", "바둑이"};

// System.out.println(classGroup[0]); --> 출력결과 : 김철수

// .length는 3 이다.

String[] memb = { "김철수", "김영희", "바둑이"};
for (int i = 0; i < memb.length; i++){
    String memb = memb[i];
    System.out.println(memb);
}

'Java > 이전블로그' 카테고리의 다른 글

getter 와 setter  (0) 2023.03.28