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;
	
	}

}

 

각 연산자들이 어떻게 데이터를 처리하는지 예시를 통해 알아봤다.