연산자(산술, 문자열, 우선순위, 증감, 비교, 논리, 대입)
중간에 글이 다 날아가서.. 컴팩트하게 다시 작성함 ㅜㅜ
산술 연산자
public class Operator1 {
public static void main(String[] args) {
int a = 5;
int b = 2;
int sum = a + b;
System.out.println("sum = " + sum);
int diff = a - b;
System.out.println("diff = " + diff);
int multi = a * b;
System.out.println("multi = " + multi);
int div = a / b; //형변환으로 인해 정수만 나옴
System.out.println("div = " + div);
int mod = a % b;
System.out.println("mod = " + mod);
double result = (double) a / b;
System.out.println("result = " + result);
// int zeroDivisionError = a / 0;
// Exception in thread "main" java.lang.ArithmeticException: / by zero at operator
}
}
문자열 더하기
문자열 + 정수의 경우 정수가 문자열로 자동 변환됨
public class Operator2 {
public static void main(String[] args) {
//문자열과 문자열 더하기1
String result1 = "hello" + "world";
System.out.println(result1);
// 더하기2
String s1 = "string1";
String s2 = "string2";
String result2 = s1 + s2;
System.out.println(result2);
// 문자열고 숫자 더하기
String result3 = "a + b = " + 7;
// 숫자가 문자열로 형변환됨.
System.out.println("result3 = " + result3);
int num = 20;
String str = "a + b = ";
String result4 = str + num;
System.out.println(result4);
}
}
연산 우선순위
상식적으로 괄호, 곱하기, 더하기 순 정도로 생각.
public class Operator3 {
public static void main(String[] args) {
int sum1 = 1 + 2 * 3;
System.out.println("sum1 = " + sum1);
int sum2 = (1 + 2) * 3;
System.out.println("sum2 = " + sum2);
int sum3 = 2 * 2 + 3 * 3;
System.out.println("sum3 = " + sum3);
int sum4 = (2 * 2) + (3 * 3);
System.out.println("sum4 = " + sum4);
}
}
증감 연산자
전위 증감 연산자 - 값 증감 먼저
후위 증감 연산자 - 연산 후 값 증감
public class OperatorAdd1 {
public static void main(String[] args) {
int a = 0;
a = a + 1;
System.out.println("a = " + a);
a = a + 1;
System.out.println("a = " + a);
//증감 연산자 변수의 값에 +1, -1
++a;
System.out.println("a = " + a);
--a;
System.out.println("a = " + a);
}
}
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도 2 b도 2
a = 1;
b = 0;
// 후위 증감 연산자
b = a++; //a의 현재값을 b에 먼저 할당하고, a의 값을 1을 증가시킴
System.out.println("a = " + a + ", b = " + b);
}
}
비교 연산자
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 result = (a == b);
System.out.println("result = " + result);
}
}
문자열 비교
==은 정확한 비교가 어려운 상황이 있기 때문에 .equals() 메서드 활용
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);
//command + d 아래줄로 해당 줄 복사 붙여넣기
System.out.println(result1);
System.out.println(result2);
System.out.println(result3);
//command shift enter -> 문장 완성
System.out.println("complete");
}
}
논리 연산자
public class Logical1 {
public static void main(String[] args) {
System.out.println("&& AND 연산");
System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && false);
System.out.println("|| OR 연산");
System.out.println(true || true);
System.out.println(true || false);
System.out.println(false || false);
System.out.println("! NOT 연산");
System.out.println(!true);
System.out.println(!false);
boolean a = true;
boolean b = false;
System.out.println(a && b);
System.out.println(a || b);
System.out.println(!a);
System.out.println(!b);
boolean result = a > 10 && a < 20;
boolean result2 = 10 < a && a < 20;
}
}
할당 연산자
(축약)복합 할당 연산자
public class Assign1 {
public static void main(String[] args) {
int num1 = 5;
num1 += 3;
num1 -= 2;
num1 *= 4;
num1 /= 3;
num1 %= 5;
System.out.println(num1);
}
}
학습 출처
'JAVA > Java Start' 카테고리의 다른 글
5. 반복문 (while, for, continue/break) (0) | 2024.01.20 |
---|---|
4. 조건문(if, switch, 삼항 연산자) (0) | 2024.01.15 |
2. 변수(variable)_(package, psvm) (0) | 2024.01.07 |
1. 기초 이론, 출력, 주석 (0) | 2023.12.29 |
0. JAVA 먹기 (0) | 2023.12.29 |