자바의 형변환
서로 다른 타입이 연산을 하게되면 하나의 타입으로 일치시켜서 연산한다.
산술 이항 연산시 int 타입보다 작은 타입은 int 타입으로 변환하여 연산
(산술 이항 연산의 최소단위 4바이트 = 32비트)
자동(묵시적) 형변환
연산시 데이터 타입이 자동으로 변환되는 것
데이터 값이 손실 되지 않는 방향으로의 변환
데이터의 처리 범위가 작은 타입에서 큰 타입으로 변환
boolean 은 어떤 타입으로도 변환될 수 없고 어떤 타입도 boolean은 될 수 없다.
byte < short < int < long < float < double
char < int < long < float < double
강제(명시적) 형변환
public class VarTest2 {
public static void main(String[] args) {
System.out.println(100);
int num; // 변수 선언
num = 1000;
System.out.println("연산 전 : "+num);
num = 10+20;
System.out.println("연산 후 : "+num);
char munja = 'A';
System.out.print(munja);
munja++;
System.out.print(munja);
munja += 1;
System.out.print(munja);
munja = (char)(munja+1); // munja = munja + 1
System.out.println(munja);
}
}
swith 문
switch(식){
case 비교값1: 수행문장1;
수행문장2;
case 비교값2: 수행문장3;
수행문장4;
default: 수행문장5;
}
default 는 어떠한 케이스에도 해당되지 않을 때 수행
해당 케이스절에 정의된 문장만 실행시키고 싶을 때 break 사용
for 문
자바는 for 문이 2가지이다.
초기화식, 조건식, 증감식 세 개의 식으로 구성된 for 문
for(초기화식; 조건식; 증감식){
반복하려는 문장
}
어떤 변수의 값을 초기화 하여 어떤 값이 될 때까지 변수의 값을 변화시키면서
블럭을 반복수행하고자 하는 경우
ex1)
for(int i=1; i<=9; i++){
}
for문내에서 유효한 변수가 i가 1부터 9까지 증가하면서 반복 => 9번 반복
ex2)
for(int n=1; n<=100; n+=2){
}
2씩 증가 시키고싶은 경우 !
ex3)
for(char m='A'; m <= 'Z'; m++){
System.out.println(m);
}
ex4)
for(;;){ // 무한루프
}
다음주에 배울 배열과 관련있음
✅ if 문과 switch 문의 차이 : if 문은 조건에 해당하는 절만 수행
switch 문은 해당하는 케이스부터 계속수행
=> break 걸어줘야함
✅ switch 문 식에는 int 타입(byte,short,String) 만 사용가능
✅ if문보다switch문이 속도 빠름, 등가 비교만 지원, 비교경우많을 때 사용 ✅ for(int n=1; n<=100; n+=2) => for문을 2씩 증가시키고 싶을 때