Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 개념
- GROUP BY 절
- SQLD / SQLP
- 코딩테스트
- Codeup
- 응용
- java
- baekjoon
- 기초100제
- 자바
- 단계별로 풀어보기
- 기본
- 기초
- 명품 자바 프로그래밍
- level1
- Python
- HAVING 절
- BOJ
- Codeforces Round #802 (Div. 2)
- 이론
- 공공데이터
- 파이썬
- 백준
- Java11
- Python 3
- 헤드퍼스트 디자인패턴
- SELECT 절
- programmers
- JAVA 11
- pypy3
Archives
- Today
- Total
Development Project
Chapter03 반복문과 배열 그리고 예외 처리 본문
- 반복문
- for문
- 기본형태
- 초기문에 변수 선언, 여러변수를 초기화 가능for(초기작업; 조건식; 반복 후 작업){ // 초기문이 반복후 작업을 했을 때 조건식을 만족하지 않을 때까지 반복 }
- 특이한 형태
// 반복조건이 true이면 무한반복 for(초기작업; true; 반복후작업){ } // 반복조건이 비어있으면 true로 간주, 무한반복 for(초기작업; true; 반복후작업){ } // 초기 작업과 반복후작업은 ','로 분리하여 여러 문장 나열 가능 for(int i=0; i<10; i++, System.out.println(i)){ }
- 기본형태
- while문
while(조건식){ // 조건식이 만족할 때 실행 }
- do while문
- 무조건 최소 한번 작업문 실행do{ // 무조건 실행한 뒤에 조건식 판단 } while(조건식);
- for문
- continue 문과 break 문
- continue : 반복문을 빠져나가지 않으면서 다음 반복으로 진행
- break : 이 명령어를 감싸는 가장 안쪽 반복문 하나를 완전히 빠져나갈 때 사용
- label : 중첩반복문에서 한번에 빠져나갈때 사용
System.out.println("exit을 입력하면 종료합니다."); outer: // label for(;;) { … for(;;) { … for(;;) { … if(text.equals("exit")) //"exit"이 입력되면 중첩반복 모두 종료 break outer; // 중첩반복문을 벗어남 } } } System.out.println("종료합니다...");
- continue : 반복문을 빠져나가지 않으면서 다음 반복으로 진행
- 배열 : 인덱스와 인덱스에 대응하는 같은 타입의 데이터들로 이루어진 자료구조
- 배열 선언
// 1차원 배열 int[] intArray; char[] charArray; // 2차원 배열 int[][] intArray; char[][] charArray;
- 배열 생성
// 1차원 배열 intArray = new int[10]; charArray = new char[20]; // 2차원 배열 intArray = new int[2][5]; charArray = new char[5][2];
- 배열 선언과 함께 초기화
// 1차원 배열 int intArray[] = {0,1,2,3,4,5,6,7,8,9}; // 2차원 배열 int intArray[][] = {{0,1,2},{3,4,5},{6,7,8}};
- for each문 : 배열이나 나열의 각 원소를 순차적으로 접근하는데 유용한 for문
for (배열자료형 배열원소가저장되는변수이름 : 배열이름){ }
- length 필드 : 배열의 크기
- 1차원 : 배열이름.length == 배열의 크기
- 2차원 : 배열이름.length == 행의 개수 / 배열이름[n행].length == n번째 행의 열 개수
- 배열 선언
- 다차원 배열
- 정방형 배열 : 각 행의 열의개수가 같은 배열
int arr[][] = new int[4][4];
- 비정방형 배열 : 각 행의 열의 개수가 다른 배열
int arr[][] = new int[4][]; i[0] = new int[1]; i[1] = new int[2]; i[2] = new int[3]; i[3] = new int[4];
- 정방형 배열 : 각 행의 열의개수가 같은 배열
- 메소드에서 배열 리턴
-
public class Main{ public void main(String[] args){ int[] intArray; // (1) intArray = makeArray(); // (4) } public int[] makeArray(){ int tmp[] = new int[4]; //(2) return tmp; //(3) } }
-
- main() 메소드 : 자바 응용프로그램의 실행 시작 메소드
- 구조
=> main메소드는// 메인은 반드시 밑의 모든 명령어가 빠져서는 안됨 public static void main(String[] args){ }
- public : 다른 클래스에서 메소드 접근이 가능하고
- static : 객체 생성 전부터 호출이 가능하며
- String[] args : 문자열 배열 형식의 매개변수를 인자로 받고 [ cmd창이나 이클립스 등에서 가능 ]
- void : 리턴값이 존재하지 않는다.
- 구조
- 자바의 예외 처리
- 프로그램 오류의 종류
- 컴파일 에러
- 컴파일할 때 발생하는 에러
- 문법에 맞지 않게 작성된 코드를 컴파일할 때 발견 - 런타임 에러
- 실행할 때 발생하는 에러
- 에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
- 예외 : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
- 예외종류
- 예외종류
- => 에러는 어쩔 수 없지만, 예외는 처리해야함!
- 컴파일 에러
- 예외 처리
- 정의
- 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
- 프로그램의 비정상 종료를 막고, 정상적인 실행 상태를 유지하는 것이 목표 - 자바에서 예외처리 절차
- 예외 발생 --> 자바 플랫폼 인지 --> 응용프로그램에서 전달
if) 응용프로그램이 예외를 처리 X ==> 응용프로그램이 강제 종료 - 예외 처리 방법
- try-catch-finally문 사용
try { 예외가 발생할 가능성이 있는 실행문(try 블록) } catch (처리할 예외 타입 선언) { 예외 처리문(catch 블록) } finally { // 생략가능 예외 발생 여부와 상관없이 무조건 실행되는 문장 }
- try-catch-finally문 규칙
- try없이 catch나 finally만 쓸 수는 없음
- try와 catch 사이에 코드를 집어넣을 수 없음
- try 뒤에는 반드시 catch나 finally가 있어야 함
- try 뒤에 finally만 있으면 반드시 예외선언을 만들어야 함
- try-catch-finally문 규칙
- throws와 함께 try-catch-finallly문 사용
import java.io.IOException; public class Main{ public static void main(String[] args) { try{ System.out.println(readString()); } catch(IOException e){ System.out.println(e.getMessage()); e.printStackTrace(); } } public static String readString() throws IOException { byte[] buf = new byte[100]; System.out.print("문자열을 입력하시오 : "); System.in.read(buf); return new String(buf); } }
- throws란?
- 현재 메소드에서 예외를 처리하지 않고, 이 메소드를 사용하는 상위 메소드로 넘겨 처리하는 것
- 개발자가 예외를 발생시키고자 하는 위치에서 예외처리를 해줄 수 있다는 장점이 있음
- 라이브러리를 만들때 자주 사용됨
- throws란?
- try-catch-finally문 사용
- 정의
- 프로그램 오류의 종류
'Language > Java' 카테고리의 다른 글
Chapter06 모듈과 패키지 개념, 자바 기본 패키지 (0) | 2021.12.28 |
---|---|
Chapter05 상속 (0) | 2021.12.27 |
Chapter04 클래스와 객체 (0) | 2021.12.22 |
Chapter02 자바 기본 프로그래밍 (0) | 2021.12.20 |
Chapter01 자바시작 (0) | 2021.12.19 |
Comments