int num1 = 123;
double num2 = 123.4;
int num3 = num1 + num2 // 오류 => 실수형의 값을 정수형의 변수에 저장하려고 해서
double로 수정하거나
둘다 int값으로 형변환을 해주거나
결과값을 int로 변환해주어야 함
정수형과 정수형의 연산의 기본값은 int이다
형변환
문자열 String.valueOf(변환하고자하는값)
int Integer.parseInt(변환하고자하는값)
double Double.parseDouble(변환하고자하는값)
boolean Boolean.parseBoolean(변환하고자하는값)
괄호안에 들어갈 값은 각 타입으로 변환될 수 있는 string이 들어가야한다
ex. boolean -> "true" / int -> "564739"
int num1 = 10;
int num2 = 20 + num1 // 30
int num3 = num2 + num2 + num1 // 30 + 30 + 10
System.out.println(" \"안녕하세요\" ");
System.out.println("이스\t케이프\n문자");
char ch = '\'';
\t은 탭, \n은 엔터를 의미한다.
int x1 = 10;
int y1 = 20;
x1++; // 라인지나고 연산 값 반영 = 10
// x1 = 11;
++x1; // 바로 반영 = 12
증감연산자가 뒤에 붙어있으면 그 다음 라인에 연산이 된 값을 적자
boolean isEnd = true
boolean isStart = !isEnd // false
int x2 = 5;
int y2 = 2;
System.out.println((double)(x2/y2));
정수끼리 계산하면 2.5나와도 int로 변환되어서 2가 된다. 그 상태에서 double로 형 변환하면 2.0이 나옴
string을 비교할 때는 == 보다는 .equals()를 사용하자!
(==을 사용할 경우 기본 타입은 변수의 값을 비교하지만 참조 타입은 객체의 주소를 비교하기 때문에 원치 않는 결과를 얻을 수도 있다.)
복합대입연산자는 연산자를 실행하고 값의 저장까지 이루어진다. ex. +=, -=, *=, /=, %=
복합대입연산자를 사용할 때 타입 형변환의 함정..
int num1 = 100;
num1 /= 50.0; // 이 식은 아래식과 같다
num1 = int(num1 / 50.0)
타입 형변환이 아래에서 한번만 되서 원하지 않는 값을 얻을 수도 있다. 오히려 풀어쓰는 것이 더 안전하고 가독성이 좋을 수도 있다
참고: https://cinnamonc.tistory.com/208
조건식이 참일 경우 (1)실행 거짓일 경우 (2)
거짓인 경우에서도 참 거짓 나눠서 삼항연산자를 중첩시킬수 있음