C언어와 비슷한 문법!

 

1. if-else문

public class Nested {
	public static void main(String[] args) {
    
    	Scanner sc = new Scanner(System.in);
        System.out.print("정수 입력: ");
        int num = sc.nextInt();
        
        if (num > 0)
        	System.out.println("양수");
        else if (num == 0) 
        	System.out.println("0");
        else
        	System.out.println("음수");
            
    }
}

 

2. switch문

- 제어식에 숫자, 문자, 문자열 가능

 

import java.util.*;

public class Score2Grade {
	public static void main(String[] args) {
    	int score, num;
        char grade;
        
        Scanner sc = new Scanner(System.in);
        System.out.print("성적 입력: ");
        score = sc.nextInt();
        num = score / 10;
        
        switch(num) {
        case 10:
        case 9:		grade = 'A';    break;
        case 8:		grade = 'B';	break;
        case 7:		grade = 'C';	break;
        case 6:		grade = 'D';	break;
        default:	grade = 'F';	break;
        }
        System.out.println("학점: " + grade);
    }
}
switch(num) {
	case 10:
	case 9:    return 'a';
    
	case 10, 9 ->    return 'a';
}

// 둘 다 가능

 

3. for문

- for (초기식; 조건식; 증감식) {

   }

public class Sum {
	public static void main(String[] args) {
    	int sum = 0;
        
        for (int i = 1; i <= 10; i++) {
        	sum += i;
        }
        
        System.out.println("1부터 10까지의 정수의 합 = %d" + sum)l     
    } 
}

 

4. while문

- while (조건식) {

  }

import java.util.Scanner;

public class GetSum {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        
        int sum = 0, value = 0;
        
        while (value != -1) {
            sum += value;
            System.out.print("정수 입력: ");
            value = sc.nextInt();
        }
        System.out.println("정수의 합은 " + sum + "입니다.");
    }
}

 

5. do-while문

- 조건이 참인 동안 do 안의 문장 반복

- 우선 do 문장 한 번 실행하고 조건 확인

import java.util.Scanner;

public class CheckInput {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        int month;
        do {
            System.out.print("올바른 월을 입력하세요 [1-12]: ");
            month = sc.nextInt();
        } while (month < 1 || month > 12);
        System.out.println("사용자가 입력한 월은 " + month);
    }
}

 

6. break, continue

- break: 반복문을 벗어남

- continue: 해당 반복을 멈추고 다음 반복으로 넘어감

 

7. 무한루프

- while문에서 종료 조건을 만들기 까다로운 경우 while(true)를 이용한 후 그 안에서 break문으로 반복을 빠져나가는 것이 좋음


8. 배열 선언과 사용

- 자바에서 배열은 객체

// 배열 생성
int[] s = new int[10];

// 배열 채우기
for (int i = 0; i < s.length; i++) {
	s[i] = i;
}

// 배열 출력
for (int i = 0; i < s.length; i++) {
	System.out.print(s[i] + " ");
} 
// 0 1 2 3 4 5 6 7 8 9

- 배열의 크기: s.length

// 배열 초기화
int [] scores = {10, 20, 30, 40, 50};

 

9. for-each 루프

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

for (int e : list) {
	System.out.println(e);
}
// 배열 전부 출력

 

10. 2차원 배열

// 2차원 배열 생성
int[][] s = new int[3][5];

// 2차원 배열 초기화
int[][] testArray = {
	{10, 20, 30, 1, 2},
	{40, 50, 60, 3, 4},
	{70, 80, 90, 5, 6}
};

// 2차원 배열 출력
for (int i = 0; i < 3; i++) {
	for (int j = 0; j < 5; j++) {
    	System.out.println(s[i][j]);
    }
}

 

11. 래그드 배열

int[][] ragged = new int[MAX_ROWS + 1][];

for (int r = 0; r <= MAX_ROWS; r++)
	ragged[r] = new int[r+1];

 

public class RaggedArray {
	public static void main(String[] args) {
    	int[][] ragged = new int[3][];
        ragged[0] = new int[1];
        ragged[1] = new int[2];
        ragged[2] = new int[3];
        
        for (int r = 0; r < ragged.length; r++) {
            for (int c = 0; c < ragged[r].length; c++)
            	ragged[r][c] = c;
        }
    }
}

 

12. ArrayList

- 배열의 크기 동적 변경하면서 사용 가능

ArrayList<String> list;    // list: 문자열을 저장하는 ArrayList 참조 변수 선언
list = new ArrayList<>();  // ArrayList 생성

list.add("Apple");
list.add("Grape");
import java.util.*;

public class ArrayListTest {
	public static void main(String[] args) {
    	ArrayList<String> list = new Arraylist<>();
        list.add("Anna");
        list.add("Mike");
        list.add("Joy");
        list.add("Lina");
        for (String obj : list)
        	System.out.print(obj + " ");
    }
}
// Anna Mike Joy Lina

'Software > JAVA' 카테고리의 다른 글

[JAVA] Day5. 상속  (0) 2022.12.29
[JAVA] Day 3-4. 클래스와 객체  (2) 2022.12.29
[JAVA] Day1. 자바 기초  (0) 2022.12.27
[JAVA] 예외처리  (0) 2021.07.22
[JAVA] 객체지향  (0) 2021.07.22

+ Recent posts