연산자

kxsxh·2024년 2월 4일
0

JAVA

목록 보기
11/16

연산자(operator)

연산에 사용되는 표시나 기호

연산자와 함께 연산되는 데이터 : 피연산자(operand) -> + - * =

연산자와 피연산자를 이용하여 연산의 과정을 기술한 것 : 연산식(expression)
-> x,y,z 변수


1. 산술 연산자

숫자 타입(byte, short, int, long, float, double)으로 결과값이 나옴

-  + - * / % (나머지)
int n = 10;
		System.out.println("n+3 = " + (n+3)); // n+3 = 13
		System.out.println("n-3 = " + (n-3)); // n-3 = 7
		System.out.println("n*3 = " + (n*3)); // n*3= 30
		System.out.println("n/3 = " + (n/3)); // n/3 =3 정수/정수 = 정수 (몫)
		System.out.println("(double) n/3 = " + ((double)n/3)); // 3.333333333333333
		System.out.println("n%3 = " + (n%3)); // n%3 = 1 10을 3으로 나누었을 때의 나머지 1
  • 비교 연산자와 논리 연산자는 논리 타입 (boolean)으로 결과값이 나온다

  • 연산식은 반드시 하나의 값으로 산출하며, 값 대신에 연산식을 사용할 수 있다


2. 증감 연산자

++ --

후위증감연산자(a++, b--;)

: 다른 연산을 다 마친 이후에 1씩 증감

전위증감연산자(++a, --b;)

: 맨 먼저 1씩 증감을 마친 이후에 다른 연산을 한다.

	int a = 7;
		int b = 8;
		
		System.out.println("a=> " + a);  // 7
		
		a++;
		System.out.println("a=> " + a); // 8
		
		++a;
		System.out.println("a => " + a); // 9 
		
		
		a++; b++;
		System.out.println(a+b); // 19
		
		
		int x = 10,  y = 11;
		int z = ++x;  // x = x+1
		System.out.println("z=> " + z );  // 11
		System.out.println("x=> " + x); // 11
		
		z = y++; // y = y+1
		System.out.println("z => " + z); //11
		System.out.println("y => " + x); // 11
		
		z = y--;
		System.out.println("z => " + z);//12
		System.out.println("y => " + x); //11
		

3. 논리 부정 연산자

!

boolean bool = false;
		   System.out.println("bool=>" + bool); // bool => false
		   System.out.println("!bool = > " + !bool); // !bool =>  true

4. 논리 연산자

& | && ||
* 수학에서는 T ∧ T ∧ F ===> F
* 수학에서는 T ∧ T ∧ T ===> T
			
* 수학에서는 T ∧ T ∧ F ===> T
* 수학에서는 T ∧ T ∧ T ===> T
* 수학에서는 F ∧ F ∧ F ===> F
 int c=50, d = 60, e=70;
		 
bool = (c > d) && (d < e) && ( c == e);
//false && 스킵 
 -> 처음부터 false가 나오면 어차피 결과물은 거짓이기 때문에 연산 x
System.out.println("bool => " + bool ); 
// bool => false
 bool = (c > d) && (d < e) && ( c == e);
// false & true & false
System.out.println("bool => " + bool );
// 속도는 &보다 &&가 더 빠르다
 bool = (c > d) || (d < e) || ( c == e);
// false || true || 스킵
//false && 스킵 -> 처음부터 false가 나오면 어차피 결과물은 거짓이기 때문에 연산 x
System.out.println("bool => " + bool ); 
// bool => true

bool = (c > d) | (d < e) | ( c == e);
// false | true |false
//false && 스킵 
System.out.println("bool => " + bool ); 
// bool => true
// 한개짜리와 두개짜리와 구분을 지어야 함
  • 한 개 짜리는 스킵하지 않음
  • 참일 때만 수행하고 FALSE가 나오면 실행안함
  • 만약에 TRUE가 나오면 스킵하면 안됌

IF

if(조건) { 실행해야할 명령; } ==> 조건이 참일때만 실행해야할 명령; 을 구동한다. ==> 조건이 거짓이라면 실행해야할 명령; 을 구동안한다.


5. 비교 연산자

== 같다 != 같지 않다
> 크다, < 작다 >= 같거나 크다, <= 같거나 작다

6. 할당 연산자(연산 후 대입 연산자)

int no = 1;
no +=3; // no = no + 3;와 같은 것이다.
System.out.println("no=" + no ); // no= 4
	
no-= 2; // no = no - 2;와 같은 것이다
System.out.println("no="+ no); // no = 2
	
no*= 5; // no = no * 5;와 같은 것이다
System.out.println("no="+ no); // no = 10
	
no/= 4; // no = no / 4;와 같은 것이다
System.out.println("no="+ no); // no = 2
	
no%= 3; // no = no % 3;와 같은 것이다
System.out.println("no="+ no); // no = 2
    

7. 삼항 연산자

변수선언 = (조건식)? 값1:값2;
	 
변수를 선언하고 나서 값을 부여하고자 할 때 사용되어지는데,
조건식이 참이라면 변수에 값1을 대입해주고 
만약에 조건식이 거짓이라면 변수에 값2를 대입해준다.
	 
int num1 = 50, num2 = 60;
int num3 = (num1 > num2) ? num1 : num2;
	
System.out.println("num3 => " + num3);
//num3 => 60

0개의 댓글