이것이 자바다

이것이 자바다 CH 1, 2(변수와 타입)

ultra_dev 2023. 1. 13. 00:25

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 이런 식으로 써줘야 함!