JAVA chapter 03. 연산자. 3.4 이항 연산자 3.5 삼항 연산자
JAVA/CONCEPT 2018. 1. 25. 17:15 |JAVA chapter 03. 연산자.
3.4 이항 연산자
3.4.1 산술 연산자(+,-,*,/,%)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | package sec04.exam01_arithmetic; public class ArithmeticOperatorExample { public static void main(String[] args) { int v1 = 5; int v2 = 2; int result1 = v1 + v2; System.out.println("result1=" + result1); int result2 = v1 - v2; System.out.println("result2=" + result2); int result3 = v1 * v2; System.out.println("result3=" + result3); int result4 = v1 / v2; System.out.println("result4=" + result4); int result5 = v1 % v2; System.out.println("result5=" + result5); double result6 = (double) v1 / v2; System.out.println("result6=" + result6); } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 | package sec04.exam01_arithmetic; public class CharOperationExample { public static void main(String[] args) { char c1 = 'A' + 1; char c2 = 'A'; //char c3 = c2 + 1; //컴파일 에러 // char c3 = (char) (c2 + 1); System.out.println("c1: " + c1); System.out.println("c2: " + c2); //System.out.println("c3: " + c3); } } | cs |
// 이진 포맷의 가수를 사용하는 부동소수점 타입(float, double)은 0.1을 정확히 표현할 수 없어 근사치로 처리하기 때문이다.
// 정확한 계산이 필요하다면 정수 연산으로 변경해서 다음과 같이 계산해야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | package sec04.exam01_arithmetic; public class InfinityAndNaNCheckExample { public static void main(String[] args) { int x = 5; double y = 0.0; double z = x / y; //double z = x % y; System.out.println(Double.isInfinite(z)); System.out.println(Double.isNaN(z)); //잘못된 코드 System.out.println(z + 2); //알맞은 코드 if(Double.isInfinite(z) || Double.isNaN(z)) { System.out.println("값 산출 불가"); } else { System.out.println(z + 2); } //--------------------------------------------------- /*int x = 5; int y = 0; try { //int z = x / y; int z = x % y; System.out.println("z: " + z); } catch(ArithmeticException e) { System.out.println("0으로 나누면 안됨"); }*/ } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 | package sec04.exam01_arithmetic; public class InputDataCheckNaNExample1 { public static void main(String[] args) { String userInput = "NaN"; double val = Double.valueOf( userInput ); double currentBalance = 10000.0; currentBalance += val; System.out.println(currentBalance); } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package sec04.exam01_arithmetic; public class InputDataCheckNaNExample2 { public static void main(String[] args) { String userInput = "NaN"; double val = Double.valueOf(userInput); double currentBalance = 10000.0; if(Double.isNaN(val)) { System.out.println("NaN이 입력되어 처리할 수 없음"); val = 0.0; } currentBalance += val; System.out.println(currentBalance); } } | cs |
3.4.2 문자열 연결 연산자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package sec04.exam02_string_concat; public class StringConcatExample { public static void main(String[] args) { String str1 = "JDK" + 6.0; String str2 = str1 + " 특징"; System.out.println(str2); String str3 = "JDK" + 3 + 3.0; String str4 = 3 + 3.0 + "JDK"; System.out.println(str3); System.out.println(str4); } } | cs |
3.4.3 비교 연산자(==, !=, <, >, <=, >=)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package sec04.exam03_compare; public class CompareOperatorExample1 { public static void main(String[] args) { int num1 = 10; int num2 = 10; boolean result1 = (num1 == num2); boolean result2 = (num1 != num2); boolean result3 = (num1 <= num2); System.out.println("result1=" + result1); System.out.println("result2=" + result2); System.out.println("result3=" + result3); char char1 = 'A'; char char2 = 'B'; boolean result4 = (char1 < char2); System.out.println("result4=" + result4); } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package sec04.exam03_compare; public class CompareOperatorExample2 { public static void main(String[] args) { int v2 = 1; double v3 = 1.0; System.out.println(v2 == v3); //true double v4 = 0.1; float v5 = 0.1f; System.out.println(v4 == v5); //false System.out.println((float)v4 == v5); //true System.out.println((int)(v4*10) == (int)(v5*10)); //true } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package sec04.exam03_compare; public class StringEqualsExample { public static void main(String[] args) { String strVar1 = "신민철"; String strVar2 = "신민철"; String strVar3 = new String("신민철"); System.out.println( strVar1 == strVar2); System.out.println( strVar1 == strVar3); System.out.println(); System.out.println( strVar1.equals(strVar2)); System.out.println( strVar1.equals(strVar3)); } } | cs |
3.4.4 논리 연산자(&&, ||, &, |, ^, !)
// &&는 앞의 피연산자가 false라면 뒤의 피연산자를 평가하지 않고 바로 false라는 산출 결과를 낸다.
// ||는 앞의 피연산자가 true라면 뒤의 피연산자를 평가하지 않고 바로 true라는 산출 결과를 낸다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | package sec04.exam04_logical; public class LogicalOperatorExample { public static void main(String[] args) { int charCode = 'A'; if( (charCode>=65) & (charCode<=90) ) { System.out.println("대문자 이군요"); } if( (charCode>=97) && (charCode<=122) ) { System.out.println("소문자 이군요"); } if( !(charCode<48) && !(charCode>57) ) { System.out.println("0~9 숫자 이군요"); } int value = 6; if( (value%2==0) | (value%3==0) ) { System.out.println("2 또는 3의 배수 이군요"); } if( (value%2==0) || (value%3==0) ) { System.out.println("2 또는 3의 배수 이군요"); } } } | cs |
3.4.5 비트 연산자(&, |, ^, ~, <<, >>, >>>)
3.4.6 대입 연산자(=, +=, -=, *=, /=, %=, &=, ^=, !=, <<=, >>=, >>>=)
3.5 삼항 연산자
'JAVA > CONCEPT' 카테고리의 다른 글
JAVA chapter 06. 클래스. 6.8 메소드 (0) | 2018.01.26 |
---|---|
JAVA chapter 04. 조건문과 반복문. 4.3 반복문 (for문, while문, do-while문) (0) | 2018.01.25 |
JAVA chapter17. javaFX. 17.10 JavaFX CSS 스타일(3) (0) | 2018.01.21 |
JAVA chapter17. javaFX. 17.10 JavaFX CSS 스타일(2) (0) | 2018.01.21 |
JAVA chapter17. javaFX. 17.7 JavaFX 컨트롤(2) (0) | 2018.01.19 |