java
의 연산자에 대해 살펴보자.
int num1 = 6;
int num2 = 2;
System.out.println(num1 + num2); // 8
System.out.println(num1 - num2); // 4
System.out.println(num1 * num2); // 12
System.out.println(num1 / num2); // 3
System.out.println(num1 % num2); // 0
홀수 짝수 구하기로 %를 조금 더 이해해보자.
int num3 = 100; // num3 변수의 값을 2로 나눈 나머지가 0일 경우는 짝수 아니면 홀수
System.out.printf("%d는 %s입니다.", num3, num3 % 2 ==0 ? "짝수" : "홀수" );
int a = 5;
++a; // a = a + 1;
System.out.println(a); // 6 앞에있던 뒤에있던 사용하는 변수의 값은 무조건 변한다.
--a; // a = a - 1;
System.out.println(a); // 5
a++; // a = a + 1;
System.out.println(a); // 6
a--; // a = a - 1;
System.out.println(a); // 5
int a = 5;
a *= 3; // a = a * 3;
a = a + 1;
a += 1;
a++;
int b = 5;
b *= 2 + 3; // b = b * (2 + 3);
System.out.println(b); // 25
형태 : ( &&, ||)
조건식 && 조건식 -> 참, 거짓이 반환
조건식 || 조건식 -> 참, 거짓이 반환
True && True -> True
True && False-> False
False && True -> False
False && False-> False
True || True -> True
True || False-> True
False || True -> True
False || False-> False
- || 연산자는 앞의 조건이 true이면 뒤에 연산을 더 진행하지 않는다. 무조건 true니까.
int a = 20;
int b = 10;
boolean result = (a > b) && (a % 2 == 0);
위의 식에서 앞 조건인 a > b 가 flase 면 무조건 flase이기 때문에 앞조건을 따져 본 후 flase면 뒤는 계산하지 않는다.
좀 더 똑똑한 연산자다!
&& 말고 하나짜리 &도 있다. &&는 앞이 거짓이면 뒤는 계산하지 않지만 &는 뒤에도 계산한다. 효율을 위해 그래서 자바는 &&를 쓴다.
삼항연산자
- 형태 : ( 조건 ) ? 값1 : 값2;
- (조건) : 참과 거짓을 판단할 수 있는 식이 와야 한다.
- 값1 : 조건이 참일 경우 선택
- 값2 : 조건이 거짓일 경우 선택
int a = 5;
int b = 10;
int max = (a > b) ? a : b;
System.out.println("max : " + max); // 10
System.out.println("max : " + ((a > b) ? a : b)); // 이런 식으로도 표현이 가능하다.
String result = (a > b) ? "a가 크다" : "b가 크다";
System.out.println(result); // b가 크다
System.out.println('a' + 1); //98
System.out.println('A' + 'B'); // 131
System.out.println((char)(75)); // 'K'
증감연산자를 제외한 다른 연산자를 사용할 때는 반드시 연산의 결과를 사용해야 한다. 변수에 담는다던가 말인다.