-
상수 리터럴 형변환 연산자Java 2023. 1. 10. 18:03
상수
- 상수는 값을 한번 저장하면 변경할 수 없는 수, 항상 같은 수 이다.
- 상수를 선언하려면 변수 앞에 final이라는 키워드를 사용한다
- 상수의 값을 변경하려면 final키워드를 삭제하고 선언을 하던지 처음 선언된 값을 수정한다.
리터럴
- 리터럴은 소스상에서 직접 입력된 값을 뜻한다.(예: String greet = “안녕하세요, \n저는 \”홍길동”입니다”;)
- 운영체제 별 escape 문자를 다르게 처리할 수 있기 때문에 DB에 저장할 때 어떤 식으로 저장할 것 인가 고려해야 된다.
- 제어문자
- \n : 줄바꿈
- \t : 탭
- \\ : \
- \’ : ‘
- \” : “
- () 소괄호 : 수식의 우선순위, 메서드 파라미터
- {} 중괄호 : 블럭, scope(영역)
- [] 대괄호 : 배열
형변환(Casting)
- byte → short → int → long → float → double
- 작은 자료형 → 큰 자료형 = 자동형변환(묵시적)
- 큰 자료형 → 작은 자료형 = 강제형변환(명시적) 값 손실 있을 수 있음 (예: float 3.14 → int 3)
- 큰 자료형에서 작은 자료형으로 강제 형변환의 경우 값이 범위 내에 있다면 값 손실이 없을 수 있음 (예 : double :100 → int 100)
int a = 300; byte b = (byte)a; System.out.println(b); 값 44a = 300 → 2진수로
256 128 64 32 16 8 4 2 1 1 0 0 1 0 1 1 0 0 8bit 표현 범위 256의 숫자 1은 8bit 표현 범위를 벗어나기 때문에 결과 값이 44가 나온다
연산자
- 연산자 우선순위
-
- 산술연산(+,-,*,/,%) 2. 비교연산(==, ! =, >, = >, <, < =) 3. 논리연산 (&&. ||) 4. 대입연산(=, +=, -=)
-
- 단항연산 2. 이항연산 3. 삼항연산
- 괄호를 쓰면 연산우선순위를 무시하고 괄호먼저 연산한다.
-
- 이항연산
-
- 두 항의 데이터타입을 일치
-
- 산술형 상승
-
- 비교연산자에서 OR일 경우 첫번째 조건이 참이면 다음에 오는 연산은 계산하지 않는다
- int i = 1; boolean b = i == 1 || 10/0 ==1; System.out.println(b); 결과 값 : Ture 이유 : i==1에서 참이 나왔기 때문에 or 조건에 만족해서 뒷쪽 연산인 10/0이 오류가 나더라도 비교를 하지 않는다!
- AND연산은 거짓을 찾는 것(선행 연산을 하다 false를 만나게 되면 다음 연산은 멈추고 false를 출력 함 다음에 올 계산이 true값이던 오류가 값이던 연산을 안함)
- OR연산은 참을 찾는 것 (선행 연산을 하다 true를 만나게 되면 연산을 멈추고 true값을 출력 함 다음에 올 계산이 오류가 나는 값이던 false값이던 계산을 안한다)
오버플로우
- 예를 들어서 int자료형일 때 양수 최대 값을 넘어가면 음수의 최소 값이 나오게 된다 100이 최대값일 때 1을 더하면 다시 -100이 된다
오류로그
- ArithmeticException
- 산술조건 오류
- by zero : 0으로 나눴을 때 오류가 나온다.
'Java' 카테고리의 다른 글
반복문 배열 (0) 2023.01.12 디버그 (Debug) (0) 2023.01.11 삼항연산 조건문 반복문 (0) 2023.01.11 ArithmeticException (0) 2023.01.10 자바의 특징 및 환경 (0) 2023.01.10