하기 3가지는 필수 암기
- 데이터 타입⇒ 형 변환
- 함수
- 객체
[계산] //평균을 구하시오. public class Total { public static void main(String[] args) { int kor, eng, math, total; double avg; kor = 60; eng = 75; math = 100; total = kor + eng + math; avg = total / 3.0; System.out.println("총점= " + total + " 평균= " + avg); } }
[결과값] 총점= 235 평균= 78.33333333333333 *float : 소수점 7자리 *double : 소수점 15자리
[계산] public class Boolean { public static void main(String[] args) { boolean b1 = true; boolean b2 = false; System.out.println(b1); // b1이 지닌 값 출력 System.out.println(b2); int num1 = 10; int num2 = 20; System.out.println(num1 < num2); System.out.println(num1 > num2); } }
[결과값] true false true false [설명] CPU가 연산결과를 응답할 때, *반드시* 9개의 데이터 타입 중 하나를 정해서 응답한다. 상기는 데이터 타입 중 Boolean으로 정해서 응답.
・정수와 달리 실수는 오차 없이 표현이 불가능
・따라서 정밀도를 낮추고 표현할 수 있는 값의 범위 넓힘
・자바는 문자를 2byte 유니코드로 표현한다.
・문자의 저장은 유니코드 값의 저장으로 이어진다.
문자와 문자열은 데이터 타입이 다르다!
문자:''
문자열:""
: 0 ~ 127까지 각각의 숫자에 대응되는 값들이 표현되어 있다.
*ex) A = 65 / B = 66 / SPACE = 32 / 0 = 48 / ^ = 94
[계산] public class CharTypeUnicode { public static void main(String[] args) { char ch1 = '헐'; char ch2 = '확'; char ch3 = 54736; // 문자 '헐'의 유니코드 값 char ch4 = 54869; // 문자 '확'의 유니코드 값 char ch5 = 0xD5D0; char ch6 = 0xD655; char ch = 'A'; char ch7 = 65; System.out.println(ch); System.out.println(ch7); System.out.println(ch1 + " " + ch2); System.out.println(ch3 + " " + ch4); System.out.println(ch5 + " " + ch6); } }
[결과값] A A 헐 확 헐 확 헐 확 [설명] ch3 : 문자 ch5 : 16진수
[TIP] int num = 1; char ch = '1'; *둘 다 결과값은 1이 나오지만, ⇒메모리에 int는 1로 입력됨 ⇒메모리에 char는 49로 입력됨 char는 폰트로 나온다
⇒코드가 통일되지 않아 글자가 깨지게 된다.
현재는 UTF-8로 통일됨.
상수⇔변수 | 상수는 변수의 반대말
초기화 : 처음으로 값을 할당하는 것
▸변수에 값을 딱 한 번만 할당할 수 있으면 그것은 상수!
▸한 번 할당된 값은 변경이 불가능하다.
▸키워드 final 선언이 붙어있는 변수
▸final 기반의 상수 선언의 예
-상수의 이름은 모두 대문자로 짓는 것이 관례
-이름이 둘 이상의 단어로 이뤄질 경우 단어를 언더바로 연결하는 것이 관례
final int MAX_SIZE = 100;
[계산] public class Constants { public static void main(String[] args) { final int MAX_SIZE = 100; final char CONST_CHAR = '상'; final int CONST_ASSIGNED; CONST_ASSIGNED = 12; // 할당하지 않았던 상수의 값 할당 System.out.println("상수1 : " + MAX_SIZE); System.out.println("상수2 : " + CONST_CHAR); System.out.println("상수3 : " + CONST_ASSIGNED); } }
[결과값] 상수1 : 100 상수2 : 상 상수3 : 12 [설명] 변하지 않는 값은 상수 final로 지정 후 무조건 대문자로 작성한다.
//초기화⇒처음으로 값을 할당하는 것 //활용 public class Constants { public static void main(String[] args) { //원의 반지름이 10인 원의 넓이를 구하는 프로그램을 작성하시오. final double PI = 3.14; // PI는 변하지 않기에 final로 작성한다. double radius = 10; // 반지름은 값이 변할 수 있기에 final을 사용하지 않는다. double area = radius * radius * PI; System.out.println("원의 넓이" + area); } }
[결과값] 원의 넓이314.0 [설명] PIE 값은 3.14 고정이므로 final로 지정 반지름은 값이 변할 수 있기에 final을 사용하지 않는다.