할당 연산자
산술 연산자
public static void main(String[] args) {
int number = 10;
int addedNumber = number + 2;
System.out.println(addedNumber);
int subtractedNumber = number - 3;
System.out.println(subtractedNumber);
int multipliedNumber = number * 3;
System.out.println(multipliedNumber);
int devidedNumber = number / 3;
System.out.println(devidedNumber);
int devideRemainNumber = number % 3;
System.out.println(devideRemainNumber);
}
public static void main(String[] args) {
int number1 = 10;
number1 = number1 + 2;
System.out.println(number1); // 12
int number2 = 10;
number2 = number2 - 2;
System.out.println(number2); // 8
int number3 = 10;
number3 = number3 * 2;
System.out.println(number3); // 20
int number4 = 10;
number4 = number4 / 4;
System.out.println(number4); // 2
int number5 = 10;
number5 = number5 % 4;
System.out.println(number5); // 2
}
복합 산술연산자
public static void main(String[] args) {
int number = 10;
int computedNumber1 = number + 3 - 1 * 3 / 3 % 3;
System.out.println(computedNumber1); // 12
int computedNumber2 = (number + (3 - 1)) * 3 / 5 % 3;
System.out.println(computedNumber2); // 1
}
연산 우선 순위 (PEMDAS)
단항 연산자
public static void main(String[] args) {
int number1 = 10;
number1 = number1 + 2;
System.out.println(number1);
}
위 코드와 완벽하게 일치하는 코드
public static void main(String[] args) {
int number1 = 10;
number1 += 2;
System.out.println(number1);
}
public static void main(String[] args) {
int num = 10;
num += 2; // num = num + 2;
num -= 2; // num = num - 2;
num *= 2; // num = num * 2;
num /= 2; // num = num / 2;
num %= 2; // num = num % 2;
}
public static void main(String[] args) {
int num = 10;
num += 1;
num -= 1;
}
이것을 아래처럼 줄일 수 있다.
public static void main(String[] args) {
int num = 10;
num++;
num--;
}
단 ++, -- 연산자는 위치에 따라 선/후 수행 처리를 한다!
public class ArtithmaticProblem {
public static void main(String[] args) {
int minutes = 5;
int seconds = 50;
int time = 0;
time = (minutes * 60) + seconds;
System.out.println(time);
/*
*이게 더 좋은 방법
time = minutes * 60;
time += seconds;
*/
}
}
public class ArtithmaticProblem2 {
public static void main(String[] args) {
int promissTime = 145;
int minutes = 0;
int seconds = 0;
minutes = promissTime / 60;
System.out.println(minutes + "분 ");
seconds = promissTime % 60;
System.out.println(seconds + "초");
}
public class ArtithmaticProblem3 {
public static void main(String[] args) {
int celsius = 30;
int fahrenheit = 0;
fahrenheit = (celsius * 9 / 5) + 32;
System.out.println(fahrenheit);//86
}
}
비교 연산자
논리 연산자
논리 연산자의 피연산자는 항상 불린이며 논리 연산의 결과도 불린이다.
논리 연산자 상세 비교
and 연산 간단한 예제
public static void main(String[] args) {
boolean and = true && true;
System.out.println(and); // true
and = true && false;
System.out.println(and); // false
and = false && true; // dead code
System.out.println(and); // false
and = false && false; // dead code
System.out.println(and); // false
}
|| 연산 간단한 예제
public static void main(String[] args) {
boolean or = true || true; // dead code
System.out.println(or); // true
or = true || false; // dead code
System.out.println(or); // true
or = false || true;
System.out.println(or); // true
or = false || false;
System.out.println(or); // false
}
! 연산 간단한 예제
public static void main(String[] args) {
boolean not = !true;
System.out.println(not); // false
not = !false;
System.out.println(not); // true
}
! 연산자는 불린의 결과를 부정하는 연산자 이며,
String 연산에서 자주 사용된다.
비교연산자와 논리연산자 동시 사용
논리연산자만 이용해서 비교하는 경우는 없다.
연산의 결과가 불린인 경우는 모두 논리연산이 가능하다.
public static void main(String[] args) {
int a = 10;
// 변수 a의 값이 10보다 크고 20보다 작은가?
boolean is11To19 = a > 10 && a < 20;
System.out.println(is11To19);
int b = 345795;
// 변수 b는 짝수인가?
boolean isEven = b % 2 == 0;
System.out.println(isEven);
int c = -345796;
// 변수 c는 0보다 큰 짝수인가?
boolean isEven2 = c > 0 && c % 2 == 0;
System.out.println(isEven2);
}
public static void main(String[] args) {
int d = 35;
// 변수 d의 값은 2 또는 5의 배수인가?
boolean isMultiple2Or5 = d % 2 == 0 || d % 5 == 0;
System.out.println(isMultiple2Or5);
int son = 7;
int parent = 40;
// son은 부모님과 함께 12세 이상 관람과의 영화를 볼수 있나?
boolean isAvailable = son >= 12 || parent >= 12;
System.out.println(isAvailable);
}
public static void main(String[] args) {
int e = 35;
// 변수 e의 값은 3의 배수가 아닌가?
boolean isNotMultiple3 = e % 3 != 0;
System.out.println(isNotMultiple3);
isNotMultiple3 = !(e % 3 == 0);
System.out.println(isNotMultiple3);
}