1. Local / static / instance 변수
//로딩(Loading)은 클래스를 사용하기 위해 해당 클래스의 바이트 코드를 JVM의 메모리에 올리는 것을 말한다.
// local 지역 변수
// 메소드 호출시 스택영역에 생성 되고, 메소드 블럭 안에 살아있다.
// static 정적 변수
// 객체 생성 없이도 바로 사용 가능하며, 클래스가 처음 로딩 될 때 메모리 공간을 할당한다.
// 주로 공유해야 하는 값이나, 상수등을 정의한다
// instance 변수
//클래스 영역에 선언되며, 객체가 생성 될 때 생성되는 변수로 new 키워드를 통해 생성하고 객체 내부에서 사용된다.
public class Main{
int k; //인스턴스 변수
static int b = 1; //static 변수
public static void main(String[] args){
int a; //지역변수
}
}
2. 기본형 형 변환
int a = Integer.MAX_VALUE;
int b = Integer.MAX_VALUE;
long ans = a+b ;
//왼쪽 ans 값은 long형 이므로 Integer.MAX_VALUE 값 을 두개 더해도 담을수 있을것 같지만
//오른쪽 식에서 벌써 오버플로가 발생한다.
// 또한 오른쪽 연산식의 기본 형은 정수형일때는 int, 실수형일때는 double이다.
3. 연산자 우선순위
순서 |
종류 |
연산자 |
최 |
최우선 연산자 |
( ) [ ] . |
단 |
단항 연산자 |
+ - ! ~ ( ) ++ -- |
산 |
산술 연산자 |
* / % + - |
쉬 |
쉬프트 연산자 |
<< >> >> |
관 |
관계 연산자 |
> < >= <= == != |
논 |
논리 연산자 |
& ^ |
삼 |
삼항 연산자 |
?: |
대 |
대입 연산자 |
= += /= &= *= -= <<= >>= >>>= ^= |
댓글