개발/부트캠프

본캠프 : Chapter 2 프로그래밍 기초 주차 - Java 문법 종합반 1

EJ EJ 2024. 12. 31. 21:20

변수 : 값을 저장한 공간

-저장 공간의 선언과 값의 저장

int number; // number 라는 이름의 int(숫자)타입의 저장공간을 선언
String name; // name 이라는 이름의 String(문자열)타입의 저장공간을 선언

 

int number = 10; // 1. 선언과 동시에 값을 저장공간에 저장(=초기화)
number = 11; // 2. 선언 이후에 다른값을 저장공간에 저장

 

기본형 변수

-논리형 변수 : boolean

-문자형 변수 : char(' ')

-정수형 변수 : byte, short, int, long

  • byte : -128 ~ 127 범위의 숫자만 저장 가능
  • short (2byte)는 -32,768~32,767 범위의 숫자만 저장 가능
  • int (4byte)는 -21억~21억 범위의 숫자만 저장 가능
  • long (8byte)은 9백경 정도의 매우 큰 수를 저장 가능 L

-실수형 변수 : float, double

  • float (4byte) : 3.4 * -10^38 ~ 3.4 * 10^38(long 보다 큼) 범위의 숫자 저장이 가능 F
  • double (8byte) : 1.7 * -10^308 ~ 1.7 * 10^308(long 보다 큼) 범위의 숫자 저장이 가능

참조형 변수

-문자열 변수 : String(" ")

-그 외 : Object, Array, List … 객체, 배열, 리스트와 같은 단일 저장공간에 담을 수 없는 값을 저장

 

래퍼 클래스 변수 : 래퍼 클래스(Wrapper Class)라는 말 그대로 “기본형 변수를 클래스로 한번 랩핑(감싸는) 변수

-클래스로 변수를 관리하면 객체지향의 많은 기능을 사용할 수 있다.

-기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것을 “박싱”, 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것을 “언박싱”이라고 부른다.

 

입력

Scanner sc = new Scanner(System.in); // Scanner 객체를 new 명령어로 생성
String input = sc.next();  // sc(Scanner)의 .next(); 를 실행하면 input 변수에 입력한 글자를 받을 수 있다.

 

출력

System.out.println("입력값 : " + input);  // 입력한 글자를 출력

 

형 변환

자동 형변환 vs 강제 형변환

  • 작은 타입 > 큰 타입 형변환 시 (자동 형변환)
    • 더 큰 표현 범위를 가진 타입으로 변환되는 것이라 값의 손실이 없습니다.
    • 값의 손실 없이 변환이 가능하기 때문에 컴파일러가 자동으로 형변환을 해줍니다.
  • 큰 타입 > 작은 타입 형변환 시 (강제 형변환 = 캐스팅)
    • 더 작은 표현 범위를 가진 타입으로 변환된는 것이라 값의 손실이 생깁니다.
    • 값의 손실이 생기기 때문에 자동으로 형변환을 해주지 않고 개발자가 선택하여 형변환을 합니다. </aside>
public class Main {
    public static void main(String[] args) {
     int a = 10;
     double result = a / 4;
     double result2 = a / 4.0;
        System.out.println(result); // 2.0
        System.out.println(result2); // 2.5
    }
}