Java
10.18.(화) Java-04: 연산자 예시
콜라든포비
2022. 10. 19. 19:45
연산자 예시
최우선 연산자는 말 그대로 모든 법칙의 우위에 있는 연산자이기 때문에 넘어가고, 2순위인 단항 연산자부터 살펴보자.
2) 단항 연산자
public class No_2 {
// (2) 단항 연산자 : ! ~ +/- ++/-- (전위형 연산자) (cast) 또는 (자료형)
public static void main(String[] args) {
byte a=10; // a=10
byte b=a; // b=a=10
System.out.println(a + "\t" + b);
short c=a;
int d=a;
System.out.println(c + "\t" + d);
int su=77;
byte imsi= (byte) su; // int가 더 큰 자료형이기 때문에 강제로 변환해줘야함
System.out.println(imsi);
int value=10;
int num=3;
float result=(float)value/num; // 10.0f / 3
System.out.println(result);
byte aa=10;
byte bb=20;
int cc=aa+bb; // 덧셈 뺄셈이 쓰이면 무조건 결과는 int로 변환된다
byte dd=(byte) (aa+bb);
System.out.println(cc);
System.out.println(dd);
System.out.println();
int kor=80;
int eng=90;
int mat=100;
int tot=kor+eng+mat;
float avg=(float) tot/3;
System.out.println(avg);
}
}
3) 산술 연산자
public class No_3 {
// (3) 산술 연산자 : * / % + -
public static void main(String[] args) {
int x=10;
int y=20;
int sum=x+y;
int sub=x-y;
int mul=x*y;
float div=(float) x/y;
int rem=x%3; // 나머지
System.out.println("합: " + sum);
System.out.println("차: " + sub);
System.out.println("곱: " + mul);
System.out.println("나누기: " + div);
System.out.println("나머지: " + rem);
System.out.println("" + 10 + 30); // 1030
System.out.println("합: "+ (10 + 30)); // 합: 40
// 내 소스에 입출력되는 데이터는 모두 문자열이다
}
}
4) 시프트 연산자
진도에 포함되지 않은 내용으로 넘어감
5) 비교 연산자
public class No_5 {
// (5) 비교 연산자 : < > <= >= == !=
public static void main(String[] args) {
int a=10;
int b=20;
boolean c=a>b; // 10 > 20 -> false
boolean d=a<b; // 10 < 20 -> true
boolean e=a>=b; // 10 >= 20 -> false
boolean f=a<=b; // 10 <= 20 -> true
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f + "\n");
int x=100;
int y=200;
boolean z=x==y; // 100 == 200 -> false
boolean zz=x!=y; // 100 != 200 -> true
System.out.println(z);
System.out.println(zz + "\n");
}
}
6) 논리 연산자
public class No_6 {
// (6) 논리 연산자 : & ^ | (이진 논리연자 and/or), && || (비교 같이 많이 쓰임)
public static void main(String[] args) {
byte a=10;
byte b=2;
// a 0000 1010
// b 0000 0010
// & 0000 0010 (and)
// | 0000 1010 (or)
// ^ 0000 1000 (xor)
System.out.println("a&b " + (a&b));
System.out.println("a|b " + (a|b));
System.out.println("a^b " + (a^b) + "\n");
// 나이 > 20 && 나이 < 30
// 역삼동 동사무소 (여성주민 출력 선물)
// 주민번호 앞,뒤 (남자 1,3,5 / 여자 2,4,6)
// 주민번호뒤 == 2 || 주민번호뒤 == 4 || 주민번호 == 6
int x=15;
boolean y=x>10&&x<20; // x > 10 (true) and x < 20 (true) --> true
boolean z=x==10||x==15; // x == 10 (false) or x == 15 (true) --> true
System.out.println(y);
System.out.println(z);
}
}
7) 삼항 연산자
public class No_7 {
// (7) 삼항 연산자 : 조건식 ? 참:거짓
public static void main(String[] args) {
int su=10;
String str=su==10 ? "True" : "False";
System.out.println(str);
int value=su > 20 ? 1:2;
System.out.println(value);
int i=20;
int j=30;
int k=i!=j ? i:j; // 자료형은 출력값의 형태에 따라 정해진다
System.out.println(k);
}
}
8) 대입 연산자
public class No_8 {
// (8) 대입 연산자 : = *= /= %= +=.= -= <<= >>= >>>= &= ^= !=
public static void main(String[] args) {
int num=100;
System.out.println(num);
System.out.println(num+=2); // num = num + 2
System.out.println(num-=2); // num = num - 2
System.out.println(num*=2); // num = num * 2
System.out.println((num/=2) + "\n"); // num = num / 2
}
}
9) 후위형 증감 연산자
2번에 있는 전위형이랑 작동방식이 똑같음.
처리되는 순서만 뒤로 빠져 있는 연산자.
10) 순차(컴마) 연산자
public class No_10 {
// (10) 순차(컴마) 연산자 : ,
public static void main(String[] args) {
int aa=10;
int bb=20;
int aaa=10, bbb=20, ccc=30;
}
}
각 연산자들이 어떻게 데이터를 처리하는지 예시를 통해 알아봤다.