연산자는 특정한 연산을 나타내는 기호이고,
피연산자는 연산의 대상이다.
자바에서 지원하는 연산자
수식이란 상수나 변수, 함수와 같은 피연산자들과 연산자들의 조합이다.
ex)
int x,y x = 3; y = x*x-5*x+6; System.out.println(y);
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, 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;
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;
System.out.println(resultDouble); //소수점 자리까지 나옴
자료값 double은 소수점자리까지 출력한다.
연산자 결합규칙
연산자 우선순위 *, /, % => +, -
🚩연습
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;
//후위연산자를 사용해서 먼저 값이 출력된 후에 1이 감소한다
System.out.println(minusX--) ; //1
//전위 연산자를 사용해서 값을 1감소한 후에 출력된다
System.out.println(--minusY); //0
System.out.println(minusX); //0
System.out.println(minusY); //0
복합 대입연산자
동일한 변수에서 값을 바꿔서 혹은 계산해서 사용할 때 쓰는 방법복합대입연산자 사용방법 : (*=, /=. %=, +=, -=)
🚩연습
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 );