Java - 연산자

구름·2022년 11월 12일

Java_1

목록 보기
4/19

  • 산술 연산자
    +: 덧셈 / -: 뺄셈 / / : 나눗셈 / % : 나머지 값을 출력

  • 증감 연산자
    ++ : 1씩 증가 / —: 1씩 감소

++ 가 앞에 있을 경우, 산술에서 값이 변화된 값으로 입력되지만

++가 뒤에 있을 경우, 산술 시 값이 변화하지 않고 이전 값으로 먼저 처리 한다. 단 변수의 값은 변한다.

int value3 = 3;
		int value4 = ++value3;
		
		System.out.println(value3); //4
		System.out.println(value4); //3 
		System.out.println();
		
		int value5 = 3;
		int value6 = ++value5;
		System.out.println(value5); // 4
		System.out.println(value6); // 4
Int value9 = 2 + value7-- + ++value8; // 2 + 3 + 5

비트연산자

  • AND
  • OR(|)
  • XOR ( ^ )
  • NOT ( ~ )

크기 비교 연산자 VS 등가 비교 연산자

  1. 크기 비교 연산자

    ,<,<=,=> => 결과 값은 TRUE FAISE 로 출력

  2. 등가 비교 연산자 ( ==, !=)
    같거나, 같지 않다.
  • Stack 메모리 값을 비교,

    == : 값이 같을 때 true, 다르면 false
    !=: 값이 다를때 true, 값이 같을때 true

  • String, 참조 자료형의 리터럴을 비교할때 ==,!= 사용불가
    : String 객체는 메모리 값이 Heap의 영역에 저장이 되어 비교를 메모리의 주소를 비교하는데
    변수의 값이 같아도 false가 출력되기 때문에
    객체 변수 .equals (eqals) : Heap 영역의 값을 비교하는 Method 다

논리연산자 vs 비트연산자

1.논리연산자 ( AND ( && ) , OR (||) , XOR( ^ ), NOT ( ! ) )

  • 쇼트 서킷이 발생한다. 결과가 이상하게 출력이 될 수 도 있다.

    쇼트서킷이란?
    : 논리 연산자에서 앞의 내용으로 뒤의 내용을 보지 않아도 값이 판별이 가능하면 뒤의 값은 처리하지 않는 것

1-1. AND ( && ) // 쇼트서킷 발생
: true && true ==> true
false && true ==> false
true && false ==> false
false && false ==> false
=> 앞에 false 가 있으면 뒤에 어떤 값이 있어도 false 를 출력한다.

   System.out.println( true && true);  	//true 
	System.out.println( true && false);		//false
	System.out.println( false && true);		//false
	System.out.println( false && false);	//false
  

1-2 OR (||) // 쇼트 서킷 발생
: 두 개의 값 중 하나라도 true 일 경우 true

		System.out.println(true || true);		 //true
		System.out.println(true || false);		//true
		System.out.println(false || true );		//true
		System.out.println(false || false);		//false

1-3 XOR ( ^ ) : 두 값이 같을 때 false , 다를 때 true


		System.out.println(true ^ true);    //false
		System.out.println(false ^ false);   //false
		System.out.println(true ^ false);	//true
		System.out.println(false ^ true);	//true
		System.out.println(false ^ (5 < 2));  //false
		System.out.println( (10 > 20 ) ^ ( 30 > 20));   //true

1-4 NOT (!) : true 일때 false , false 일때 true / 논리 연산자에서 NOT 연산자 없다

  		System.out.println( ! true );	//false
		System.out.println( ! false );   //true
		System.out.println(false || (5 < 3));   //false
		System.out.println(false || ! (5 < 3));   //true
		System.out.println( ! false || ! (5 < 3));   //true

비트 연산자로 논리 연산이 가능하다. <= 쇼트 서킷을 발생하지 않도록 처리

AND ( & ) , OR ( | ) , XOR ( ^ ), NOT ( ~ )


		System.out.println( true && true ) ; //쇼트 서킷이 발생 되지 않는다. 뒤의 값을 반드시 확인 
		System.out.println(false && true);   //쇼트 서킷이 발생
       //And 연산자에서 처음 값이 false 가 오게되면 뒤의 어떤 값이 오더라도 false
       	System.out.println(true || true);   // 쇼트 서킷이 발생됨 
			//OR 연산에서 처음 값이 true 이면 쇼트 서킷이 발생됨
           => 이런 경우 비트 연산자 (&,|) 사용햐서 쇼트 서킷 발생 및 방지 할 수 있다. 
       
profile
내가 보려고 하는 업데이트

0개의 댓글