Q. 정수 2개 (A, B)를 입력받고 뺄셈의 값을 출력하라.
단, 양수로 출력할 것.
1
2
3
|
System.out.println("정수 2개 입력하세요.");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
|
cs |
방법1. <연산순서 바꿔주기> _ feat.삼항연산자
1
2
3
|
int result = num1>num2 ? num1-num2 : num2-num1;
System.out.println("==비교 후 연산순서 바꿔주기==");
System.out.println(result);
|
cs |
방법2. <마이너스(-) 부호 붙이기> _ feat.삼항연산자
1
2
3
4
|
int tmp = num1-num2;
int result2 = tmp<0 ? -(tmp) : tmp;
System.out.println("==== 마이너스 부호 붙이기 ====");
System.out.println(result2);
|
cs |
방법3. 비트연산자 이용 _ feat.삼항연산자
1
2
3
4
|
int tmp2 = num1-num2;
int result3 = tmp2<0 ? ~tmp2 : tmp2;
System.out.println("======= 비트연산자 =======");
System.out.println(result3+1);
|
cs |
방법4. 값의 위치를 바꾸기 _ feat. IF문
1
2
3
4
5
6
7
|
System.out.println("===IF를 이용한 값 위치 바꾸기===");
if(num1<num2) {
int numTemp = num1;
num1 = num2;
num2 = numTemp;
}System.out.println(num1-num2);
|
cs |
방법5. Math 함수 이용 (지금 아는 것을 그때도 알았더라면...ㅋ)
1
2
|
System.out.println("=====math 함수 이용=======");
System.out.println(Math.abs((num1-num2)));
|
cs |
※ 간략히 알아보는 삼항연산자 ※
위와같이 조건과 결과가 간단할 때 코드를 간소화하기 위해 사용된다.
<구조>
조건 ? 참일때 : 거짓일 때
ex) int result = num1>num2 ? num1-num2 : num2-num1;
ex) num1이 num2보다 크니?
그렇다면(?) num1에서 num2를 빼고
아니라면(:) num2에서 num1을 빼도록 해
그리고 그 값을 정수형 변수 result에 담아주도록 하라구~!
굳이 코드를 우리 말로 적어보자면 이런 의미가 되겠다.
'JAVA_Learn > Basic' 카테고리의 다른 글
#2. 별(*)찍기 _ 피라미드 (0) | 2021.12.09 |
---|---|
#1. JAVA _별 찍기 (*) (0) | 2021.11.22 |