480 likes | 764 Views
Java Programming. 2013 Summer V acation MIS Java Study Group. Chapter03. 반복문과 배열 그리고 예외처리. 3.1 반복문. 3.2 continue 문과 break 문. 3.3 배열. 3.4 다차원 배열. 3 .5 main() 메소드의 인자. 3 .6 자바의 예외 처리. 반복 문. 1. 반복문의 종류. for 문. 반복하는 횟수가 정해진 경우. while. 조건에 따른 반복의 계속과 중단의 경우. do-while. 반복 문.
E N D
Java Programming 2013 SummerVacation MIS Java StudyGroup
Chapter03.반복문과 배열 그리고 예외처리 3.1 반복문 3.2 continue 문과 break 문 3.3 배열 3.4 다차원 배열 3.5 main() 메소드의 인자 3.6 자바의 예외 처리
반복문 1. 반복문의 종류 for 문 반복하는 횟수가 정해진 경우 while 조건에 따른 반복의 계속과 중단의 경우 do-while
반복문 1. • for 문이 실행한 후 오직 한번만 실행되는 초기화 작업 • 콤마(‘,’)로 구분하여 여러 문장 나열 가능 • 초기화할 일이 없으면 비어둘 수 있음 초기문 for(초기문; 조건식; 반복후작업) { ..작업문.. } 조건식 false for 키워드 true 작업문 • 논리형 변수나 논리 연산만 가능 • 반복 조건이 true이면 반복 계속, false이면 반복 종료 • 반복 조건이 true 상수인 경우, 무한 반복 • 반복 조건이 비어 있으면 true로 간주 반복 후작업 • 반복 작업 문장들의 실행 후 처리 작업 • 콤마(‘,’)로 구분하여 여러 문장 나열 가능
반복문 1. • for (i = 0; i < 10; i++) • { • System.out.print(i); • }
반복문 1.
반복문 1. while 조건식 false while(조건식) { ..작업문.. } for 키워드 true • 반복 조건이 true이면 반복, false이면 반복 종료 • 반복 조건이 없으면 컴파일 오류 • 처음부터 반복조건을 통과한 후 작업문 수행 작업 문
반복문 1. • i = 0; • while (i < 10) • { • System.out.print(i); • i++; • }
반복문 1.
반복문 1. do while do { ..작업문.. } while(조건식) 작업 문 들 true 조건식 • 무조건 최소 한번은 실행 false • 반복 조건이 true이면 반복, false이면 반복 종료 • 반복 조건이 없으며 컴파일 오류
반복문 1. • inti = 0; • do • { • System.out.print(i); • i++; • } • while (i <10);
반복문 1.
반복문 1. 중첩 반복 for(i=0; i<100; i++) // 100 개의 학교 모두의 성적을 더한다. { ..... ..... } • for(a=0; a<10000; a++) // 10000 명의 학생 성적을 더한다. { ..... ..... } for 문을 이용한 이중 중첩 구조 • 반복문이 다른 반복문을 내포하는 모양 • 이론적으로는 몇 번이고 중첩 반복 가능 • 너무 많은 중첩 반복은 프로그램 구조를 복잡하게 하므로 보통 2중 또는 3중 반복 정도가 적당
반복문 1.
continue 문과 break 문 2. continue 문 • 반복문을빠져 나가지 않으면서 특정 값에 대해 반복문 내의 • 실행문을건너 뛸 때 사용 for (초기문; 조건식; 반복후작업) { ............... continue; ............... } while (조건식) { ............... continue; ............... } do { ............... continue; ............... } while (조건식);
continue 문과 break 문 2. break 문 • 반복문을 완전히 빠져 나갈 때 사용 • break문은 하나의 반복문만 벗어남 • 중첩 반복의 경우 안쪽 반복문이break 문을 포함하고 있으면 안쪽반복문만 벗어남
continue 문과 break 문 2. 라벨(LABEL)로 분기 사용하지 말것
continue 문과 break 문 2. Check Time 1 2중 중첩을 사용하여 아래와 같이 출력 되도록 for, while, do-while 문으로 각각 프로그램을 작성하라. ***** **** *** ** *
continue 문과 break 문 2. Check Time 2 무조건 현재의 반복문을 벗어날 때 사용되는 키워드는? break 3 for ( ; ; );을 실행하면 어떻게 되는가? 무한 반복에 빠진다. 4 1부터 100까지 수의 합을 구하는 프로그램을 작성하라.
배열 3. 배열(array)이란?
배열 3. 배열의 필요성 (1) 10개의 정수형 변수를 선언하는 경우 (2) 10개의 정수로 구성된 배열을 선언하는 경우
배열 3. 배열의 선언과 생성, 접근 intintArray[]; 1. 배열에 대한 레퍼런스 변수 선언 배열 타입 배열에 대한 레퍼런스 변수 배열선언 intArray = new int [5]; 2. 배열 생성 타입 원소 개수 배열에 대한 레퍼런스 변수 배열 생성 intArray[3] = 20; intn = intArray[3]; intArray 3. 배열 사용 인덱스
배열 3. for (int i = 0; i < intArray.length; i++) 자바에선 배열도 하나의 객체로 관리 length 필드는 해당 배열 객체의 크기를 저장한 필드 필드 :메소드 내부가 아닌 클래스 내부에 선언된 변수들
배열 3.
배열 3. 배열의 선언과 생성, 초기화(재설명) • 배열 선언과 배열 생성의 두 단계 필요 • 배열 선언 • 배열 생성 • 선언과 초기화 • 배열이 생성되면서 원소의 값이 초기화됨 intintArray[]; char charArray[]; float floatArray[]; int[] intArray; char[] charArray; float[] floatArray; 또는 intArray = new int[10]; charArray = new char[20]; floatArray = new float[5]; 또는 intintArray[] = new int[10]; char charArray[] = new char[20]; float floatArray[] = new float[5]; intintArray[] = {0,1,2,3,4,5,6,7,8,9};
배열 3. 배열과 for-each 문
배열 3. Check Time 10개의 int형 원소를 갖는 배열을 선언하고 생성하여라? 1 inti[] = new int[10]; 2 배열의 크기를 알아내는 방법은? 배열의 레퍼런스 변수에서 length라는 필드값을 읽어 들여 크기를 알아낸다. ex) i.length = 10; 3 10개의 int형 원소를 갖는 배열에 1~10까지 값을 저장하고 모든 원소의 값을 더하는 프로그램을 작성하라.
다차원 배열 4. 2차원 배열(정방형 배열) • 2차원 배열 선언 • 2차원 배열 생성 • 2차원 배열 선언, 생성, 초기화 intintArray[][]; char charArray[][]; float floatArray[][]; int[][] intArray; char[][] charArray; float[][] floatArray; 또는 intArray = new int[2][5]; charArray = new char[5][5]; floatArray = new float[5][2]; intintArray[] = new int[2][5]; char charArray[] = new char[5][5]; float floatArray[] = new float[5][2]; 또는 intintArray[][] = {{0,1,2},{3,4,5},{6,7,8}}; char charArray[][] = {{'a', 'b', 'c'},{‘d'.'e','f'}}; float floatArray[][] = {{0.01, 0.02}, {0.03, 0.04}};
다차원 배열 4. 2차원 배열(정방형 배열)
다차원 배열 4. 2차원 배열(비정방형 배열) • 정방형 배열 • 각 행의 열의 개수가 같은 배열 • 비정방형 배열 • 각 행의 열의 개수가 다른 배열 • 비정방형 배열의 생성 i i[0][0] i[0][3] inti[][]; i = new int[4][4]; i[3][0] i[3][3] 정방형 inti[][]; // 2차원 배열의 레퍼런스 선언 i = new int [4][]; // 각 행의 레퍼런스 배열 생성 i[0] = new int [1]; // 첫 행의 1개 정수 배열 생성 i[1] = new int [2]; // 둘째 행의 2개 정수 배열 생성 i[2] = new int [3]; // 셋째 행의 3개 정수 배열 생성 i[3] = new int [4]; // 네째 행의 4개 정수 배열 생성 i=new int [4][]; i[0] = new int[1]; i[0][0] i i[1][0] i[1][1] i[3] = new int[4]; i[3][0] i[3][1] i[3][2] i[3][3] 비정방형
다차원 배열 4. 2차원 배열(비정방형 배열)
다차원 배열 4. 메소드에서 배열 리턴 • 메소드가리턴하는 배열 • 메소드가리턴하는 배열의 타입과 차원은 리턴받는 배열 레퍼런스의 타입과 차원에 일치해야 함 • 리턴 타입에 배열의 크기를 지정하지 않음 메소드 이름 리턴 타입 int [] makeArray() { int temp [] = new int [4]; return temp; } 배열 리턴
다차원 배열 4. 메소드에서 배열 리턴
다차원 배열 4. Check Time int형 원소를 갖는 2X3 크기의 2차원 배열을 선언하고 생성하라. 1 inti[][] = new int[2][3]; 앞의 문자에서 생성된 배열의 [1][2] 위치에 10을 저장하는 코드를 작성하라. 2 i[1][2] = 10; 다음 그림과 같은 구조 및 값을 갖는 비정방형 배열을 선언하고 생성하라. 3 0 1 2 3 inti[][] = {{0, 1, 2, 3}, {4}, {5}, {6, 7, 8, 9}}; 4 5 6 7 8 9
다차원 배열 4. Check Time int형 원소를 갖는 2차원 배열의 모든 원소의 합을 구하여 리턴하는메소드를 작성하라. 4
main() 메소드의 인자 5. main() 메소드의 특징 객체 생성전부터 호출 가능 다른클래스에서 메소드 접근 허용 문자열 배열 인자 리턴 값 없음 public static void main(String [] args) { … }
main() 메소드의 인자 5. main() 메소드의 특징
main() 메소드의 인자 5. main() 메소드에 인자 전달
main() 메소드의 인자 5. main()의인자 이용 예 이용 예를 보며 따라해 보자. 동영상 첨부 예정 공간
main() 메소드의 인자 5. Check Time 다음 문장을 수행한 후 z 값은? 1 11 int x = 2, y = 10, z = 0; z = x++*2+--y-5+x*(y%2); 2 다음 문장을실행하면 화면에 출력되는 값은? 4 System.out.println(8 >> 1); 3 다음 문장을실행하면 화면에 출력되는 값은? 4 intopr = 4; System.out.println(opr++);
자바의 예외 처리 6. • 예외(Exception) • 실행 중 발생하는 에러는 컴파일러가 알 수 없다. • 실행 중 에러 발생 시 예외를 발생시켜 예외 처리함 • 예외를 처리하지 않으면 예외가 발생한 프로그램은 강제 종료
자바의 예외 처리 6. 예외 발생 사례 컴파일 오류가 아닌 프로그램실행 중의 런타임 오류
자바의 예외 처리 6. 예외 처리, try-catch-finally문
자바의 예외 처리 6. 자주 발생하는 예외
자바의 예외 처리 6. Check Time try 블록과 catch 블록의 역할을 설명하라. 1 try블록은 예외 발생을 감시하는 기능을 수행하고 catch블록은 발생한 예외를 잡아서 처리한다. 다음 밑줄 친 문장을 실행할 때 발생하는 예외는 무엇인가? 2 (1) intar [] = new int [3]; ar[4] = 5; java.lang.ArrayIndexOutOfBoundsException String s = “Java”; int n = Integer.parseInt(s); java.lang.NumberFormatException (3) intar [] = null; ar[2] = 4; java.lang.NullPointerException
Java 제 3 장 학습 수고하셨습니다. 열심히 공부해주셔서 고맙습니다. Q&A