연산자(operator) : 연산을 수행하는 기호(+,-,*,/ 등)
피연산자(operand) : 연산자의 작업 대상(변수, 상수, 수식)
package project;
public class MainClass {
public static void main(String[] args) {
int a = 10;
int b = -10;
boolean c = true, d = false;
System.out.println("~a = " + ~ a); // 보수 연산(양수 -> 음수 부호가 바뀌고 1증가
System.out.println("~b =" + ~b); // 보수 연산(음수 -> 양수 부호가 바뀌고 1감소
System.out.println("!c = "+(!c)); // true -> false
System.out.println("!d = "+(!d)); // false -> true
System.out.println("-a ="+ (-a)); // -(10)
System.out.println("-b ="+ (-b)); // -(-10)
System.out.println("a = "+ a + ",\tb =" + b);
System.out.println("a = "+ a++ + ",\tb =" + b++); // 증감을 하기전에 값을 출력
System.out.println("a = "+ a + ",\tb =" + b); // 그 후 증감하여 출력
System.out.println("a = "+ ++a + ",\tb =" + ++b); // 증감을 한 후 값을 출력
}
}
결과값
~a = -11
~b =9
!c = false
!d = true
-a =-10
-b =10
a = 10, b =-10
a = 10, b =-10
a = 11, b =-9
a = 12, b =-8
package project;
public class MainClass {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a + b =" + (a+b));
System.out.println("a - b = " + (a-b));
System.out.println("a * b =" + (a*b));
System.out.println("a / b = " + (a/b));
System.out.println("a % b =" + (a%b));
}
}
결과값
a + b =30
a - b = -10
a * b =200
a / b = 0
a % b =10
shift 연산자는 정수형데이터에서만 사용가능하고 2진수로 표현했을때 각 자리를 오른쪽 또는 왼쪽으로 이동
간단히 말해서 32비트로 분해한 다음 해당 비트수 만큼 이동시키는 연산이라고 생각하면 된다.
** Intege 클래스 : 10진수를 2진수로 바꾸고 2진수를 10진수로 바꿔주는 함수
package project;
public class MainClass {
public static void main(String[] args) {
int temp;
System.out.println(-8);
System.out.println(Integer.toBinaryString(-8));
temp = -8 << 2;
System.out.println("2 << 3 = " + temp);
System.out.println(Integer.toBinaryString(temp));
temp = -8 >> 2;
System.out.println("2 << 3 = " + temp);
System.out.println(Integer.toBinaryString(temp));
temp = -8 >>> 2;
System.out.println("2 << 3 = " + temp);
System.out.println(Integer.toBinaryString(temp));
}
}
결과값
-8
11111111111111111111111111111000
2 << 3 = -32
11111111111111111111111111100000
2 << 3 = -2
11111111111111111111111111111110
2 << 3 = 1073741822
111111111111111111111111111110
관계 연산자는 이항 연산자로 피 연산자의 크기를 비교하는 연산자
package project;
public class MainClass {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a < b = " +(a<b));
System.out.println("a > b = " +(a>b));
System.out.println("a <= b = " +(a<=b));
System.out.println("a >=b = " +(a>=b));
System.out.println("a == b = " +(a==b));
System.out.println("a !=b = " +(a!=b));
}
}
결과값
a < b = true
a > b = false
a <= b = true
a >=b = false
a == b = false
a !=b = true
논리 연산자는 이항 연산자로 조건의 참, 거짓을 비교하는 조건 논리 연산자와 비트 논리 연산자로 나뉜다
삼항 연산자는 조건 연산자라고도 하며 3개 의 피연산자를 필요로 하게 되는데 첫 번째 피연산자는 조건이며 두번째 피연산자는 조건이 true일 때 반환 값 세 번째 피연산자는 조건이 false일때 반환값 입니다.
package project;
public class MainClass {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println((a>b? true:false));
System.out.println((a<b? true:false));
}
}
결과값
false
true
대입연산자는 변수에 값 또는 수식의 연산 결과를 저장하는데 사용
같은 자료형을 가진 연속된 메모리 공간으로 이루어진 자료구조 입니다.
배열은 연관성 있는 데이터(같은 자료형을 가진 변수)를 관리하기 편합니다.
배열 요소(element) : 배열을 구성하는 각각으 값
인덱스(index) : 배열에서의 의치를 가리키는 숫자
인스턴스란 클래스에 속하는 객체를 말한다.
package project;
public class MainClass {
public static void main(String[] args) {
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
}
}
package project;
public class MainClass {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
}
}
결과값
1
2
3
4
5