본문 바로가기
[김영한 자바 강좌] 정리/입문

[김영한의 자바 입문] - 코드로 시작하는 자바 첫걸음(섹션0 ~ 5)

by haeyoon 2024. 4. 9.

개념이 정리되지 않은 상태로 앞 강의를 본 뒤 해당 강의로 전체적인 내용의 흐름 및, 머리속에서 섞인 개념들을 정리했다.

따라서 몰랐던 내용 위주로 정리하겠다.

 

 

인텔리제이(IntelliJ) 유용한 단축키 - Windows

Ctrl + Shift + F10 코드 실행
Alt + Insert Generater
Ctrl + D 줄 복사 후 엔터
Ctrl + Shift + Enter Code Completion (ex / 세미콜론찍어주기 후 엔터)
F2 다음 에러로 이동
Shift + F6 일괄로 변수 이름 바꾸기
Alt + Enter implement methods
Ctrl + Space import문 자동 생성
Ctrl + Alt + V 변수 추출
Ctrl + Shift + t (클래스에 대고) Create test (test 코드 자동 생성)

생각날때마다 추가할 예정 ..

 

컴파일 VS 실행 

자바 프로그램 작동 방법

① Hello.java와 같은 자바 소스코드를 작성

② 자바 컴파일러를 사용해 소스코드 컴파일

       javac라는 프로그램을 사용한다 (인텔리제이는 자동으로 실행)

       .java → .class라는 파일이 생성

       자바 소스 코드를 바이트 코드로 변환하여 자바 가상 머신에서 더 빠르게 실행될 수 있도록 최적화 / 문법 오류 검출

③ 자바 프로그램 실행

      java라는 프로그램을 사용한다

      자바 가상 머신(JVM)이 실행되면서 프로그램 작동

 

 

자바의 호환성

자바 프로그램은 자바가 설치된 모든 OS에서 실행할 수 있다

→ 개발자는 각 OS에 맞도록 자바를 설치하기만 하면 된다

 

변수 타입

int a = 100; //정수
double b = 10.5; // 실수
boolean c = true; //불리언(boolean) ture, false 입력 가능
char d = 'A'; //문자 하나
String e = "Hello Java"; //문자열, 문자열을 다루기 위한 특별한 타입

long longVar = 10000000000L;

long뒤에는 L을 붙여야한다.

변수 타입 정리

- char & String 차이

char = 문자 하나 = 작은따옴표 ' '

String = 문자열 = 큰따옴표 " "

 

- 정수형

   byte / short / int (-20억~20억) / long

- 실수형

   float / double

→ 표현범위에 따라 다양한 메모리 공간 차지

 

- 자바언어 관례

·  클래스: 대문자로 시작한다 / 낙타표기법

·  변수 포함 나머지: 소문자로 시작한다 / 낙타표기법(Camel Case)

+ 예외 ) 패키지는 모두 소문자 / 상수는 모두 대문자 

 

 

연산자

1) 산술연산자

% (나머지계산)  / (몫계산)          → int끼리 계산할경우 소수점아래는 버린다

 

   - 문자열 + 숫자

System.out.println("발급받은 쿠폰개수" + 10);

        해당 경우 int형의 10이 String형으로 변환 후 더해짐

         → 출력: 발급받은 쿠폰개수 10

2) 증감 연산자

3) 비교 연산자

    문자열 비교시 .equals() 메서드를 사용

public class Comp2 {
    public static void main(String[] args) {
        String str1 = "문자열1";
        String str2 = "문자열2";

        Boolean result1 = "hello".equals("hello");
        Boolean result2 = str1.equals("문자열1");
        Boolean result3 = str1.equals(str2);

        System.out.println(result1);
        System.out.println(result2);
        System.out.println(result3);
    }
}

4) 논리 연산자

&&(그리고)  || (또는) !(부정)

5) 대입 연산자 

 

 

조건자

1) switch

if문은 비교연산자를 사용할 수 있지만, switch문은 단순히 값이 같은지만 비교할 수 있다.

public class Switch2 {
    public static void main(String[] args) {
        int grade =2;

        int coupon;
        switch (grade){
            case 1:
                coupon = 1000;
                break;
            case 2:
                coupon = 2000;
                break;
            case 3:
                coupon = 3000;
                break;
            default:
                coupon = 500;
        }
        System.out.println("발급받은 쿠폰"+ coupon);
    }
}

switch ()의 괄호안 grade와, case 뒤 숫자 (1,2,3)가 일치해야 실행

 + break 사용 필수!

break를 사용하지 않으면 다음 case문도 실행된다

 

새로운 switch문

public class Switch4 {
    public static void main(String[] args) {
        int grade = 2;

        int coupon = switch(grade){
            case 1 -> 1000;
            case 2 -> 2000;
            case 3 -> 3000;
            default -> 4000;
        };

        System.out.println(coupon);
    }
}

2) 삼항연산자

package cond;

public class CondOp2 {
    public static void main(String[] args) {
        int age = 18;
        String status = (age >= 18) ? "성인" : "미성년자";
        System.out.println("age = "+ age + " status = "+status);
    }
}

 

반복문

C언어와 동일해 어렵지 않았다.