Programing/JAVA

자바 연산자 연습

Dongkkase 2008. 12. 7. 02:43
반응형
자바 연산자에대한 연습을 해보십다.
아래의 코드를 순서대로 따라 타이핑 쳐보고 응용해봅시다.


/*연산자
	산술 : +, -, /, *, %
	연산후 대입 : +=, -=, *=, /=, %=
	후치 : a++, a--
	전치 : ++a, --a
	비교 : <, >, <=, >=, ==, !=
	논리 : &&, ||, !
*/
public class MyOperator {
	public static void main(String args[]){
		//기본연산자
		System.out.println("10+20="+ (10+20));
		System.out.println("9%3 ="+ (9%3));
		System.out.println("10%3 ="+ (10%3));
		
		//연산후 대입연산자.
		int i=10;
		i +=3;	//i= i+3;
		System.out.println("i="+i);
		
		//증가, 감소 연산자.
		int a=10;
		int b=3;
		int c=3;
		int d=0;
		
/*		System.out.println("b="+ ++b);
		System.out.println("c="+ c++);
		System.out.println(c);
		//후치 연산자와 전치 연산자는 차이가 조금 있다..
*/
		d = ++a - --b * c--;	//11 - 2 * 3 = ?
		System.out.println(d);
		//연산 순위는 * 가 -나+보다 연산순위가 높다.
		
		//++a, a=a+a, a+=1 : 모두 같다.
		//a++ 후위식은 해당 문장끝나고 실행
		
		//비교 연산자(<, >, <=, >=, ==, !=)
		int e, f;
		boolean ok;
		e = 10;
		f = 20;
		
		ok = (a==b);
		System.out.println(ok);

		ok = (a!=b);
		System.out.println(ok);
		
		if(e > f){
			System.out.println("e가 f보다 크다.");
		}else if(e == b){
			System.out.println("e와 f는 같다.");
		}else{
			System.out.println("f가 a보다 크다.");
		}
		
		
		
		/*
		논리 연산자.[&&(and), ||(or), !(not)]
		────────────┬────────────────
		x     y     │&&     ||     !y
		────────────┼────────────────
		0     0     │ 0     0     1
		0     1     │ 0     1     0
		1     0     │ 0     1     1
		1     1     │ 1     1     0			
		────────────┴────────────────
		*/
		
		int j = 10;
		int k = 20;
		boolean result;
		result = (j==k) && (j!=k);	//false && true
		System.out.println("result="+result);
		
		result = (j!=k) || (j==k);	//true && false 
		//or 연산일 경우 둘중 true인 것을 앞으로 빼는게 좋다.
		System.out.println("result="+result);
		
		result = !(j==k);	// false 인데 앞에
						//!(not)으로 인해 true
		System.out.println("result="+result);
		
		//3항 연산자.
		int v1 = 10;
		int v2 = 20;
		
		if(v1 > v2){
			System.out.println("v1이 크다.");
		}else{
			System.out.println("v2가 크다.");
		}
		
		String str = v1>v2 ? "v1이 크다." : "v2가 크다";
		//'v1>v2' 가 true일 경우 앞의 문장인
		//'v1이 크다.'가 'str'에 담기고
		//'v1>v2'가 false일 경우 뒤의 문장인
		//'v2가 크다.'가 str에 담긴다.
		//아주 간단한 if/else일 경우 이렇게 쓰는게 
		//조금더 편하지 않을까 싶다.
		System.out.println(str);
		
	}
}


반응형