[2]-3 연산자, 수식

지오니모·2022년 7월 26일
0

Java

목록 보기
4/12

연산자

연산자는 특정한 연산을 나타내는 기호이고,
피연산자는 연산의 대상이다.

자바에서 지원하는 연산자


수식

수식이란 상수나 변수, 함수와 같은 피연산자들과 연산자들의 조합이다.

ex)

int x,y
x = 3;
y = x*x-5*x+6;
System.out.println(y);

대입연산자

  • 대입 연산자(=)는 왼쪽 변수에 오른쪽 수식의 값을 계산하여 저장
  • 대입 연산자 == 할당 연산자 == 배정 연산자라고도 한다.
    x = 10; // 상수 10을 변수 x에 대입한다.
  • 계산식이 끝난 후에 값을 할당하기 때문에 int형에서 double형으로 형 변환만 하게 된다
ex)
int x, y;
x = 10;
y = 3;  


double sum = x/y;
System.out.println(sum);

산술연산자

ex)
System.out.println(x+y);
System.out.println(x-y);
System.out.println(x*y); 
System.out.println(x/y);  //int끼리 나누면 int형으로 나옴
System.out.println(x%y);  //int끼리 나머지는 int형으로 나옴



🏁연습문제 (산술연산자)

  • 문제 :
    int를 사용하여 변수 sum 선언 후 10+20+30+40+50 값을 출력하라.
    int를 사용하여 변수 mult 선언 후 10x20x30x40 값을 출력하라.
    int를 사용하여 변수 sum 선언 후 10x(20+30)+40 값을 출력하라.
int sum, multi, sum;
		
sum = 10+20+30+40+50;
multi = 10*20*30*40;
sum = 10*(20+30)+40;
		
System.out.println(sum);
System.out.println(multi);
System.out.println(sum);
		



🏁연습문제 (산술연산자)

  • 문제 : int result, resultRest; 를 만들고 80/3, 80%3 값을 출력하라.
int result, resultRest;

result = 80/3;
resultRest = 80%3;
System.out.println(result);   //몫: 26
System.out.println(resultRest);  //나머지: 2
System.out.println(26*3+2);  //80이 나오므로 계산 확인



나머지 연산자의 계산결과의 특징
1. 항상 정수로만 나온다
2. 값의 범위가 정해져 있다 (0 ~ 나누는 수)



🏁연습문제 (자료형 double)

  • 문제 : double resultDouble; 를 만들고 80.0/3.0 값을 출력하라.
double resultDouble = 80.0/3.0;
System.out.println(resultDouble);  //소수점 자리까지 나옴
		

자료값 double은 소수점자리까지 출력한다.



연산자 결합규칙
연산자 우선순위 *, /, % => +, -



🚩연습

  • println을 통해 두식의 결과를 확인해보자
30.0/20+30-10*2
30/20+(30-10)*2
	    
System.out.println(30.0/20+30-10*2); //11.5 실수형이 존재해서 실수로 출력
System.out.println(30/20+(30-10)*2); //41 정수형만 존재해서 정수으로 출력



🚩연습 (단항연산자)

int a = +10;  //+붙어서 양수됨(붙이지 않아도 양수)
int b = -10;  //-붙여서 음수됨
	    
System.out.println(a);
System.out.println(b);



🚩연습 (전위 단항연산자(++, --))

  • ++, --: 다른 연산을 하기 전에 1증가, 1감소 한다
int c = ++a;  //변수(a) 앞에 사용해서 a 값이 증가한다.
System.out.println(c);
        
++a;  //a의 값이 1증가 : 12
System.out.println(a);

	    
 --a;  //a의 값이 1감소 : 11
System.out.println(a);



🚩연습 (후위 단항연산자(++, --))

  • ++, -- : 모든 연산이 끝난 후에 값을 1증가, 1감소 시킨다
int d = a++;
System.out.println(d);  //11 : 값을 증가시키기 전에 들어간 값
System.out.println(a);  //12 : 이후에 1을 증가시킴
	    
a++;  //a의 값이 1증가함 : 13
System.out.println(a);



🏁연습문제 (단항연산자)

  • 문제 :
    int minusX = 1;
    int minusY = 1;
    System.out.println(minusX--)와
    System.out.println(--minusY)을 출력하고
    각각 x,y를 출력해 확인하자.
int minusX = 1;
int minusY = 1;	    

//후위연산자를 사용해서 먼저 값이 출력된 후에 1이 감소한다

System.out.println(minusX--) ; //1

//전위 연산자를 사용해서 값을 1감소한 후에 출력된다

System.out.println(--minusY); //0
System.out.println(minusX); //0	
System.out.println(minusY); //0



복합대입연산자

복합 대입연산자
동일한 변수에서 값을 바꿔서 혹은 계산해서 사용할 때 쓰는 방법

복합대입연산자 사용방법 : (*=, /=. %=, +=, -=)



🚩연습

  • 10, 20, 30, 40을 더해서 결과값 확인하기
int sum3 = 10+20+30+40;  //한꺼번에 더해서 계산하는 법

  • 만약 한꺼번에 계산할 수 없고 한 코드가 끝날 때 그 값을 추가해서 더해야 하는 경우
int sum3 = 0;  //처음 값
		
//sum3 = 10;    //sum3에 값이 대입해서 들어감(할당)
sum3 = sum3 +10;  //0(sum3) + 10 : 10
sum3 = sum3 + 20;  //10(sum3) + 20 : 30
sum3 = sum3 + 30;  //30(sum3) + 30 : 60
sum3 = sum3 + 40;  //60(sum3) + 40 : 100
sum3 = sum3 + 40;  //60(sum3) + 40 : 100
System.out.println(sum3);

int mult2 = 1;
	    
//mult2 = mult2 * 10;
mult2 *= 10;  //곱셈과 대입연산자를 복합해서 사용
	    
System.out.println(mult2);

🚩연습

int sum4 = 0;
sum4 += 10;
System.out.println(sum4);  //10
	    
int multi3 =1;
multi3 *=20;
System.out.println(multi3);  //20



관계연산자

관계연산자(==, !=, >, <, >=, <=)
: 관계연산자의 결과값은 항상 참/거짓이다 (boolean값)

System.out.println( 10 == 10 );  //true
System.out.println( 10 == 100  );  //false



int score = 50;
//score 값이 60보다 크면 합격(true), 작으면 탈락(false)
System.out.println(  score > 60  );  
	    
profile
프론트엔드 지망생

0개의 댓글

관련 채용 정보