int a = 5;
int b = 2;
' = ' 대입연산자 : 오른쪽 값을 왼쪽으로 저장시키는 것,항상 오른쪽 먼저 실행됨.
int add = a + b;
int sub = a - b;
int mul = a * b;
int mok = a / b; //몫을 구할 때 씀.
int mod = a % b; //나머지 구할 때 씀.
double x = 5;
double y = 2;
- 값이 정수인데 double 이 되는 이유는, 자동변환이 되어짐.
double addResult = x + y;
double subResult = x - y;
double mulResult = x * y;
double divResult = x / y;
double modResult = x % y;
참고) 정수끼리 계산해서 실수 결과 도출하기 ↓
int i = 5;
int j = 2;
double result = (double)i / j;
System.out.println(result);
=> i가 5에서 casting 되서 5.0이 됨.
2도 계산하면서 5.0 / 2.0 으로 자바가 바꿈.
결과는 2.5
1. 전위 연산(먼저 증감)
int a = 10;
System.out.println(++a);
System.out.println(a);
= a를 증가시킨 뒤 출력한다
2. 후위 연산(나중에 증감)
int b = 10;
System.out.println(b++);
System.out.println(b);
= b를 출력한 뒤 증가시킨다.
int a = 10;
int b = a;
틀린 해석 : b는 a와 같다.
옳은 해석 : a를 b로 보내라.
복합 연산(복합 대입 연산)
int x = 10;
int y = 1;
y += x;
System.out.println(x); // 10
System.out.println(y); // 11
int a = 3;
int b = 5;
boolean result1 = a > b; // a가 b보다 크면 true, 아니면 false.
boolean result2 = a >= b; // a가 b보다 크거나 같으면 true, 아니면 false.
boolean result3 = a < b; // a가 b보다 작으면 true, 아니면 false
boolean result4 = a <= b; // a가 b보다 작거나 같으면 true, 아니면 false.
boolean result5 = a == b; // a와 b가 같으면 true, 아니면 false.
boolean result6 = a != b; // a와 b가 다르면 true, 같으면 false.
논리 연산
논리 AND : &&, 모든 조건이 만족하면 true, 아니면 false
논리 OR : ||, 하나의 조건이라도 만족하면 true, 아니면 false
논리 NOT : ! , 조건 결과가 true 이면 false, 조건 결과가 false 이면, true.
int x = 10;
int y = 20;
boolean andResult = (x == 10) && (y == 10); // 모든 조건이 만족하지 않기 때문에 false.
boolean orResult = (x == 10) || (y == 10); // 하나의 조건이 만족하므로 true
boolean notResult = !(x == 10); // x != 10 와 동일한 조건.
System.out.println(andResult);
System.out.println(orResult);
System.out.println(notResult);
- 복붙하는 이유 : 오타를 줄이려고 (편할려고x).
[ Short Circuit Evaluation ]
int i = 10;
int j = 10;
boolean andSceResult = (++i == 10) && (++j == 10); //논리 AND로 첫 번째 조건에서 false가 나와서 더이상 체크 x
System.out.println(andSceResult); //false
System.out.println(i); // 11
System.out.println(j); // 10
boolean orSceResult = (j++ == 10) || (i++ == 10); //논리 OR로 첫 번째에서 이미 true가 나왔기 때문에 더이상 체크 x , 결과 : true
System.out.println(orSceResult); //true
System.out.println(i); // 11
System.out.println(j); // 11
}
int score = 100;
String result = (score >= 60) ? "합격" : "불합격";
System.out.println(result);
String str1 = "구디" + "아카데미"; // 구디아카데미
String str2 = 4 + "달라"; //숫자+문자 연결가능
String str3 = 1 + 2 + "번지"; //' 3번지 ' = 왼쪽에서 오른쪽으로 계산하기 때문에 1+2 를 먼저함, 후에 문자열과 합침.
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
// 정수 -> 문자열
// 실수 -> 문자열
String str4 = 100 + ""; // 빈 문자열("")을 더해주면 숫자가 문자열이 된다.
String str5 = 1.5 + ""; // 빈 문자열("")을 더해주면 숫자가 문자열이 된다.
System.out.println(str4);
System.out.println(str5);
//참고. 문자열로 변환하는 메소드가 있다.
String str6 = String.valueOf(100); //잘 안 쓸 뿐 있다.
System.out.println();