728x90
반응형
연산자 종류
- 산술연산자: + , - , * , / , % (나머지연산자)
- 증감(증가 및 감소) 연산자: ++ , --
- 비교연산자: == , != , > , < , >= , <=
- 논리 연산자: && (AND), || (OR), ! (NOT)
- 대입연산자: = , += , -= , *= , /= , %=
- 삼항 연산자: ? :
산술 연산자
package operator;
public class Operator1 {
public static void main(String[] args) {
int a = 5;
int b = 2;
// 1. 덧셈
int sum = a + b;
System.out.println("a + b = " + sum);
// 4. 나눗셈
int div = 5 / 2;
System.out.println("a / b = " + div);
// 5. 나머지 연산
int mod = 5 % 2;
System.out.println("a % b = " + mod);
}
}
- 문자열은 + 로 연결해서 사용
- int형끼리 계산하면 결과도 int형을 사용
- 소수점 이하를 표함할 수 없음
- 나머지 연산자 %
0으로 나누기
- 예외 발생
Exception in thread "main" java.lang.ArithmeticException: / by zero
문자열 더하기
package operator;
public class Operator2 {
public static void main(String[] args) {
String result = "hello" + "world";
System.out.println(result);
// 문자열과 숫자 더하기
String result2 = "a + b = " + 10;
System.out.println(result2);
}
}
- 자바는 문자열에도 +연산자 사용 가능
- 두 문자를 연결하는 데 사용
- 문자열 과 숫자 더하기 가능
- 문자와 숫자를 더하면 숫자를 문자열로 변경한 다음에 서로 더한다
계산 과정
연산자 우선순위
package operator;
public class Operator3 {
public static void main(String[] args) {
int sum1 = 1 + 2 * 3;
int sum2 = (1 + 2) * 3;
System.out.println(sum1);
System.out.println(sum2);
}
}
- 일상속 수학과 동일
연산자 우선 순위
- 괄호 ()
- 단항 연산자 (예: ++ , -- , ! , ~ , new , (type) )
- 산술연산자 (* , / , % 우선,그다음에 + , - )
- Shift 연산자 ( << , >> , >>> )
- 비교 연산자 ( < , <= , > , >= , instanceof )
- 등식 연산자 (== , != )
- 비트 연산자 (& ,^ ,| )
- 논리 연산자 ( && , || )
- 삼항연산자 (? : )
- 대입 연산자 (= , += , -= , *= , /= , %= 등등)
기억할 것
- 상식선에서 우선순위를 사용하기
- 애매하면 괄호를 사용하자
- 코드를 보고 명확하고 이해하기 쉽게하기
- 복잡하면 명확하게 괄호를 넣기
- 개발에서 제일 중요한 것은 단순함과 명확함
증감 연산자
- ++ 나 - - 로 표현
- a = a + 1 을 ++a 로간단히표현할수있는것이바로증감연산자
전위, 후위 증감 연산자
package operator;
public class OperatorAdd2 {
public static void main(String[] args) {
int a = 1;
int b = 0;
b = ++a; // a의 값을 먼저 증가시키고, 그 결과를 b에 대입
System.out.println("a = " + a + ", b = " + b);
// 후위 증감 연산자 사용예
a = 1;
b = 0;
b = a++; // a의 현재 값을 b에 먼저 대입하고, 그 후 a 값을 증가시킴
System.out.println("a = " + a + ", b = " + b);
}
}
//a = 2, b = 2
//a = 2, b = 1
- ++a
- 전위(Prefix) 증감 연산자
- 증감 연산이 먼저 수행된 후 나머지 연산이 수행
- a++
- 후위(Postfix) 증감 연산자
- 다른 연산이 먼저 수행된 후 증감 연산이 수행
비교 연산자
package operator;
public class Comp1 {
public static void main(String[] args) {
int a = 2;
int b = 3;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a > b);
System.out.println(a < b);
System.out.println(a >= b);
System.out.println(a <= b);
// 결과를 boolean 변수에 담음
boolean result = a == b; // a == b: false
System.out.println(result);
}
}
- 두 값을 비교하는데 사용
- 주로 조건문과 함께 사용하여 불리언값을 사용
문자열 비교
- 문자열 비교는 ==이 아니라 .equals() 메서드를 사용
package operator;
public class Comp2 {
public static void main(String[] args) {
String str1 = "문자열1";
String str2 = "문자열2";
boolean result1 = "hello".equals("hello"); // 리터럴 비교
boolean result2 = str1.equals("문자열1"); // 문자열 변수, 리터럴 비교
boolean result3 = str1.equals(str2); // 문자열 변수 비교
System.out.println(result1);
System.out.println(result2);
System.out.println(result3);
}
}
// true
//true
//false
논리 연산자
- boolean형인 true, false를 비교
- && : 그리고
- || : 또는
- ! : 부정
package operator;
public class Logical2 {
public static void main(String[] args) {
int a = 15;
//a는 10보다 크고 20보다 작다
// boolean result = a > 10 && a < 20; // (a > 10) && (a < 20)
boolean result = 10 < a && a < 20;
System.out.println("result = " + result);
}
}
//result = true
- 범위를 나타내는 경우 이렇게 위와 같이 적어 코드의 가독성을 높임
대입 연산자
축약(복합)대입 연산자
- += , -= , *= , /= , %=
- 산술 연산자와 대입 연산자를 한번에 축약해서 사용
반응형
'코딩언어 > [인프런] JAVA 입문' 카테고리의 다른 글
6. 스코프, 항 변환 (0) | 2024.05.12 |
---|---|
5. 반복문 (0) | 2024.05.12 |
4. 조건문 (0) | 2024.05.01 |
2. 변수 (0) | 2024.04.28 |
1. Hello World (0) | 2024.04.28 |