☕️ Java 문법 종합반 (1) - ② 변수, 입출력 / TIL - day 7

하리비·2025년 2월 24일
2

☕️ Java

목록 보기
2/8

📖 1) 변수 - 데이터의 저장 공간

📌 변수?

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

  • 장점:내게 필요한 데이터를 쉽게 가져다 쓸 수 있다


📌 변수의 구조

int a;
//[자료형] [변수이름][세미콜론]
// 
  • 세미콜론: 문장이 끝났다는 표시 / 습관을 들이자


📌 변수이름 규칙

  • 카멜케이스 권장 / 명사형태

    • 숫자로 시작 불가
    • 공백 사용불가
    • 예약어 사용 불가
    • 특수문자는 (_,$) 사용가능 - 추천 하지 않음

📌 변수 문법

1. 변수를 선언한다

  • 데이터 저장공간을 만든다
int a;
int b;

2. 변수에 값 할당

  • 변수에 값을 할당한다 (넣어준다)
a = 1;

assign : 값을 할당하다
literal : 값 (여기선 1)


3. 선언과 동시에 값 할당

  • 선언과 동시에 값을 할당
int c = 3;

initialization : 처음으로 데이터에 초기값을 설정하는 것 = 초기화


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

  • 변수는 재사용이 가능하다
  • 값을 재할당하면 제일 마지막 값으로 덮어씌워진다
c = 4;
c = 5;
c = 6; // 출력 : 6
  • 재할당시 유의할 점
int number = 10;
int number = 20;  // 오류❌! 같은 블록에서 같은 이름의 변수 선언 불가

int number = 10;
number = 20; // 올바른 코드⭕️ (값만 변경)

5. 변수에 변수를 할당

  • 미리선언된 변수를 할당할 수 있다
int d = 1;
int e = d;
d = 10;
System.out.println("e = " + e); // 정답 1

📖 2) 자료형 - 메모리를 사용하는 단위

  • 상자에 담을 수 있는 데이터의 크기를 결정하는 규칙
  • java가 이미 사용빈도가 높은 자료형을 미리 정해뒀다.
  • 변수이름 = 데이터의 위치 / 자료형 = 데이터의 크기!
자료형종류범위바이트비트
boolean논리형true/false18
char문자형0 ~ 65535 유니코드 값216
byte정수형-128 ~ 12718
short정수형-32,768 ~ 32,767216
int정수형-2,147,483,648 ~ 2,147,483,647432
long정수형-9,233,372,036,854,775,808 ~ 9,233,372,036,854,775,807864
float실수형약 소수점 6~7자리까지432
double실수형약 소수점 15~17자리까지864

💡 자료형 정리

중괄호안에 띄어쓰기+클래스이름+엔터 하면 자바를 실행하는 기본 명령어 자동 실행
soutv = 값을 출력하는 명령어 (system.out ~~ )

        // [자료형] [변수이름];
        // 두번째 값은 "재할당"을 보여주기 위한 것임 

        // 정수형
        int a;
        a = 1;
        a = 2;
        System.out.println("a = " + a);

        // 논리형
        boolean booleanBox = true;
        booleanBox = false;
        System.out.println("booleanBox = " + booleanBox);

        // 문자형
        char charBox = 'a';
        charBox = 'b';
        System.out.println("charBox = " + charBox);
        
        // 큰 정수형
        long longBox = 1;
        longBox = 2;
        System.out.println("longBox = " + longBox);

        // 실수형 (소숫점) - 소숫점 단위는 기본적으로 double로 인식하기 때문에 f로 float임을 표시
        float floatBox = 0.12345678f;
        floatBox = 0.1234567890f; // 8자리까지 나오게 반올림한다
        System.out.println("floatBox = " + floatBox);
        
        // 실수형
        double doubleBox = 0.1234567890;
        System.out.println("doubleBox = " + doubleBox);
        

📖 3) 형 변환 - 자료형을 변경할 수 있을까?

  • 형 변환(Casting)은 변수의 자료형을 다른 자료형으로 변경하는 것

📌 다운캐스팅

        double bigBox = 10.123;
        int smallBox = (int) bigBox; // 데이터 손실이 일어난다
        System.out.println("smallBox = " + smallBox);
  • 큰 데이터를 -> 작은 상자

  • 뒤에 어떤 형으로 변경할지 명시해야하기 때문에 명시적 변환이라고도 한다


📌 업캐스팅

        // 업캐스팅 : 작은 데이터 -> 큰 상자
        int smallBox2 = 10;
        double bigBox2 = smallBox2;
        System.out.println("bigBox2 = " + bigBox2);
형 변환 종류형변환 방식자동 형 변환 여부설명
다운캐스팅(DownCasting)명시적(Explicit)큰상자 → 작은상자
업캐스팅(UpCasting)묵시적(Implicit)작은상자 → 큰상자

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

        // 문자열 데이터
        char a1 = 'a';
        String str = "안녕하세요!"; // 문자열은 쌍따옴표임

        // 정수형
        int a2 = 1;
        long a3 = 1;

        // 논리형
        boolean b2 = true;

4) 입출력 - 자바세상과 대화하는 방법

📌 출력 (Output)

: 컴퓨터가 결과값을 콘솔에 보여주는것

  • 출력방법
        // 출력
        // println 사용
        System.out.println("Hello");
        System.out.println("Java");

        // print 사용
        System.out.print("안녕");
        System.out.print("자바");

        // 개행문자 \n 사용
        System.out.println("Hello\nWorld!");
  • 출력 방법설명
    System.out.print()줄 바꿈 없이 출력
    System.out.println()출력 후 줄 바꿈
    문자열 큰따옴표 안에 \n개행문자

📌 입력 (Scanner)

  • 인간은 눈을 사용하지만 Java는 객체(Scanner)를 사용한다
 System.out.println("Hello Java!"); // ‼️ System 도 객체
  • 변수를 상자에 담은 것 처럼, scanner 도 상자에 담아 사용해야한다
    = scanner라는 변수를 Scanner라는 상자안에 넣어준다
  • 입력방법
        // 입력 (Scanner)
        // 스캐너 객체를 스캐너형 박스(scanner)
        // ✅ Scanner 객체 생성 & 변수에 담기
        Scanner scanner = new Scanner(System.in);

        // 문자열 입력받기
        System.out.print("좋아하는 문장을 입력하세요: ");
        String sentence = scanner.nextLine();
        System.out.println("sentence = " + sentence);

        // 정수형(int, long) 입력받기
        System.out.print("정수(int)를 입력하세요: ");
        int intBox = scanner.nextInt();
        System.out.println("intBox = " + intBox);

        System.out.print("정수(long)를 입력하세요: ");
        long longBox = scanner.nextLong();
        System.out.println("longBox = " + longBox);

        // 소수점
        System.out.print("소수점(double)을 입력하세요 : ");
        double doubleBox = scanner.nextDouble();
        System.out.println("doubleBox = " + doubleBox);
  • 문자숫자
    scanner.nextLine()scanner.nextInt()
    scanner.nextLong()
    scanner.nextDouble()

0개의 댓글