ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 상수 리터럴 형변환 연산자
    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);
    
    값 44
    

    a = 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가 나온다

    연산자

    • 연산자 우선순위
        1. 산술연산(+,-,*,/,%) 2. 비교연산(==, ! =, >, = >, <, < =) 3. 논리연산 (&&. ||) 4. 대입연산(=, +=, -=)
        1. 단항연산 2. 이항연산 3. 삼항연산
      • 괄호를 쓰면 연산우선순위를 무시하고 괄호먼저 연산한다.
    • 이항연산
        1. 두 항의 데이터타입을 일치
        1. 산술형 상승
    • 비교연산자에서 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
Designed by Tistory.