자바의 연산자 종류
- 산술 연산자 : + - * / %
- 2항 연산자
int a = 10 , b = 3;
System.out.println(a+b); //13
System.out.println(a-b); // 7
System.out.println(a*b); // 30
System.out.println(a/b); // 3(몫) -> 정수 / 정수
System.out.println(a%b); // 1
System.out.println(10.0/3.0); //3.3333333333333335 ->실수/실수
- 나누기 연산자
System.out.println(10/3);-->3 //int / int = int
System.out.println(10/3.0);-->3.3333333 // int / double = double
System.out.println(10.0/3);-->3.3333333 // double / int = double
System.out.println(10.0/3.0);-->3.3333333 // double / double = double
- 오버플로우
int money1 = 2000000000;
int money2 = 1500000000;
System.out.println("잔액: " +(money1 +money2)); //int + int = int => 오버플로우 발생.
System.out.println("잔액: " +(money1 +(long)money2)); //int + long = long 로 변경
- 모든 산술 연산의 결과는 항상 자료형이 두 피연산자 중 더 큰 자료형으로 변환된다.
+ : 오버플로우 신경쓸것
- : 오버플로우 신경쓸것
* : 오버플로우 더욱 신경쓸것
/ : 오버플로우 발생 X , 소수 이하를 남길지말지
% : 신경 x
2. 비교연산자 : > , > = , < , < = , ==(equal) , ! = (not equal)
- 2항 연산자 , 피연산자는 모두 숫자
- 연산의 결과가 항상 true / false
- 문자열의 비교는 동등비교만 가능하고, 연산자(==,! =) 사용 불가능하고, equals()메소드 사용해야한다.String str1 ="홍길동";
String str2 ="홍길동";
String str3 ="아무개";
String str4 = "홍";
str4 = str4 +"길동";
System.out.println(str1 == str2);//true
System.out.println(str1 == str3);//false
System.out.println(str1 == str4);//false
System.out.println(str1.equals(str2)); // str1== str2
System.out.println(str1.equals(str4));// str1 == str4 // true
3. 논리연산자 : &&, || , !
- 2항 연산자 ( &&, || ) , 1항 연산자 ( ! )
- 피연산자를 반드시 boolean으로 가지고, 연산자의 결과를 boolean으로 반환.
- 피연산자를 가지고 특정한 규칙에 따라 연산의 결과를 반환.
- 1항 연산자
System.out.println(!true); //false
System.out.println(!false); // true
4. 대입 연산자 , 할당 연산자 : =
- 복합대입 연산자 : +=, -= , *= , /= , %=
- LeftValue = RightValue
n = n + 1;
n += 1;
n = n * 2;
n *= 2;
5. 증감 연산자 : ++, - -
- 1항 연산자
- 피연산자의 값을 +1, -1 누적시키는 연산자
- 연산자의 결과가 경우에 따라 달라진다.
- ++n : 전위 연산자 - 연산 우선 순위가 가장 높다.
- n++ : 후위 연산자 - 연산 우선 순위가 가장 낮다.
- 연산자 우선 순위
- 산술 연산자 > 비교 연산자 > 논리연산자 > 대입 연산자
- 증감연산자 > 산술 연산자 > 비교 연산자 > 논리연산자 > 대입 연산자 ->
++n- 산술 연산자 > 비교 연산자 > 논리연산자 > 대입 연산자 > 증감연산자 ->
n++
int num = 10;
int sum = 0;
sum = 20 + ++n; // ++n이 우선순이가 가장 높음
System.out.println(sum); // 31
num =10;
sum = 0;
sum = 20 + n++;
System.out.println(sum); // 30
System.out.println(num); // 11
**증감 연산자는 다른 연산자와 같은 문장에 작성하지 말것 **
++n;
sum = 20 + num;
sum = 20 + num;
n++;
6. 조건 연산자 : A ? B : C
- 3항 연산자 - A 값이 true 면 B , false 면 C .
- A : 조건(boolean) 값 ,
- B, C : 상수, 변수, 연산식 → 연산의 결과값
- B와 C 는 반드시 자료형이 동일해야한다.
System.out.println(true ? "참" : "거짓 ");
System.out.println(false ? "참 ": "거짓");
int age = 50;//사용자 입력
String result = (age >= 19 && age < 60) ? "성공" : "실패" ;
System.out.printf("입력하신 나이 %d세는 회원가입 %s입니다.",age,result);
//입력하신 나이 50세는 회원가입 성공입니다.
'프로그래밍 > Java' 카테고리의 다른 글
[JAVA]메소드 오버 로딩 , 재귀함수 (0) | 2021.08.19 |
---|---|
[JAVA] 생성자 (0) | 2021.08.12 |
[Java] 자료형 (0) | 2021.07.11 |