1) 연산자 : 기능이 있는 특수문자 또는 단어
1. 우선순위
-최우선 연산자 : ( ), .
-단항 연산자 : 형변환연산자, !
-산술 연산자 : +, -, *, /, %
-쉬프트 연산자 : <<, >>
-관계 연산자 : >, <, >=, <=, ==, !=
-논리 연산자 : &&, ||
-삼항 연산자 : ? :
-대입 연산자 : =
*최단산쉬 관리삼대*
2. 결합성
한 문장 안에 우선순위가 같은 연산자가 있을 때 맞는 방향으로 결합되는 성질
2) 산술연산자
a%b : a를 b로 나눈 나머지
3) 비트 연산
10 > [1][0][1][0]
11 > [1][0][1][1]
1. 이항 연산자
& (AND) 논리곱 : 두 비트가 모두 1일 때 1
10&11 > [1][0][1][0](2진법) > 10(10진법)
| (OR) 논리합 : 두 비트 중 하나라도 1이면 1
10 | 11 > [1][0][1][1] > 11
^ (XOR) 배타논리합 : 두 비트가 서로 다르면 1
10^11 > [0][0][0][1] > 1
2. 단항 연산자
~(NOT) 비트뒤집기 : 0은 1로, 1은 0으로 바꾼다(부호비트도 뒤집힌다)
~10 > (1) [0][1][0][1] > -11
~a > -(a+1)
*(1)은 양수 부호비트 (0)은 음수 부호비트
3. 쉬프트 연산자
<<
a<<b : a를 b만큼 좌로 비트이동
10<<1 : 10100 > 20
>>
a>>b : a를 b만큼 우로 비트 이동
10>>1 : 0101 > 5 마지막 0은 잘려나감
4) 조건식
결과가 참 또는 거짓, 둘 중 하나로 나오는 식
조건을 제시하는(부여하는) 식
자바에서는 0과 1 대신 false, true라는 값을 사용한다.
관계연산자, 논리연산자의 조합으로 만들어진다.
논리형 boolean 1byte true, false
1. 관계연산자
>, < : 초과, 미만
>=, <= : 이상, 이하
== : 같다
!= : 같지않다
2. 논리 연산자
A, B는 조건식으로 가정한다.
10>3 && 10 => false
10>3 && true => true
A && B : 두 조건식의 결과가 둘다 참이라면 참
A || B : 두 조건식의 결과가 하나만 참이어도 참
3. 단항 연산자
!A : 조건식의 결과가 true라면 false로, false라면 true로 변경
5) 삼항 연산자
(조건식) ? 값1 : 값2
조건식을 연산한 후 결과가 true라면 값1이 결과값, false라면 값2가 결과값
삼항연산자는 사용부분 통째로가 값이다.
경우의 수가 두가지의 값으로 나올 때 사용하는 것이 좋다. (예제는 세가지 값으로 나올 때를 구현해본 것)
6) 삼항연산자 실행예제
import java.util.Scanner;
public class OperTest2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("정수 : ");
int num = 0;
num = sc.nextInt();
String result = num > 0 ? "양수입니다." : num < 0 ? "음수입니다." : "이 수는 0입니다.";
System.out.println(result);
}
}
'Back-End > JAVA' 카테고리의 다른 글
[Java] 제어문(switch문) (0) | 2021.05.14 |
---|---|
[Java] 제어문(if문) (0) | 2021.05.14 |
[Java] 형변환(Casting) (0) | 2021.05.13 |
[Java] 입력(Scanner), next(), nextInt(), nextLine() (0) | 2021.05.13 |
[Java] 메소드,변수 (0) | 2021.04.18 |