안녕, 세상!

3. 자바 문법 기초2 본문

It공부/Java

3. 자바 문법 기초2

dev_Lumin 2020. 7. 9. 21:12

(1) 조건문 

① IF( ) 문

단순 if문의 구조는 c언어 문법과 크게 다른 점이 없습니다.

 

if (조건식)

{

  실행문;   //조건식이 true 일 경우에만 실행됩니다.

}

 

 

다음은 조건문 if를 사용한 예시입니다.

if 문 안의 실행문이 1줄일 경우엔 중괄호를 안 해도 조건문이 정상적으로 실행이 됩니다.

 

 

② if-else 문

if-else문은 조건식이 참일 경우에 실행할 실행문과 거짓일 경우 실행할 실행문을 별도로 지정할 때 사용합니다.

 

if (조건식)

{

  실행문

}

else 

{

  실행문

}

 

다음은 조건문 if-else 문의 예제입니다.

 

 

③ else if( ) 문

프로그래에서 처리해야 할 조건이 여러 개이고 각 조건에 따라 실행해야 할 실행문이 각각 별도로 존재하는 경우에 else if 문을 사용합니다.

 

if(조건식1)

   실행문1;

else if (조건식2)

   실행문2;       //조건식1이 거짓이고 조건식2가 참일 경우 실행됩니다.

....

else if (조건식N)

   실행문N;

else

   실행문;     //위의 조건들이 모두 거짓일 경우 실행됩니다.

 

 

 

 

④ switch( ) 문

프로그램에서 처리해야할 조건이 여러 개이고 각 조건에 따라 실행해야 할 실행문이 각각 별도로 존재하는 경우에 사용됩니다.

else if( )는 주로 조건의 개수가 적은 경우에 사용하고, switch( )는 조건의 개수가 많은 경우에 사용합니다.

 

switch (수식 혹은 변수)    // 이 괄호에 들어가는 값과 같은 레이블의 실행문을 실행시킵니다.

{

   case 레이블1:             //레이블은 숫자만 사용할 수 있습니다.

           실행문 블록1;

          break;

 

   case 레이블2:

           실행문 블록2;

          break;

   ......

 

   default:

          기본실행문 블록;

}

 

 

다음은 switch 문을 사용한 예시입니다.

 

 

 

 

(2) 반복문

반복문은 지정한 동작을 반복적으로 수행하는 기능입니다.

 

① while 문

조건식이 참이면 지정한 수행문 블록을 반복적으로 수행하는 제어문입니다.

 

while (조건식)

{

   실행문1;

   실행문2;

   ....

   실행문N;

}

 

 

② do-while 문

while 문과 동일하게 조건식이 참일 때까지 지정한 수행문 블록을 반복적으로 수행하는 제어문입니다.

while 문과 다른 점은 처음 실행될 때 조건식을 먼저 보는 것이 아니라 실행문이 한 번 실행이 된 후 조건식을 보고 반복할지 말지 판단합니다.

 

do

{

   실행문1;

   실행문2;

   ....

   실행문N;

}while (조건식);     // 처음에 위의 실행문이 먼저 실행되고 조건식을 봄

 

 

③ for 문

특정 동작을 반복적으로 수행하는 반복 제어문입니다.

while 문과 거의 동일한 작업을 수행하지만, 반복할 횟수의 지정이나, 조건식이 한 줄에 모두 표시되어 while 문에 비해 복잡한 작업을 간단하게 코딩할 수 있습니다.

 

for (초기화식; 조건식; 증감식)

{

   실행문1;

   실행문2;

   ....

   실행문N;

}

 

for (n=0; n<5; n++)

{

   실행문 블록;

}

 

 

 

④ break 문

switch 문이나 반복문에서 빠져나오는 기능을 수행합니다.

사용예제는 switch 문에서 확인했습니다.

반복문에서 사용되는 경우에는 보통 조건문과 함께 사용해서 조건식을 만족하면 반복문을 빠져나오게 설계합니다.

 

break;

 

⑤ continue 문

반복문 블록을 다시 시작하는 기능을 수행합니다.

반복문 안에서 실행문들이 실행을 하다가 continue 문을 만나게 되면 continue 문 아래의 실행문은 실행하지 않고 다시 반복문 블록의 처음부터 시작하게 됩니다.

 

continue;

 

 

 

 

 

(3) 배열 (Array)

여러 개의 데이터를 하나의 배열 이름으로 다룰 수 있도록 여러 개의 메모리 저장소를 제공하는 자료형입니다.

배열을 사용하는 이유는 많은 양의 데이터를 손쉽게 다루고 변수의 선언을 줄여서 프로그램의 구조를 단순하게 하기 위함입니다.

배열의 선언은 다음과 같이 합니다.

 

int [ ] 배열명 = new 자료형[배열개수];

ex) int [ ] a = new int[3]

혹은

int 배열명 [ ] = new 자료형[매개변수];

혹은

자료형 배열명[ ];

배열명 = new 자료형[배열개수];

 

배열의 선언과 초기화를 동시에 하는 방법은 다음과 같습니다.

 

int [ ] a = {1, 2, 3, 4}

혹은

int a [ ] = {1, 2, 3, 4}

 

배열의 인덱스 번호는 c언어나 파이썬 언어와 동일하게 0부터 시작해서 N-1까지 번호가 매겨집니다.

 

다음은 배열을 사용한 예시입니다.

 

 

 

 

(4) 메소드(Method)

프로그램을 이용하여 컴퓨터에 지시하는 내용이 많아질수록 프로그램 코드의 양은 점점 많아지게 됩니다.

따라서 프로그램의 기능이 복잡해지고 다양해질수록 프로그램의 구조를 단순화하고 명확하게 하기 위해서 메소드를 사용합니다.

메소드란 지정된 특정 기능을 수행하는 하나의 프로그램 모듈(module)로 원하는 위치에서 해당 메소드를 호출하면 지정된 기능을 수행하며, 함수(function)라고도 불립니다.

 

메소드의 정의

메소드의 자료형/void 메소드명( 인수 )  //반환할 값이 있으면 자료형 사용, 받을 인수가 있을 시 괄호에 인수들 사용

{

    .... 

    메소드의 기능을 수행하는 실행문들

    ....

    return;   //반환할 값이 있으면 사용

}

 

메소드를 정의하기 위해서 반드시 메소드의 이름을 정해야 합니다.

위에 주석으로 설명했듯이 반환할 값의 유무, 받을 인수의 유무에 따라서 능동적으로 사용하면 됩니다.

 

 

메소드의 호출

위에서 정의한 메소드를 호출할 수 있습니다.

 

메소드를 정의하고 호출하는 예제는 다음과 같습니다.

반환하는 return의 변수 res가 int 형이므로 메소드를 정의할 때 int로 정의하였고 메소드가 인수 두 개를 받으므로 그에 맞게 값을 넣어서 실행하였습니다.

 

 

 

 

② 예외처리

예외(Exception)란 프로그램의 실행 중에 런 타임 오류의 발생을 응용프로그램에게 알리는 동작을 말합니다.

예컨대 정수로 0을 나누는 경우, 배열의 크기보다 큰 인덱스 번호로 배열의 원소를 접근하는 경우 등 여러 가지 가능성이 존재합니다.

자바에서 이러한 오류를 정상적으로 처리할 수 있게 해주는 Error 클래스와 Exception 클래스를 제공하고 있습니다.

Error 클래스는 시스템에서 발생되는 심각한 오류이므로 프로그래머에 의하여 처리할 수 없는 반면, Exception 클래스는 예외 처리로 프로그래머에 의해 처리됩니다.

Exception 클래스는 무수히 많지만 그중 많이 사용되는 종류는 다음과 같습니다.

예외 종류 예외 발생 경우
ArithmeticException 정수를 0으로 나눌 때 발생
NullPointerException null 레퍼런스를 참조할 때 발생
ClassCastException 변환할 수 없는 유형으로 객체를 변환할 때 발생
OutOfMemoryException 메모리가 부족한 경우 발생
ArrayIndexOutOfBoundsException 메모리가 범위를 벗어난 접근 시 발생
IllegalArgumentException 잘못된 인자 전달 시 발생
IOException 입출력 동작 실패 또는 인터럽트 시 발생
InputMismatchException Scanner 클래스를 이용하여 입력 받은 문자를 nextInt(), nexDouble() 등의 메소드로 변환하고자 할 때 일치하지 않는 유형의 데이터가 입력되었을 때 발생
NumberFormatException 문자열이 나타내는 숫자와 일치하는 않는 유형의 숫자로 변환 시 발생

 

 

 

try, catch, finally 문

예외 처리란 프로그래머가 예외 상황이 발생할 가능성을 예측하여 해당 예외 상황이 발생하면 이에 대응하는 것을 말합니다.

자바에서 예외 처리 시 try, catch, finally 문을 사용합니다.

 

try

{

   예외가 발생할 가능성이 있는 실행문

}

catch(처리할 예외 타입 선언)

{

   예외 처리문

}

finally

{

   예외 발생과는 상관없이 무조건 실행되는 실행문

}

 

만일 예외 상황이 발생하면 해당 예외 상황의 catch 문이 실행되고 예외 상황이 발생하지 않으면 catch 문이 실행되지 않습니다.

finally 문은 선택적 구문으로서 생략되어도 상관없으며, 보통의 실제 경우에 생략합니다.

finally 문이 존재한다면 try 문에서 예외가 없다면 try 문 실행 후 finally 문이 바로 실행되고, try 문에서 예외가 발생하면 catch 문이 실행된 후 finally 문이 실행됩니다.

 

다음은 ArithmeticException을 처리하는 예제입니다.

 

'It공부 > Java' 카테고리의 다른 글

6. 윈도우 프로그래밍  (0) 2020.07.12
5. 클래스 상속  (0) 2020.07.11
4. 클래스와 객체  (0) 2020.07.10
2. 자바 문법 기초  (0) 2020.07.07
1. java 기본 및 설치  (0) 2020.07.05
Comments