-
[Java_Basic]연산자(윤성우의 열혈 Java 프로그래밍)Java/Basic 2020. 12. 16. 19:20
대입 연산자 , 산술 연산자
대입 연산자는 '='
오른쪽의 값을 왼쪽에 대입한다.
class ArithOp{ public static void main(String[] args){ int num1 = 7; int num2 = 3; System.out.println("num1 + num2 = " + (num1 + num2)); System.out.println("num1 - num2 = " + (num1 - num2)); System.out.println("num1 * num2 = " + (num1 * num2)); System.out.println("num1 / num2 = " + (num1 / num2)); System.out.println("num1 % num2 = " + (num1 % num2)); } }
결과
복합 연산자
num = num + 5;
이를
num += 5;
로 표현할 수 있다. 또한 형변환을 달리 시켜주지 않아도 저절로 해준다.
class CompAssignOP{ public static void main(String[] args){ short num = 10; num = (short)(num + 77L); //형 변환 안하면 컴파일 오류 발생 int rate = 3; rate = (int)(rate * 3.5); //형 변환 안하면 컴파일 오류 발생 System.out.println(num); System.out.println(rate); num = 10; num += 77L; //형 변환 필요하지 않다 rate = 3; rate *= 3.5; //형 변환 필요하지 않다 System.out.println(num); System.out.println(rate); } }
결과
관계 연산자
두 개의 피연산자의 크기 와 동등한지 관계를 따져주는 연산자
class RelationOp{ public static void main(String[] args){ System.out.println("3 >= 2 : " + (3 >=2)); System.out.println("3 <= 2 : " + (3 <=2)); System.out.println("7.0 == 7 : " + (7.0 == 7)); System.out.println("7.0 != 7 : " + (7.0 != 7)); } }
결과
논리 연산자
&&, ||, !
&& => 두 개 모두 맞을 경우 true, 하나라도 틀리면 false
|| => 두 개중 하나만 맞아도 true, 둘 다 틀리면 false
! => 결과와 반대 출력
Short-Circuit Evaluation
&& 일 경우 앞에서 먼저 false가 나오면 무조건 false 이기 때문에 뒤의 식은 계산하지 않는다
|| 일 경우 앞에서 먼저 trye 가 나오면 무조건 true 이기 때문에 뒤의 식은 계산하지 않는다.
class SCE{ public static void main(String[] args){ int num1 = 0; int num2 = 0; boolean result; result = ((num1 += 10) < 0) && ((num2 += 10)>0); System.out.println("result = " + result); System.out.println("num1 = " + num1); System.out.println("num2 = " + num2+ '\n'); //'\n'은 개 행 result = ((num1 += 10) > 0) || ((num2 +=10) > 0); System.out.println("result = " + result); System.out.println("num1 = " + num1); System.out.println("num2 = " + num2); } }
결과
'Java > Basic' 카테고리의 다른 글
[Java_Basic]메소드와 변수의 스코프(윤성우의 열혈 Java 프로그래밍) (0) 2020.12.26 [Java Basic]실행 흐름과 컨트롤(윤성우의 열혈 Java 프로그래밍) (0) 2020.12.23 [Java_Basic]상수와 형 변환(윤성우의 열혈 Java 프로그래밍) (0) 2020.12.15 [Java_Basic]변수와 자료형(윤성우의 열혈 Java 프로그래밍) (0) 2020.12.14 [Java_Basic]자바 cmd창 컴파일(윤성우의 열혈 Java 프로그래밍) (0) 2020.12.11