본문 바로가기
computing

20250410_java6

by greentworkshop 2025. 4. 10.

반복문, 배열


반복문

for문

public class Main{
public static void main(String[] args) {
    int sum1 = 0;
    for(int x = 0; x <= 100;x++)
    sum1 += x;
    
    int y,  sum2;
    for(y = 0, sum2=0; y <= 100; y++) 
    sum2 += y;

    int sum3 = 0;
    for(int z = 100; z >= 0; z--) 
    sum3 += z;

    System.out.println("합계는" + sum1);
    System.out.println("합계는" + sum2);
    System.out.println("합계는" + sum3);
}
}

if else, while문

import java.util.Scanner;
    public class WhileEx01 {
    public static void main(String[] args) {
    int count=0; //입력받은 값 갯수
    int sum=0; //전체 입력값의 합
    //double sum = 0;
    
    Scanner scanner = new Scanner(System.in);
    System.out.println("정수를 입력하고 마지막에 -1을 입력하세요.");
    
     //값을 입력받는 코드
    int n = scanner.nextInt(); // 입력받을 변수 선언
    while(n != -1) { // -1 입력시 while문 탈출, 0점도 있으니까
        sum += n;
        count++;
        n = scanner.nextInt(); // 입력받은 값으로 다시 초기화
    }
    
    //입력된 값을 계산하는 코드
    if(count == 0) 
        System.out.println("입력된 수가 없습니다.");
    else {    
        System.out.print("정수의 개수는 " + count + "개이며");
        System.out.println("평균은" + sum/count/1.0 + " 입니다.");  //형변환  
        //(double) sum / count  - 명시적 형변환
    }
}
}

꼭 암기 해야하는 코드

    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt(); // 정수입력

do-while문

public class DoWhileEx01 {
    public static void main (String[] args) {
        char c = 'a';
        do {
            System.out.print(c);
            c = (char) (c + 1);
        } while (c <= 'k'); 
    }
 }

중첩 for문

public class NestedLoop {
 	public static void main(String[] args) {
	 	for (int i = 2; i < 10; i++) { // 단에 대한 반복. 1단에서 9단
			for (int j = 1; j < 10; j++) { // 각 단의 곱셈
				System.out.print(i + "*" + j + "=" + i * j); // 구구셈 출력
				System.out.print('\t'); // 하나씩 탭으로 띄기
			}
 			System.out.println(); // 한 단이 끝나면 다음 줄로 커서 이동
		}
	 }
}

foreach문

 public class forEach01 {
     public static void main(String[] args) {
        int[] array01 = { 32, 87, 3, 357, 12 };
        //for(int i=0;i<array01.length;i++)
            //System.out.print(array01 [i] + " ");
        for(int i:array01)
            System.out.print(i + " ");
    }
}

활용

public class ForeachEx {
    public static void main(String[] args) {
        int [] n = { 1,2,3,4,5 };
        int sum=0;
        for(int k : n) { // k는 n[0], n[1], ..., n[4]로 반복
            System.out.print(k + " "); // 반복되는 k 값 출력
            sum += k;
        }
        System.out.println("합은 " + sum);
        
        String f[] = { "사과", "배", "바나나", "체리", "딸기", "포도" } ;
        for(String s : f) // s는 f[0], f[1], ..., f[5]로 반복
            System.out.print(s + " ");
    }
 }

continue문

조건을 만족하지 않는 구간이 발생시 해당 값을 건너뛰고 다음 루프로 이동

import java.util.Scanner;
    public class ContinueEx01{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("정수를 5개 입력하세요.");
        int sum=0;
        for(int i=0; i<5; i++) {
            int n = scanner.nextInt(); // 키보드에서 정수 입력
            if(n<=0) 
                continue; // 양수가 아닌 경우 다음 반복으로 진행
            else 
                sum += n; // 양수인 경우 덧셈
            }
        System.out.println("양수의 합은 " + sum);
    }
 }

break문

조건을 만족하지 않는 구간이 발생하면 바로 루프를 탈출


배열

배열 선언시 위치는 정해지지만 값이 할당되기 전까지 실질적인 메모리 공간을 차지하지는 않음
(아파트 청약후 입주 대기중인 상태)

 

int intArray [];
// 배열 타입, 
//배열을 선언할 때에는 크기를 지정할 수 없음
intArray = new int [5];

다차원 배열을 출력하는 코드를 만들어보자

public class ArrayTest {
 public static void main(String[] args) {
 int twoArray[][] = { { 0, 1 }, { 10, 11, 12 } };
 for (int i = 0; i < twoArray.length; i++) {
 System.out.println();
 for (int j = 0; j < twoArray[i].length; j++)
 System.out.print(twoArray[i][j] + " ");
 }
 System.out.println();
 }
 }

 

 

public class ArrayEx01 {
	 public static void main(String[] args) {
	 int[ ] c; // 배열 선언시에는 크기 지정X
	 c=new int[] {1, 2, 3, 4}; 
		for(int i=0; i<4; i++) { 
        // for(inti=0; i<c.length; i++) 
        {
	 System.out.print(c[i]+" ");
		 }
	 }
 }

 

지역 변수는 초기화 필요

 


자바의 예외처리까지 시험범위

예외처리 - 스캐너, 파일입출력...

 

컴파일 중간에 에러가 발생해도 사용자가 지정한대로 수행후 정상종료

continue다시 반복문으로 돌아감

 

 

자바의 접근제어자

public

 

다음시간에는 배열의 정렬, 반전에 대해서 배워보겠습니당

'computing' 카테고리의 다른 글

나는 언제쯤 행복해질까?  (0) 2025.05.08
20250417_java7  (0) 2025.04.17
DB기말 정리  (2) 2025.04.07
20250407DB_부속질의  (0) 2025.04.07
20250403_java5  (0) 2025.04.03