🔌 SPARTA/Courses

Java 기초문법(2)

eunjiom 2026. 1. 8. 19:28

🧩 연산자

1) 산술연산자(+ ,- ,* ,/ ,%)

  • int a = 10;
    int b = 3;
  • 기본적인 사칙연산
더보기

        // 더하기(+)
        int sum = a + b;
        System.out.println("sum = " + sum);
        sum = 13 // run
        
        // 빼기(-)
        int sub = a - b;
        System.out.println("sub = " + sub);
        sub = 7 // run
        
        // 곱하기(*)
        int mul = a * b;
        System.out.println("mul = " + mul);
        mul = 30 // run

  • 나눗셈
더보기

int div = a / b;
System.out.println("div = " + div);

// a / 3.0
 double div2 = a / 3.0;
System.out.println("div2 = " + div2);

 

div = 3
div2 = 3.3333333333333335

  • 모듈러 연산자(나머지 연산) %
더보기

1) 모듈러 연산

        int mod = 10 % 3;
        System.out.println("mod = " + mod);

        int mod2 = 15 % 4;
        System.out.println("mod2 = " + mod2);

        int mod3 = 20 % 7;
        System.out.println("mod3 = " + mod3);

mod = 1
mod2 = 3
mod3 = 6 // run

 

2) 시간 연산

        int mod4 = (10+5) % 12;
        System.out.println("mod4 = " + mod4);

mod4 = 3 // run

 

3) 짝수 홀수 연산(0=짝, 1=홀)

        int mod5 = 6%2;
        System.out.println("mod5 = " + mod5);

        int mod6 = 7%2;
        System.out.println("mod6 = " + mod6);

mod5 = 0
mod6 = 1 // run

2) 대입연산자(=)

  • int num = 5;
  • 복합 대입 연산자( +=, -=, *=, /=, %= )
더보기

        num += 3; // num = num + 3
        System.out.println("num = " + num);
        num -= 2; // num = num -2
        System.out.println("num = " + num);
        num *= 2;
        System.out.println("num = " + num);
        num /= 3;
        System.out.println("num = " + num);
        num %= 3;
        System.out.println("num = " + num);

num = 8
num = 6
num = 12
num = 4
num = 1 // run

3) 증감연산자

  • 증감연산자
더보기

        num = 1;
        num++; // 1씩 증가
        System.out.println("num = " + num);
        num++;
        System.out.println("num = " + num);
        num--; // 1씩 감소
        num--;
        System.out.println("num = " + num);

num = 2
num = 3
num = 1 // run

  • 전위연산(++i): 연산 후 값이 활용됨
더보기

        int intBox = 5;
        System.out.println("(++intBox) = " + (++intBox));

(++intBox) = 6 // run

  • 후위연산(i++) - 사용 후 연산
더보기

        int intBox2 =5;
        System.out.println("(intBox2++) = " + (intBox2++));
        System.out.println("intBox2 = " + intBox2);

(intBox2++) = 5
intBox2 = 6 // run

4) 비교연산자

  • 같은연산자(=): 같으면 true, 다르면 false
더보기

          System.out.println("10==10:"+(10==10));

10==10:true // run

  • 다른연산자(!=): 다르면 true, 같으면 false
더보기

        System.out.println("10 != 5:"+(10 != 5));

10 != 5:true // run

  • 크기 비교 연산자
더보기

        System.out.println("10 < 5:"+(10 < 5)); //false
        System.out.println("10 >= 10:"+(10 >=10)); // true
        System.out.println("10 <= 5:"+(10<=5)); //false

10 < 5:false
10 >= 10:true
10 <= 5:false // run

5) 논리연산자

  • AND 연산(&&): 두 조건이 모두 참일 때 true
더보기

        System.out.println("true && true:"+(true && true));
        System.out.println("true && false:"+(true && false));

true && true:true
true && false:false // run

  • OR 연산(||): 두 조건 중 하나라도 참이라면 true
더보기

        System.out.println("false || true:"+(false || true));

false || true:true // run

  • NOT 연산자(!): 참 > 거짓 / 거짓 > 참
더보기

        System.out.println("!true:"+(!true));

!true:false // run

 

🧩 조건문

 

1) 조건문(if / else if / else)

더보기

        String Light = "빨간불";

        if (Light.equals("초록불"))// true 일 때 명령문 실행, equals=문자열끼리 비교
            System.out.println("건너세요");

        else if (Light.equals("노란불"))
            System.out.println("주의하세요");
        else { // false 일 때
            System.out.println("멈추세요");
        }
        System.out.println("...");

초록불 = 건너세요 ...

노란불 = 주의하세요 ... 

빨간불 = 멈추세요 ... // run

2) switch 문 - switch (단일값)

더보기

        int number = 3;
        switch(number){
            case 1:
                System.out.println("1입니다.");
                break; // 탈출 버튼
            case 2:
                    System.out.println("2입니다");
                    break;
            default:
                System.out.println("1도 아니고 2도 아닙니다");

1 = 1입니다

2 = 2입니다

3 = 1도 아니고 2도 아닙니다 // run

 

🧩 반복문

 

1) for 반복문

더보기

for (int i = 1; i <= 10; i++) {
    System.out.println("안녕하세요!");
}

10번 반복 x10 // run

2) break 문(탈출버튼): for 문 + break

  • 반복을 벗어나는 문구
더보기

int customers = 5;

for (int i = 1; i <=customers; i++){
if (i==4){
break;
}
System.out.println(i+"번째 손님 안녕하세요");

// run

1번째 손님 안녕하세요
2번째 손님 안녕하세요
3번째 손님 안녕하세요

3) continue 문(건너뛰기): for 문 + continue

  • 특정 회차의 반복을 건너뛸 때 사용
더보기

int customers = 5;
        for (int i = 1; i <=customers; i++){
            if (i==4){
                break;
            }
            if(i==2){
                continue;
            }
            System.out.println(i+"번째 손님 안녕하세요");

1번째 손님 안녕하세요
3번째 손님 안녕하세요 // run

4) while 반복문

  • 종결조건식이 true일 때 반복 / 종결조건이 거짓이 될 때까지 반복
더보기

while (종결조건) {
반복할 명령문;
}

  • i++ : 무한루프 발생을 막아줌
더보기

        int i =1;
        while (i <= 10){
            System.out.println("안녕하세요");
            i++; // 무한루프 발생을 막아줌

5) do-while 반복문

  • 종결 조건을 반복 후에 체크
더보기

do {
반복할 명령문..
while (종결 조건)

  • i++ : 무한루프 발생을 막아줌
더보기

int i =1;
        do {
            System.out.println("안녕하세요");
            i++;
        } while(i<=10);
    }

🧩 배열

1) 배열

  • 비슷한 비슷한 주제의 데이터를 그룹으로 묶어서 표현하는 방법
  • 자료형[] 변수이름 = new 자료형[배열의길이];
더보기
public static void main(String[] args) {
    String name1 = "은지";
    String name2 = "태안";
    // ...

    String[] adventureList = {"은지", "태안","..."};

2) 배열 선언 방법

  • 배열의 이름 / 길이 설정을 다른 줄에서 설정
  • 정수형 배열 arr 선언
int[] arr;
arr = new int[5];
  • 배열 길이 할당
arr = new int[5];
 // arr = [] [] [] [] []
  • 배열 선언과 길이 동시에 할당배열 선언과 동시에 배열요소 할당
int[] arr ={10, 20, 30, 40, 50};
 // [10] ... [50]
  • 배열의 길이 구하기
int arrLength = arr.length;
System.out.println("arrLength ="+arrLength);
arrLength =5 // run
  • 문자열 배열 선언
// 길이가 5인 문자열 배열 arrA 를 선언
String[] arrA = new String[5];
  • 논리형 배열 선언
// 길이가 3인 논리형 배열 arrB 를 선언
boolean[] arrB = new boolean[3];

 

3) 배열의 요소

int[] arr = {10, 20, 30, 40, 50}; // ✅ 배열 선언과 동시에 배열의요소 설정

 

4) index

  • index 시작은 0
더보기

int[] arr ={10, 20, 30, 40, 50};
System.out.println("배열의 1번째 요소 = " + arr[0]);
System.out.println("배열의 2번째 요소 = " + arr[1]);
System.out.println("배열의 3번째 요소 = " + arr[2]);
System.out.println("배열의 4번째 요소 = " + arr[3]);
System.out.println("배열의 5번째 요소 = " + arr[4]);

  • 주의사항(에러)
더보기

int[] arr = {10, 20, 30, 40, 50}; // 5개의 길이를 가진 배열
System.out.println("배열의 6번째 요소 = " + arr[5]); // ❌ 에러 발생

5) 배열 정보 삽입 수정(index 활용)

더보기
  • int[] arr = new int[5];
    arr[0] = 100; // ✅ 1번째 요소를 100로 설정
    arr[1] = 200; // ✅ 2번째 요소를 200로 설정
    arr[2] = 300; // ✅ 3번째 요소를 300로 설정
    arr[3] = 400; // ✅ 4번째 요소를 400로 설정
    arr[4] = 500; // ✅ 5번째 요소를 500로 설정
    arr[5] = 600; // ❌ 접근 불가

    System.out.println("배열의 1번째 요소는 0번째 인덱스: " + arr[0]); // 100
    System.out.println("배열의 2번째 요소는 1번째 인덱스: " + arr[1]); // 200
    System.out.println("배열의 3번째 요소는 2번째 인덱스: " + arr[2]); // 300
    System.out.println("배열의 4번째 요소는 3번째 인덱스: " + arr[3]); // 400
    System.out.println("배열의 5번째 요소는 4번째 인덱스: " + arr[4]); // 500

6) 배열 탐색(index 활용)

  • 반복문을 통해 배열 탐색
더보기

int[] arr = {1, 2, 3, 4, 5};

for (int i = 0; i < arr.length; i++) {
// ✅ 숫자대신 변수i 를 인덱스 활용 
    System.out.println("numbers[" + i + "] = " + arr[i]); 
}

  • for 문
더보기

for(배열의요소 : 배열) {
명령문;
}

 

int[] arr = {100, 200, 300, 400, 500};
for (int a : arr) {
System.out.println("배열의 각 요소 = " + a);
}

7) 2차원 배열

  • 2차원배열은 2차원적인 정보를 표현
  • 첫번째 인덱스: 행 = 가로 방향
  • 두번째 인덱스: 열 = 세로
더보기

 

boolean[][] board = new boolean[2][2]; // ✅ 2 x 2 2차원 배열 선언

 

boolean[][] board = {
{true, false}, // 0행의 0열, 0행의 1열,
{false, true}  // 1행의 0열, 1행의 1열
};

 

  • 2차원 배열 직접 탐색

System.out.println(board[0][0]); // true 까만돌
System.out.println(board[0][1]); // false 흰돌
System.out.println(board[1][0]); // false 흰돌
System.out.println(board[1][1]); // true 까만돌

🧩 Method

1) method

  • 작업을 표현하는 방법
  • 구조
public class 클래스이름 {

		[반환자료형] [메서드이름](매개변수..) {
				작업 명령문들...
		}
}
  • 호출부, 선언부

오렌지 착즙기계 (매서드/선언부) / 사람(호출부) / 오렌지 넣는 곳(매개변수)

  • 지역변수

- {} 영역에서만 생존가능

- 중괄호 안에 선언된 변수는 중괄호 안에서만 생존

 

2) 선언부

  • 메서드 이름

- 카멜케이스(camelCase)를 사용
- 동사
- 예시: sum(), printMessage(), findUserById()

  • 매개변수

- 정수만 가능
- 데이터를 전달받는 공간(변수)
- 여러 개를 사용할 수 있으며 쉼표(,)로 구분

  • 작업내용

- 메서드가 실행할 명령문을 {} 중괄호 안에 작성
- 작성된 코드가 첫 번째 줄부터 실행
- 결과 반환: return

  • 반환값 / 반환자료형 설명

- 반환값: 작업한 결과를 반환해야 할 경우 return 키워드를 사용 / 호출된 곳으로 이동
- 반환 자료형
> 반환값이 있는 경우 → 반환되는 데이터의 자료형(int, String, double 등
> 반환값이 없는 경우 → void

 

3) 호출부

  • return: 변환 값이 있는 데이터
더보기

public class Calculator {
    
    int plus(int value1, int value2){
        int result = value1 + value2;
        return result;

    }

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

        Calculator calculator = new Calculator(); // 객체 소환
        int result = calculator.puls(3,5); // 호출부
        System.out.println("결과는 :"+result);
    }

  • void: 반환 데이터가 없는 메서드
더보기

public class Calculator {

void plus(int value1, value2) { 
int result = value1 + value2;
System.out.println("계산결과는 " + result + "입니다.");
}

 

public class Main {

public static void main(String[] args {
Calculator calculator = new Calculator();
calculator.sum(1, 2); // 받아서 처리하지 않음
}

'🔌 SPARTA > Courses' 카테고리의 다른 글

객체지향 특징  (0) 2026.01.14
객체지향 이해하기  (0) 2026.01.09
Java 기초문법(1)  (0) 2026.01.08
GIT  (0) 2026.01.06
HTTP와 REST API  (1) 2026.01.05