[Java] 변수와 입출력

서연·2025년 4월 15일

Java

목록 보기
6/36
post-thumbnail

변수(Variable)

  • 데이터를 컴퓨터에 저장하기 위한 공간이다.

변수의 구조

  • 자료형 변수이름;
  • ex) int a;
  • 세미콜론(;)
    • Java에서 문장을 끝내는 마침표이다. 세미콜론이 없으면 문장이 끝난 건지 아닌지 컴퓨터가 헷갈려서 오류를 발생시킨다.

변수 이름 규칙

  • 가독성을 위해 카멜케이스를 권장하고 있으며 명사 형태로 사용하는 것이 좋다.
  • ex) myCar

변수 활용

1. 변수 선언

  • 데이터 저장 공간을 만드는 것을 "변수를 선언한다"라고 한다.
  • ex) int a;

2. 변수에 값 할당

  • 변수에 값을 넣어주는 것을 "값을 할당한다"라고 한다.
  • ex) a = 1;
  • 리터럴은 변수 안에 직접 넣는 값을 의미한다. ex) int a = 1; 에서 1이 리터럴이다.

3. 선언과 동시에 값 할당

  • ex) int c = 3;
  • 처음으로 데이터 초기값을 설정하는 것을 초기화라고 한다.

4. 기존 변수에 데이터 재할당

  • 변수는 재사용 될 수 있다.
  • 기존 변수에 값을 재할당하게 되면 값이 덮어씌워진다.

5. 변수에 변수를 할당

  • 변수에 직접 미리 선언된 변수를 할당할 수 있다.
  • 데이터가 복사되어 할당된다.
int d = 1;
int e = d;
d = 10;
System.out.println("e = " + e); // e = 1이 출력된다.

자료형(DataType)

  • 메로리를 사용하는 단위
  • 실수형(float)는 소수점 뒤에 꼭 'f'를 붙여줘야한다.

형변환(Casting)

  • 변수의 자료형을 다른 자료형으로 변경하는 것을 의미한다.
  • 업캐스팅과 다운캐스팅 방식이 있다.

1. 다운캐스팅

  • 큰 데이터를 작은 상자에 옮겨담는 것과 같다.
  • 큰 데이터를 작은 상자에 넣어야하기 때문에 강제로 형 변환을 시켜야한다
    -> 데이터 손실 발생
double bigBox = 10.111;
int smallBox = (int) bigBox;  // ✅ int <- double 명시적변환
System.out.println(smallBox); // ✅ 출력: 10  !데이터손실발생!

2. 업캐스팅

  • 작은 데이터를 큰 상자에 옮겨담는 것과 같다.
  • 데이터 손실이 없으며 형 변환이 자동으로 된다.
int smallBox = 10;
double bigBox = smallBox;   // ✅ double <- int **자동형 변환**
System.out.println(bigBox); // ✅ 출력: 10.0

실무에서 자주 활용되는 변수 종류

1. 문자열 표현
String stringBox = "안녕하세요.";

2. 정수 표현
int intBox = 1; long longBox = 1;

3. 논리 표현
boolean booleanBox = false;

출력

  • 컴퓨터가 결과를 콘솔에 보여주는 것을 의미한다.
    System.out.println("안녕하세요!");
  • 출력 방법
    1. 출력 후 자동으로 줄 바꿈
    System.out.println();을 사용한다.
System.out.println("Hello");
System.out.println("Java!");

// 출력결과:
Hello
Java!

ㅤㅤ2. 줄 바꿈 없이 출력
ㅤㅤSystem.out.print();을 사용한다.

System.out.print("Hello");
System.out.print(" Java!");

// 출력결과:
Hello Java!

입력

  • 데이터를 자바 세상으로 전달하는 것을 의미한다.

  • Java에서는 Scanner라는 객체를 통해 전달할 수 있다.

    1. Scanner 객체 소환
    Scanner scanner = new Scanner(System.in);

    2. 문자열 입력받기
    scanner.nextLine()

    3. 숫자 입력받기
    scanner.nextInt() scanner.nextDouble() scanner.nextLong()

0개의 댓글