[개인공부] ch 1~2

Walter Mitty·2022년 11월 1일
0

개인공부

목록 보기
3/40
post-thumbnail

변수, 상수, 리터럴

  • 변수(variable) - 하나의 값을 저장하기 위한 공간

    • 하나만 저장할 수 있어서 값이 바뀌면 바뀐 값으로 변경
    		int score = 100;
    		int score = 200;
  • 상수(constant) - 한 번만 값을 저장 가능한 변수

    • 한번 값을 저장하면 변경 불가능
    • final 키워드 사용
    	final int MAX = 100;
    	MAX = 200; // ERROR !!!!
  • 리터럴(literal) - 그 자체로 값을 의미하는 것

    • 기존의 상수와 같은 개념
    • 자바에서 상수를 이미 정의했기 때문에 구별하기 위해 리터럴이라는 용어 사용
    		int score = 100;  //숫자 100 리터럴
    		int score = 200;  //숫자 200 리터럴
      
    		final int MAX = 100; //숫자 100 리터럴
    		MAX = 200; // ERROR !!!! ////숫자 200 리터럴
    
    		char ch = 'A';   //문자 'A'도 리터럴
    		String str = "abc";  //문자열 "abc"도 리터럴
      
      		변수: score, ch, string
     		상수: MAX

변수와 리터럴의 타입 불일치

  1. 범위가 변수 > 리터럴 인 경우 OK
int i = 'A';  //int > char
대신, i에는 'A'가 아닌 문자 코드인 65가 저장된다.

long l = 123; //long > int
double d = 3.14f //double > float
  1. 범위가 변수가 리터럴 보다 작은 경우 Error
int i= 30_0000_0000; // int의 범위(±20억) 벗어남
long l = 3.14; // float < double (d는 생략가능함)
  1. byte, short 변수에 int 리터럴 저장가능
byte b = 100; //OK, byte 범위(-128 ~ 127)에 속함
//단, 변수의 타입의 범위 이내이어야 함
byte b = 128; //ERROR!!! byte 의 범위를 벗어남

기본형과 참조형

  • 기본형(Primitive type)
    • boolean, char, byte, short, int, long, float, double
    • 실제 값을 저장

  • 참조형(Reference type)
    • 기본형을 제외한 나머지 (String, System 등)
    • 메모리 주소 저장(4byte 또는 8byte)
      • 타입과 관계없이 변수의 크기 항상 4 byte.
종류 \ 크기1 byte2 byte3 byte1\4 byte
논리형boolean
문자형char
정수형byteshortint (default type)long
실수형floatdouble

출력

System.out.printf("%.2f", 10.0/3); //3.33
System.out.printf("%d", 0x1A); //26 10진수로 표시
System.out.printf("%X", 0x1A); //1A 16진수로 표시

System.out.printf("age:%d year:%d\n", 14, 2017);
//age: 14 year: 2017%n이 화면에 출력된다.  \n == %n

//여러개의 지시자 한번에 사용 가능
그러나 값의 개수도 지시자의 개수와 똑같이 적어줘야 한다.


타입간의 변환방법 (2-17)

1. 문자와 숫자간의 변환

숫자 3을 문자 '3'으로 변환하는 방법

  • 3+'0'

문자 '3'을 숫자 3으로 변환하는 방법

  • 3-'0'

2. 문자열로의 변환

숫자 3을 문자열 "3"으로 변환하는 방법

  • 3 + ""

문자 '3'을 문자열 "3"으로 변환하는 방법

  • '3' + ""

3. 문자열을 숫자로 변환

문자열 "3"을 숫자 3으로 변환

  • Integer.parseInt("3")

문자열 "3.14"를 더블타입 3.14로 변환

  • Double.parseDouble("3.14")

4. 문자열을 문자로 변환

문자열 "3"을 문자 '3'으로 변환

  • "3".charAt(0)

0개의 댓글