이것이 자바다 CH 1, 2(변수와 타입)
CH 1
☑️컴파일 → java와 같은 고급언어(인간 친화적)를 기계어(0,1)로 변환
☑️ 자바 프로그램 실행 단계
소스파일(.java) → 컴파일 → 바이트 코드 파일(.class) → java 명령어 → JVM 구동
☑️ .class 바이트 코드 파일을 실제로 실행하는 것
☑️컴파일러가 실행할 때, classpath(환경변수)에 있는 것(파일들)만 찾아서 실행함
CH 2(변수와타입)
☑️ 변수 초기화 : 변수에 최초로 초기값 넣어주는 행위
☑️ 리터럴 : 연산자의 우측에 프로그래머가 입력한
☑️ 유니코드가 정수라 char도 정수타입인 것
☑️ 기본적으로 실수 리터럴은 double로 잡힘, float타입을 원하면 뒤에 f 또는 F를 붙혀야 됨
☑️ char ‘ ‘ Char “ “
☑️ 실수 → 정수 강제 타입 변환 시, 소수점 이하 버림
☑️ 자바에서 + 연산자는 피연산자 중 하나가 문자열이면 나머지 피연산자도 문자열로 자동 볒ㄴ환되어 결합 연산 수행
→ 앞에서부터 순차적으로 연산 수행
→ 만약 순차적 진행 원하지 않으면 괄호()를 이용
String str = “1” + (2 + 3) → “15”
String str = “1”+2+3 → “123”
String str = 1+”2”+3 → “123”
String str = 1+ 2 + “3” → “33”
☑️ print 메소드
println(내용) : 내용 출력, 행 바꿈
print(내용) : 내용 출력
printf(”형식문자열”,값1,값2,..) : 형식 문자열에 맞춰 값 출력
→ 형식문자열(필요시 검색)
/n (줄바꿈) 같은 것들
/t(탭)
☑️ 기본 타입을 문자열로 변환
→ .valueOf(기본타입값)
Strig str = String.valueOf(기본타입값);
☑️문자열을 기본 타입으로 변환
→ .parse~ ()
String str = "10"
int value = Integer.parseInt(str);
☑️ 자동타입변환 : 값 허용 범위 작은 타입이 큰 타입으로 대입시
예외 : byte타입은 char타입으로 자동 변환 불가
why? byte타입은 음수가 범위에 포함되지만, char타입은 음수 포함 X
☑️ 강제타입변환 : 큰 허용 범위 타입을 작은 허용 범위 타입으로 쪼개서 저장
→ () 캐스팅 연산자 활용
int intValue = 10;
byte byteValue = (byte)intValue;
☑️ 자바에서 정수 연산의 결과는 항상 정수 (61page)
따라서 double result = x/y; 해도 자동으로 형변환 되는 게 아님
double result = (double)x/y 혹은 x/(double)y 혹은 (double)x/(double)y 이런 식으로 써줘야 함!