(1) 대입연산
=, +=, -=, *=, /= R) a = 3, a <= 3, 3 => a //통계에서 쓰이는 ‘R’ a = a + 1; a += 1; = : 왼쪽에 오른쪽을 넣으시오.
=(오른쪽과 왼쪽이 대립), +=(오른쪽 것을 더해서 왼쪽에 넣는 방법//많이 쓰임) -=(오른쪽에서 빼서 왼쪽에 넣기) *=, /=
a = a + 1; a + = 1; = : 왼쪽에 오른쪽에 넣으시오.
package Day02;
public class OperExample {
public static void main(String [] args) {
// TODO Auto-generated method stub
p("Oprtation Test");
// 1-1. 대입연산
int num = 10;
p("1.num(=) " + num);
// 1-2. 대입연산
num += 10;
p("2-1.num(+=) " + num);
num -= 10;
p("2-2.num(-=) " + num);
// 1-3. 대입연산
num *= 10;
p("3-1.num(*=) " + num);
p("3-2.num(*=) " + (num*=10));
p("3-3.num() " + num);
(2) 산술연산
우리가 알고 있는 (+ - * /), 나머지를 구하는 %, 주민번호 뒷자리 3개 %33
10 % 3 = 1, 10 / 3 = 3
//4. 산술연산 num = 5 + 5 * 2; p("4-1. 5 + 5 * 2 =" + num); num = 5 * (5 + 2); // 4(4+2) p("4-2. 5 * (5 + 2) = " + num);
//2-1. 산술연산
num = 5 + 5 * 2;
p("4-1. 5 + 5 * 2 =" + num);
num = 5 * (5 + 2); // 4(4+2)
p("4-2. 5 * (5 + 2) = " + num);
int num_of_grp = 3;
num = 35 % num_of_grp;
p("4-3. 35 % 3 =" + num);
// 2-2. 나누기
num = 10 / 4;
p("5. 10 / 4 = " + num);
//num = 10. 4 ; //실수를 int에 넣을 수 없음
// num이 int이기 때문에 앞에 큰 값이 오면 안됨!!
float num_f = (float)10. / 4; // 10. / 4;를 넣으면 오류나기에 float를 넣어줘야함
// 2-3. 0으로 나눠보기
//num = 10 / 0; // Inf(무한대를 의미 )
//Exception in thread "main" java.lang.ArithmeticException: / by zero
//at Day02.OperExample.main(OperExample.java:43)
//0으로 나누기 때문에 오류가 나오지만, 예외처리를 해서 0이 아닌 1로 처리할려고 하는 의미이다.
(3) 증감연산
++, --
++ : 1증가
-- : 1 감소
a = 10;
b = a++; print(b) >10 b = a; a++;
//++이 뒤에 붙어있으면 a가 먼저 계산을 한 후에 처리되기 때문에 이미 b=10이 되었음
b = ++a; print(b) >11 //++이 앞에 붙어있으면 1+a가 되기 때문에 11이 됨
순서가 헷갈릴 수 있으니 분리해서 작성하는 것을 추천!!
// 3. 증감연산
int a = 10;
int b = 10;
a++;
++b;
p("7-1. a++, ++b -> " + a + " " + b);
int x = a++;
int y = ++b;
p("7-2. a++, ++b -> " + x + " " + y);
(4) 비교연산
a > b : a가 b보다 크면 true, 아니면 false
a=5 if (a=1) { printf(”OK”); } //C에서는 a에 1을 넣는것이 가능하지만, 파이썬은 안됨!
a >= b, a < b ..... a == b : 같으면 true, 다르면 false
a != b : 다르면 true
['=='같으면에서 2개를 사용했기 때문에 '!=' 다르면에서도 2개를 사용한 것]
// 4. 비교연산
a = 10; b = 5;
p("8-1. 10 > 5 : " + (a>b));
p("8-2. 10 < 5 : " + (a<b));
p("8-3. 10 == 5 : " + (a==b));
p("8-4. 10 != 5 : " + (a!=b));
p("8-5. 'a' > 'b' : " + ('a'>'b'));
(5) 논리연산
A && B : A와 B가 모두 true이면 true 111 & 110 = 110
A || B : A 또는 B가 true이면 true
A ^ B : A와 B가 다르면 true(XOR, Exclusive OR
A ^ B : A와 B가 다르면 true(XOR, Exclusive OR)
!A : 무조건 A의 반대
// 5. 논리연산
p("9-1. true && false : " + (true && false));
p("9-2. true \\\\ false : " + (true || false));
p("9-3. true ^ true : " + (true ^ true));
p("9-4. !true : " + (!true));
(6) 삼항연산
A ? B : C : A가 true이면 B, false이면 C
cf) python A ? AND B OR C
// 10. 삼형연산자
int score = 80;
String dad1 = (score>60)? "잘했다." : "돼다";
String dad2 = (score>99)? "당연" : "이것도점수냐";
p("10. dad1 = " + dad1 + " dad2 = " + dad2);
}
garbage in g
public static void p(String str) {
System.out.println(str);
}
'개발 > JAVA' 카테고리의 다른 글
Random (임의의 수를 얻는 도구) (0) | 2023.01.09 |
---|---|
User Input (사용자로부터 입력을 받는 기능) (0) | 2023.01.09 |
class first (0) | 2023.01.09 |
변수(Variable) (0) | 2023.01.09 |
주석(comment) (0) | 2023.01.09 |