NOTICE 




  

자바에서 인자의 개수가 가변인 메서드를 만드는 방법.


"..."을 이용해서 인자의 개수가 가변인 메서드를 만들 수 있다.


아래는 listAll()이라는 가변 인자를 받을 수 있는 메서드의 예이다.


public class MyTest

{

public static void listAll(String ... strs) {

for(String str : strs) {

System.out.println(str);

}

}


public static void main(String[] args) {

listAll("apple", "banana", "peach");

listAll("orange");

}

}


main()에서 listAll()메서드를 호출할 때 처음엔 인자의 개수를 3개를, 두번째는 1개를 지정하여 호출하고 있다.


실행결과는 아래와 같다.


apple

banana

peach

orange


이 기능은 Java SE6부터 지원된다고 한다.


















  
트랙백   |  댓글   |




  

자바(Java)에서 예외(Exception)를 다루는 간단한 예제



(1)발생한 예외 핸들링하기


try-catch문을 사용하여 try 블럭에서 발생한 예외를 처리할 수 있다.

예제는 0으로 나누기 때문에 예외가 발생한다.


MyClass.java

public class MyClass {

public static void main(String[] args) {

System.out.println("Start");

try {

int a = 100/0;

} catch(ArithmeticException e) {

System.out.println(e.getMessage());

}


System.out.println("End");

}

}



실행결과

Start

/ by zero

End


발생한 에러의 내용을 출력하고 정상 종료한 것을 알 수 있다.



(2)예외 발생시키기


throw를 이용해서 사용자가 예외를 발생시킬 수 있다. 예제에서는 입력값이 0과 100사이를 벗어났을 때 예외를 발생시키고 있다. 또한 예제에서는 발생한 예외를 자신이 처리하지 않고 호출한 메서드로 전달하기 위해 메서드 정의시 "throws 전달할 예외"를 사용하였다.


MyClass.java

public class MyClass {

public static void doSomething(int score) throws Exception {

if(score < 0 || score > 100) {

throw new Exception("score값이 범위(0 <= x <= 100)를 초과하였습니다.");

}

}

public static void main(String[] args) {

System.out.println("Start");

try {

doSomething(-20);

} catch(Exception e) {

System.out.println(e.getMessage());

}


System.out.println("End");

}

}


실행결과

Start

score값이 범위(0 <= x <= 100)를 초과하였습니다.

End


throw한 예외가 main()에서 핸들링된 것을 알 수 있다.



(3)사용자 정의 예외 클래스


Excepion클래스를 상속하면 예외 클래스를 정리할 수 있다.

바로 위의 예제를 사용자 정의 예외 클래스로 구현하였다.


MyClass.java

class MyException extends Exception {

public MyException(String msg) {

super(msg);

}

}


public class MyClass {

public static void doSomething(int score) throws MyException {

if(score < 0 || score > 100) {

throw new MyException("score값이 범위(0 <= x <= 100)를 초과하였습니다.");

}

}

public static void main(String[] args) {

System.out.println("Start");

try {

doSomething(-20);

} catch(MyException e) {

System.out.println(e.getMessage());

}


System.out.println("End");

}

}


Exception클래스를 상속해서 사용자 정의 예외 클래스(MyException)을 정의한 후, 사용자 정의 예외 클래스를 사용하여 예외를 발생시키고 있다. 구현 방법 말고는 위의 예제와 같다.


실행결과

Start

score값이 범위(0 <= x <= 100)를 초과하였습니다.

End


결과 역시 동일하다.



  
트랙백   |  댓글   |




  

Java의 프로그램 코드 상에서 데이터를 표현하는 방식(literal)의 몇가지 정리


(1)UNICODE 문자의 표현

'A'           한문자

'\u1234'    유니코드 문자


(2)정수 표현

123           10진수

040           8진수

0xA3         16진수


(3)실수 표현

3.14F        float타입, "F"를 명시하지 않으면 double타입

3.14         실수 표현

1.2E4        지수 표현(double형)


(4) 논리형 표현

true            참

false            거짓


(5) 이스케이프(escape)문자들


'\n'          새로운 라인

'\t'           탭

'\r'           리턴

'\b'           백스페이스

'\''           한따옴표

'\"'           쌍따옴표

'\\'           역슬래쉬






















  
트랙백   |  댓글   |
 이전  1   다음 

최근댓글
최근트랙백
fotowall :: ncloud RSS Feeds today :    yesterday :
total :