int num1 = 5, num2 = 2, result;
result = num1 + num2;
System.out.println("result: " + result);
result = num1 - num2;
System.out.println("result: " + result);
result = num1 * num2;
System.out.println("result: " + result);
result = num1 / num2;
System.out.println("result: " + result);
System.out.println("result: " + ((double)num1/num2)); //double 은 나누기하면 뒤에도 double됨
변수에 정수 넣어주고 덧셈,뺄셈,곱셈,나누기(몫) 구해보기
나누기 몫=/ 나머지=%
나눴을때 정수로 나오길 바라면 그대로 쓰고 실수로 나왔으면 하면 앞에 double 붙이기
~비트반전 시켜서 계산해보기
int num1 = 7, num2=4, result;
result = 7 + (~num2 + 1); //1의보수, ~가 비트반전
System.out.printf("%d + %d = %d \n ", num1, num2, result);
7을 2진수로 하면 0111
4를 2진수로 하면 0100
4를 비트반전 시켜서 7이랑 AND연산하면
0111
1011 = 0011
0011 다시 10진수로 바꾸면 3이됩니당~!
근데 이걸 어디 쓴다했더라...?
byte b1 = 10, b2= 20, result;
result = (byte) (b1 + b2); //int프로모션 앞에 byte넣어주기
System.out.println("result: " + result);
//byte + short -> int+int = int
//char + int -> int+int = int
//float + int -> float+float = float
//long+float -> float+float = float
//double + float
이거 배운다고 배웠던거 같은데 조금 헷갈림!
int num1 = 6, num2 = 4, result;
boolean bool1 = false, bool2 = true, bResult;
//6은 2진수로 num1 0110 4의 2진수는 num2 0100
/*
result = num1 & num2; //&는 비트AND연산자 0100 => 4
System.out.println("result: "+result);
bResult = bool1 & bool2; //&는 논리AND연산자 피연산자가 정수면 비트AND연산자,
System.out.println("bResult: "+bResult);
*/
result = num1 | num2; //|는 비트OR연산자 0110 => 6
System.out.println("result: "+result);
bResult = bool1 | bool2; //|는 논리AND연산자 피연산자가 논리값이면 비트OR연산자, 피연산자가 논리값이면 논리AND연산자
System.out.println("bResult: "+bResult);
계속 연산자에 대해서 배웠음. 또나오면 써봄
참고문헌- 자바의정석 (남궁성)