
리터럴: 코드에서 프로그래머가 직접 입력한 값
표현 방식:
0b00x (알파벳 대소문자 구분 없음)기본적으로 정수 리터럴은 int로 간주된다.
int 범위를 초과하는 값은 뒤에 l 또는 L을 붙여 long 타입임을 표시해야 한다.
char 타입은 **유니코드 문자(2바이트)**를 저장한다.'A')로 표현한다.실수는 부동소수점 방식으로 메모리에 저장된다.
기본적으로 실수 리터럴은 double로 간주된다.
float로 저장하려면 리터럴 뒤에 f 또는 F를 붙인다.
e 또는 E를 사용하여 지수 표기법으로 표현할 수 있다.
3.14e2 → 314.0boolean 타입은 true / false 두 값만 가진다.String은 기본 타입이 아닌 참조 타입이다.
문자열 리터럴은 큰따옴표("Hello")로 표현한다.
이스케이프 코드 예시:
\n (줄바꿈), \t (탭), \" (큰따옴표 출력)Java 13부터는 텍스트 블록(""" ... """)을 지원하여 여러 줄 문자열 작성이 가능하다.
작은 허용 범위 타입 → 큰 허용 범위 타입으로 자동 변환된다.
int num = 10;
double d = num; // int → double 자동 변환
단, char → byte 변환은 불가능하다. (char는 음수 표현 불가)
큰 범위 타입 → 작은 범위 타입 변환 시 (타입)을 명시해야 한다.
int num = 100;
byte b = (byte) num; // 강제 변환
범위를 초과하는 경우 값이 손실될 수 있다.
예시:
int → charint보다 작은 타입(byte, short, char)은 연산 시 자동으로 int로 변환된다.byte b = Byte.parseByte("10");
short s = Short.parseShort("10");
int i = Integer.parseInt("10");
long l = Long.parseLong("10");
float f = Float.parseFloat("3.14");
double d = Double.parseDouble("3.14");
boolean bool = Boolean.parseBoolean("true");
String str = String.valueOf(100);
println() : 출력 후 줄바꿈
print() : 출력 후 줄바꿈 없음
printf() : 형식(format)을 지정하여 출력
System.out.printf("%4d %6.2f %s%n", 10, 3.14, "Hello");
[값의 순번$] : 인자 순번 지정[flags] : 부호/채움 등[width] : 전체 자릿수[.precision] : 소수 자릿수conversion : 변환 문자(d, f, s 등)Scanner 클래스를 사용하여 입력받는다.
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
scanner.nextLine()은 Enter 입력 전까지 대기 상태가 되며, 입력된 내용을 문자열로 읽는다.
문자열 비교 시 == 대신 .equals()를 사용해야 한다.