연산에 사용되는 표시나 기호
연산자와 함께 연산되는 데이터 : 피연산자(operand)
-> + - * =
연산자와 피연산자를 이용하여 연산의 과정을 기술한 것 : 연산식(expression)
-> x,y,z 변수
숫자 타입(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)으로 결과값이 나온다
연산식은 반드시 하나의 값으로 산출하며, 값 대신에 연산식을 사용할 수 있다
++ --
: 다른 연산을 다 마친 이후에 1씩 증감
: 맨 먼저 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
!
boolean bool = false;
System.out.println("bool=>" + bool); // bool => false
System.out.println("!bool = > " + !bool); // !bool => true
& | && ||
* 수학에서는 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
// 한개짜리와 두개짜리와 구분을 지어야 함
if(조건) { 실행해야할 명령; } ==> 조건이 참일때만 실행해야할 명령; 을 구동한다. ==> 조건이 거짓이라면 실행해야할 명령; 을 구동안한다.
== 같다 != 같지 않다
> 크다, < 작다 >= 같거나 크다, <= 같거나 작다
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
변수선언 = (조건식)? 값1:값2;
변수를 선언하고 나서 값을 부여하고자 할 때 사용되어지는데,
조건식이 참이라면 변수에 값1을 대입해주고
만약에 조건식이 거짓이라면 변수에 값2를 대입해준다.
int num1 = 50, num2 = 60;
int num3 = (num1 > num2) ? num1 : num2;
System.out.println("num3 => " + num3);
//num3 => 60