Back-End/Java
[Java] 연산자 - 사칙, 비트, 조건, 누적, 삼항 / 퀴즈 만들어보기
nanee_
2021. 6. 15. 01:25
728x90
반응형
SMALL
연산자
: 기능이 있는 특수문자
사칙 연산
public class Arithmetic {
pulbic static void main(String[] args) {
int a, b;
a = 10;
b = 3;
System.out.println("a + b = ", + (a + b)); // 덧셈
System.out.println("a - b = ", + (a - b)); // 뺄셈
System.out.println("a * b = ", + (a * b)); // 곱셈
System.out.println("a / b = ", + (a / b)); // 나눗셈
System.out.println("a % b = ", + (a % b)); // 나머지연산
}
}
13
7
30
3.3333333
1
비트 연산
& | AND | 둘 다 1일 때 1, 아니면 0 |
| | OR | 둘 중 하나라도 1일 때 1, 아니면 0 |
^ | XOR | 두 비트 숫자가 다를 때 1, 아니면 0 |
~ | NOT | 0(+) → 1(-), 1 →0 으로 변환 ex) ~0 = -1, ~a = -a-1, ~10 = -11 |
<< | LEFT SHIFT | - 좌로 비트 이동 (값이 커질 수 도 있다.) * 비트가 넘어가면 버려지고, 빈자리는 0으로 채워진다. |
>> | RIGHT SHIFT | - 우로 비트 이동 (값이 무조건 작아진다.) * 비트가 넘어가면 버려지고, 빈자리는 0으로 채워진다. |
public class OperatorBit {
pulbic static void main(String[] args) {
int a = 3;
int b = 6;
Sysout.out.println(a & b); // AND
Sysout.out.println(a | b); // OR
Sysout.out.println(a ^ b); // XOR
Sysout.out.println(~a); // NOT
Sysout.out.println(a << b); // LEFT SHIFT
Sysout.out.println(a >> b); // RIGHT SHIFT
}
}
2
7
5
-4
192
0
조건연산자(비교연산자)
: 조건식에서 쓰이는 연산자
*(조건식 : 결과가 true 또는 false 단 2개만 나오는 식)
== | 같다 |
!= | 같지 않다 |
> < |
초과 미만 |
>= <= |
이상 이하 |
&& | (AND) 둘 다 참이여야 참 |
|| | (OR) 둘 중 하나라도 참이면 참 |
! | (NOT) 참이면 거짓, 거짓이면 참 |
public class OperTest {
public static void main(String[] args) {
System.out.println(10 == 20); // false
System.out.println(10 == 10 && 20 > 30); // false
System.out.println(10 == 10 || 20 > 30); // true
System.out.println(10 > 30); // false
System.out.println(!(10 > 30)); // true
}
}
false
false
true
false
true
누적연산자
+=, -=, *=, /=, ++, --
public class Oper {
public static void main(String[] args) {
int money = 0;
int data = 10;
// 누적연산자 +=, -=
money += 5000000;
System.out.println(money);
//data += 1;
System.out.println(data++); // data 출력 후 1증가
System.out.println(++data); // 1증가 후 data 출력
//data -= 1
System.out.println(data--); // data 출력 후 1감소
System.out.println(--data); // 1감소 후 data 출력
}
}
500000
10
12
12
10
* 연산 우선순위에 따라서 계산된다.
삼항연산자
조건식 ? true : false;
- 이중 삼항연산자
조건식 ? true : 조건식 ? true : false;
- 이중 삼항 연산자를 이용한 퀴즈 만들어보기
import java.util.Scanner;
public class Quiz {
public static void main(String[] args) {
String q = "Q. 엔시티 멤버가 아닌 사람은?\n"
+ "1. 김도영\n"
+ "2. 백현\n"
+ "3. 나재민\n"
+ "4. 이제노\n";
Scanner sc = new Scanner(System.in);
int choice = 0;
int answer = 2;
String result = "";
System.out.println(q);
choice = sc.nextInt();
// 이중 삼항 연산자 true false(ture) false(false)
result = choice == answer ? "정답입니다." : choice != answer ? "오답입니다" : "?";
System.out.println(result);
}
}
728x90
반응형
LIST