날아라쩡글이의 블로그입니다.

대입, 비교, 조건, 삼항 연산자 (Operator) 본문

중앙 HTA (2106기) story/java story

대입, 비교, 조건, 삼항 연산자 (Operator)

날아라쩡글이 2021. 9. 1. 16:01
반응형

대입연산자 

연산자 우선순위가 가장 낮은 연산자이다. 

= 은 변수에 값을 대입한다는 의미로  int num = 10;이후  num = 5;을 적게 되면 num이라는 숫자가 5로 바뀌어 대입한다는 의미로 들어간다. 즉, 변수의 값을 새로운 값으로 변경한다는 의미이다. 

자바스트립트와 다른 프로그래밍 언어의 경우 동사적인 사고방식을 가지고 있고, 자바의 경우 명사적인 사고를 가지고 있다. 즉, 점수, 총점, 평균  ---> 값(result)의 값을 구해야하는 사고방식을 가지고 있는것이다. 

증감연산자 : 값을 다룰때 , 한번에 여러개의 값을 다룰때 사용을 한다. 

  • 증감 연산자의 경우 변수의 값을 1증가 시키거나 1감소를 시킬 때 사용을 한다. 
  • 단항 연산자로 앞이나 뒤로 적을 때 1씩 증가, 감소가 될 때 사용을 한다. 
  • 증감연산자는 위치에 따라 들어가는 값이 다르기 때문에 사용법이 권장되는 방법이 있다. 
  • 증감연산자와 다른 연산자를 조합해서 수행문을 작성하지 않는다. 
  • Ex) it 책 사이트를 확인할 때 , 한번에 책 여러개가 나옴.
  • Ex) 영화랭킹을 확인할 때 별점외에도 , 리뷰 등 여러개의 자료가 필요하다는 사실을 알 수 있다. 
  • 데이터를 여러개 다룰 때 사용한다. 그렇기 때문에 저장되는 방법으로는
  • Array와 List라고 불리우는 값을 여러개 가지고 있는 저장소는 Index라는 것을 가지고 있다. 
  • 그래서 이 배열을 호출할 때 변수의 이름처럼 호출하지 않고, 변수를 넣은 방 하나씩의 순번/index를 호출할 때 증감 연산자를 사용한다. 1씩 증가시키면서, 1씩 감소시키면서 한칸, 한칸씩 호출한다. 
  • 여러개의 값을 저장하는 방법으로는  앞에서 본것과 같이 
  • 1. 값의 갯수만큼 변수를 생성한다. 
  • 2. 값의 갯수만큼 저장소를 가진 배열/리스트를 하나 만들어서 변수가 참조하게 한다(선호된다) : 1. 하나의 변수명으로 여러개의 값을 다룰수 있다( 훨씬 경제적이다. ) 2. 값의 갯수만큼 변수를 생성하는 것보다 훨씬 경제적이다. 

 

비교연산자 

  • >= <= == != > <
  • 부등호가 먼저 적혀야하며, 사이에 공백이 있어서는 안된다.
  • 언제나 비교 연산자의 연산 결과는 boolean 타입의 값이다. 
  • 기준이 포함되냐 안되냐에 따라서 = 을 붙이거나 안붙인다. 
  • A보다 B가 더큰가 ?  ---> yes or no 의 값이 나오기때문에 boolean의 값을 제공하는 것이다. 

 

논리연산자 : 로직구조시 많이 사용을 한다. 

  • 논리곱, 논리합, 논리부정에 대한 연산을 수행한다 
  • 논리의 곱의 경우 &&(앰퍼샌트) , 논리합은 ||(파이프문자), 논리부정은 ! 으로 작성한다. 
  • !의 경우 true -> false , false -> true로 변하기 때문에 단항 연산자이다 
  • &&의 경우 둘 중에 두 개 모두 참이여야지 참, 좌항의 값이 false면 우항의 값을 확인하지 않고 논리식의 연산결과를 false로 판정한다. 
  • ||의 경우 둘 중에 하나라도 참이면 모두 참으로 수행한다. 좌항의 값이 true면 우항의 값을 확인하지 않고 논리시의 
  •  boolean  result = a > b || x > ++y; 
  • int num = z + y; 를 사용한 식이 있을경우 
  • a > b의 연산결과가 true인 경우 y값을 1증가시키는 동작이 실행되지 않고, 
  • a > b의 연산결과가 false인 경우 y값이 1씩 증가된다. 
  • 왜냐하면 true의 경우 좌항의 값만 확인하고 우항의 값을 확인하지 않기 때문이다.
  • 따라서 num의 결과는 논리식에서 a > b의 연산결과에 따라서 다른 값이 산출될 수 있다. 
  • 증감연산자와 다른 연산자를 조합해서 수행문을 작성하지 않는 다는 사실을 인식하면서, 위의 코드는
  • ++y;
  • boolean result = a > b ||  x > y ;
  • int num = z + y ;로 변경해서 사용을 해주어야한다. 
  • 논리 연산에 참여하는 값은 boolean타입의 값이거나 혹은 boolean타입의 값이여야한다. 
  • 복잡한 판정식을 만들어낼 수 있다. 

 

조건 연산자 : 삼항 연산자 

  • 조건식 ?   값 1  :   값 2  ----> 조건식 ?  연산식 1  :   연산식  2 
  • 조건식이 True면 , 값1 , 연산식 1이 대입된다.  false면 값2 , 연산식 2가 대입된다.
  • 조건식의 연산결과는 boolean 값이어야한다. 
  • 값 1과 값 2의 타입이 동일해야한다.  값을 대입 할 변수의 타입과 동일해야 대입이 가능하다. 

비트 , 시프트 연산자의 경우 암호화를 하는 실무에서 사용하기 때문에 따로 배우지 않는다. 

 

반응형
Comments