No. 01 |
|
| |
증감 연산자 ++ -- |
증감연산자는 변수 자신의 값을 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 | public class Operator { public static void main(String[] args) { //증감 연산자의 독립 사용 int i = 1; i++; // i = i + 1;과 같다. System.out.println("i++의 결과 :"+i); i = 1; ++i; // i = i + 1;과 같다. System.out.println("++i의 결과 :"+i); i = 1; i--; // i = i - 1;과 같다. System.out.println("i--의 결과 :"+i); i = 1; i--; // i = i - 1;과 같다. System.out.println("--i의 결과 :"+i); }//main }//class |
실행 결과
i++의 결과 : 2
++i의 결과 : 2
i--의 결과 : 0
--i의 결과 : 0
위의 예제처럼 단독으로 증감 연산자를 사용시 연산자를 사용한 위치에 대한 결과의 차이가 없다.
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 | public class Operator { public static void main(String[] args) { //증감 연산자의 독립 사용이 아닐 때 int i = 1, j = 0; j = i++; // 연산 과정 : 1] j = i를 실행, 2] i를 1 증가 System.out.printf("j = i++의 결과 : i=%d, j=%d%n",i,j); i = 1; j = 0; j = ++i; // 연산 과정 : 1] i를 1증가, 2] j = i를 실행 System.out.printf("j = ++i의 결과 : i=%d, j=%d%n",i,j); i = 1; j = 0; j = i--; // 연산 과정 : 1] j = i를 실행, 2] i를 1 감소 System.out.printf("j = i--의 결과 : i=%d, j=%d%n",i,j); i = 1; j = 0; j = --i; // 연산 과정 : 1] i를 1감소, 2] j = i를 실행 System.out.printf("j = --i의 결과 : i=%d, j=%d%n",i,j); }//main }//class |
실행 결과
j = i++의 결과 : i=2, j=1
j = ++i의 결과 : i=2, j=2
j = i--의 결과 : i=0, j=1
j = --i의 결과 : i=0, j=0
· 증감 연산자가 단독으로 사용되지 않은 경우 연산자의 위치에 따른 결과는 다르다. 그러므로 사용시 위치에 주의해서 사용해야 한다.
· 뒤에 사용할 때는 앞의 식을 먼저 실행시킨후 자신의 값을 증가시키거나 감소시킨다.
· 앞에 사용할 때는 자신의 값을 증가시키거나 감소시킨후 식을 계산한다.
No. 02 |
|
| |
조건 연산자 ? : |
조건 연산자는 세 개의 피연산자로 구성되어 삼항 연산자라고도 한다.
조건 연산자
조건식 ? 식1 : 식2
- 조건식이 참(true)일 때 결과는 식1의 값이 된다.
- 조건식이 거짓(false)일 때 결과는 식2의 값이 된다.
- 조건식을 괄호()로 둘러싸면 가독성을 높일 수 있지만 필수는 아니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class Operator { public static void main(String[] args) { //조건 연산자 ? : int a = 10, b = 20; int result; // 1] 변수를 사용하여 저장 result = (a>b)? (a-b) : (b-a); System.out.println("1] 두 수의 차이 : "+result); // 2] 변수를 사용하지 않고 바로 출력 System.out.println("2] 두 수의 차이 : "+ ((a>b)? (a-b) : (b-a))); }//main }//class |
실행 결과
1] 두 수의 차이 : 10
2] 두 수의 차이 : 10
변수를 사용하여 저장할 수도 있고, 다른 연산과 바찬가지로 바로 print문 안에 사용하여 결과를 출력할 수도 있다.
두 수의 차이를 구하는 것이기 때문에 a에서 바로 b를 빼버리면 b가 클 경우 '-'값이 나오기 때문에 조건 연산자로 차이값만을 구할 수 있도록 하였다.
a>b보다 크다는 조건식이 참이면 a에서 b를 바로 빼고, 거짓이면 b에서 a를 빼서 차이값을 구한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import java.util.Scanner; public class Operator { public static void main(String[] args) { //조건 연산자 ? : Scanner scanner = new Scanner(System.in); System.out.println("알파벳인지 판단할 문자를 입력하세요."); String strC = scanner.nextLine(); char c = strC.charAt(0); System.out.println((('a'<=c && c<='z') || ('A'<=c && c<='Z'))? "입력한 문자는 알파벳이다.": "입력한 문자는 알파벳이 아니다."); }//main }//class |
실행 결과
알파벳인지 판단할 문자를 입력하세요.
ㄱ
입력한 문자는 알파벳이 아니다.
조건식에 따른 결과로 수식뿐만 아니라 문자열도 나오게 할 수 있다.
'JAVA' 카테고리의 다른 글
[Java 17] 조건문 - if, switch (0) | 2017.11.27 |
---|---|
[Java 15] 논리 연산자, 비트 연산자, 쉬프트 연산자 (0) | 2017.11.25 |
[Java 14] 비교 연산자 (0) | 2017.11.23 |
[Java 13] 산술 연산자 (0) | 2017.11.22 |
[Java 12] 연산자란? (0) | 2017.11.21 |