20260326THU (Day 1)

sungsimdangmascot·2026년 3월 26일

자바 기초 정리 (기본 구조 / 출력 / 단축키 / 데이터 타입 / 변수 / 연산자)

**검색보다 생각을 해서 답을 찾아가는 과정이 중요하다.

목차

  1. 기본 구조
  2. 세미콜론(;) / 콜론(:)
  3. 출력 (System.out.println)
  4. JVM 옵션 메모
  5. 기본 단축키
  6. 문제 풀이 (1~3)
  7. 데이터 타입 & 문자열/문자
  8. 변수 특징 & 문제(4~5)
  9. 데이터 타입 예제 코드
  10. 연산자 예제 코드 + 개념 + 우선순위

1) 기본 구조

public class Main {
    public static void main(String[] args) {

    }
}

=> 이 구조가 기본 구조로 작성 위해 써야한다.

2) 세미콜론(;) / 콜론(:)

  • ; 세미콜론, : 콜론

; 은 마침표라고 생각하여 한줄 끝나면 작성해야 한다. (안쓰면 에러남)

3) 출력

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}

=> System.out.println -> 출력할때 쓴다

("") ""안에 있는 것들을 출력한다

4) JVM 옵션 메모

Xmx2040m : 메모리 부족으로 인한 크래시나 렉을 줄이기 위해 사용된다

Dfile.encoding=UTF-8 : 파일을 읽거나 쓸 때 문자 인코딩을 UTF-8로 고정하도록 설정하는 옵션이다.
주로 윈도우 환경 등에서 발생하는 한글 깨짐 현상을 방지한다

5) [기본적인 코딩 단축키]

Alt + 1 : 프로젝트 창 열고 닫기

Ctrl + / : 주석

Ctrl + Shift + f : 소스코드 정렬

Alt + Shift + X : 실행.

System(시스템).out(출력).println(한줄(ln => line) 출력)

sout + tab : System.out.println(); 자동완성

souf + tab : System.out.printf(); 자동완성

system.out.println(); 출력(줄바꿈O)

System.out.print(); 한 줄에 모든 내용 출력(줄바꿈X)

Ctrl + Shift + / : 여러줄 주석 //

6) 문제 풀이

* 문제 1

// 문제 : 안녕하세요.를 10번 출력해주세요.

class Main {
    public static void main(String[] args) {
        System.out.println("안녕하세요.");
    }
}

A)

public class Main {
    public static void main(String[] args) {
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
        System.out.println("안녕하세요.");
    }
}

*문제 2

// 문제 : 안녕하세요.를 10번 출력해주세요.

// 조건 : System.out.println은 딱 한번만 사용 가능

class Main {
    public static void main(String[] args) {
        System.out.println("안녕하세요.");
    }
}

A)

class Main {
    public static void main(String[] args) {
        System.out.println("안녕하세요.안녕하세요.안녕하세요.안녕하세요.안녕하세요.안녕하세요.안녕하세요.안녕하세요.안녕하세요.안녕하세요.안녕하세요.");
    }
}

*문제 3

// 문제 : 안녕하세요.를 10번 출력해주세요.

// 조건 : System.out.println은 딱 한번만 사용 가능

// 조건 : \를 활용해서 줄바꿈 해주세요.

// 힌트 : \n 은 줄바꿈을 의미합니다.

class Main {
    public static void main(String[] args) {
        // **`\\`** <= 백스페이스 좌측 키
        System.out.println("안\\n녕");
    }
}

A)

class Main {
    public static void main(String[] args) {
        System.out.println("안녕하세요.\n안녕하세요.\n안녕하세요.\n안녕하세요.\n안녕하세요.\n안녕하세요.\n안녕하세요.\n안녕하세요.\n안녕하세요.\n안녕하세요.");
    }
}
  • \n 은 줄바꿈을 의미

7) [데이터 타입]

문장형(문자열), 숫자형(정수, 실수)

컴퓨터 => 문장과 숫자를 처리하는 방식이 다르다!

"" : 큰따옴표로 감싼 내용은 문장으로 처리

'' : 작은따옴표로 감싼 내용은 문자로 처리

System.out.println("안녕");
System.out.println('안');

System.out.println("123"); //문장 123
System.out.println(123);   // 숫자 123

System.out.println("== 문장 더하기 문장 ==");
System.out.println("안" + "녕"); // 안녕
System.out.println("20" + "26"); //2026

System.out.println("== 문장 더하기 숫자 ==");
System.out.println("안" + 10); // 안10
// 형변환(casting) : 기존의 타입에서 다른 타입으로 형변환
// 문장이 숫자로 변환되는 것이 아니고, 숫자가 문장으로 변환되서 연산.

System.out.println("== 문장 더하기 숫자 더하기 숫자 ==");
System.out.println("안" + 20 + 26); // 안2026
// 안20
// 안2026

System.out.println("== 문장 더하기 (숫자 더하기 숫자) ==");
System.out.println("안" + (20 + 26)); -->46

System.out.println("== 문장 더하기 숫자 곱하기 숫자 ==");
System.out.println("안" + 10 * 2); -->20

8) 변수의 특징*

  1. 변수는 선언, 정의되어야만 사용이 가능하다.
  2. 변수는 변수 선언시 변수명 앞에 데이터 타입을 반드시 명시 해야 한다.
  3. 변수는 데이터 타입에 맞는 값만 할당할 수 있다.
  4. 변수는 중복해서 정의(선언)할 수 없다.
  5. 변수는 재활용이 가능하다.
  6. 변수명을 다르게 하면 얼마든지 새로운 변수 생성이 가능하다.
  7. 변수명 생성 규칙
    • 변수명은 숫자로 시작할 수 없다.
    • 변수명은 특수기호로 시작할 수 없다.
    • 언더바는 제외 => _
    • 예약어로 시작할 수 없다(if, while)
    • 한글, 영문, 대소문자로 작성이 가능하다.

9) 문제. 4

a와 b가 가지고 있는 값을 서로 뒤바꿔주세요.

class Main {
    public static void main(String[] args) {
        // `int a` => a라는 이름의 변수(즉 공간)을 만든다.
        // `int` => a라는 공간에는 정수만 담을 수 있다.
        // `;` => 문장이 끝남을 알린다.
        int a;
        a = 5;

        System.out.println(a);
        System.out.println(a + 10);

        int b = 10;

        // `+` => 문장과 문자을 합친다.
        System.out.println("a : " + a);
        System.out.println("b : " + b);

        // 여기서 부터
        // 여기까지 수정 가능

        System.out.println("a : " + a);
        // 출력 : a : 10
        System.out.println("b : " + b);
        // 출력 :  b : 5
    }
}

A)

// 여기서 부터
a = 10;
b = 5;
// 여기까지 수정 가능

10) 문제. 5

// 문제 : a와 b가 가지고 있는 값을 서로 뒤바꿔주세요.

// 조건 : 숫자와 사칙연산 사용 금지

class Main {
    public static void main(String[] args) {
        // `int a` => a라는 이름의 변수(즉 공간)을 만든다.
        // `int` => a라는 공간에는 정수만 담을 수 있다.
        // `;` => 문장이 끝남을 알린다.
        int a;
        a = 5;

        System.out.println(a);
        System.out.println(a + 10);

        int b = 10;

        // `+` => 문장과 문자을 합친다.
        System.out.println("a : " + a);
        System.out.println("b : " + b);

        // 여기서 부터

        // 여기까지 수정 가능

        System.out.println("a : " + a);
        // 출력 : a : 10
        System.out.println("b : " + b);
        // 출력 :  b : 5
    }
}

A)

// 여기서 부터
int c;
c = a;
a = b;
b = c;
// 여기까지 수정 가능

11) [연산자 개념]

  1. 사칙연산

컴퓨터는 정수와 실수를 다르게 취급

10 / 3 : 정수끼리 나누면 소수점은 버리고 몫만 챙김

10 / 3.0 : 한쪽이라도 실수가 있으면 결과도 실수로 나옴

나머지 구하기(%) (ex : 10 % 3 = 1)

  1. 비교연산 => 결과는 true 아니면 false

== : 같다

!= : 다르다

: 크다(초과)

< : 작다(미만)

= : 크거나 같다(이상)

<= : 작거나 같다(이하)

  1. 논리연산자

&& (AND, 그리고): 엄격한 선생님. 양쪽 다 true여야만 true를 준다. 하나라도 틀리면 바로 false.

(OR, 또는): 너그러운 선생님. 둘 중 하나만 맞으면 "그래, 맞다"라며 true를 줘요.

! (NOT, 반대): 청개구리. true는 false로, false는 true로 뒤집어버린다.


12) [연산자 우선순위]

  1. 사칙연산(+, -, *, /) => 수학이랑 똑같다
  2. 비교연산(>, <, ==) => 계산된 값들을 서로 비교
  3. 논리연산자(&&, ||) => 참 / 거짓을 최종 판단.

논리연산자 끼리의 순서 : ! > && > ||

profile
성심당마스코트

0개의 댓글