5일차 강의 정리


1. 메소드 ( return 값이 없는 경우 )

소스

public class Ex01 {

public static void func1(){

//메소드 start

//메소드: 메소드명(인자){}

System.out.println("메소드1 출력합니다.");

System.out.println("-------------------");

}//func1 end

public static void main(String[] args) {

//main start

String st1="안녕"; //String 변수 선언 및 초기화

func1(); //메소드1 호출

func2(1,2); //메소드2-1 호출

func2(st1,999); //메소드2-2 호출

func2(10,20,30); //메소드2-3 호출

}//main end, 메소드 end


public static void func2(int a,int b){ //메소드 이름 차별화

System.out.println("메소드2-1 출력합니다.");

System.out.println(a+"+"+b+"="+(a+b));

}

public static void func2(String a,int b){ //But 자료형이 다를경우 허용

System.out.println("메소드2-2 출력합니다.");

System.out.println(a+"+"+b+"="+(a+b));

}

public static void func2(int x,int y,int z){         //But 인자의 갯수가 다를경우 허용(->메소드 오버로드)

System.out.println("메소드2-3 출력합니다.");

System.out.println(x+"+"+y+"+"+z+"="+(x+y+z));

}

}//class end

메소드 호출 

main메소드 에서 다른 class 안의 메소드를 호출(func1,func2..)

메소드는 이름을 다르게 써야한다

이름을 같게 쓸경우 ( )안 인자의 자료형이 다르거나 인자의 갯수가 다른경우 허용한다

(단, 인자의 자료형이 아니라 메소드 이름앞의 자료형만 다르게 쓰면 오류처리된다)

이를 메소드 오버로드 라고 한다

결과

2. 메소드 ( return 값이 있는 경우 )

소스

public class Ex02 {

public static void main(String[] args) {

//main start

//메소드를 이용한 계산기 프로그램

int a=5,b=3;

func1(a,b); //덧셈 메소드 호출

func2(a,b); //뺄셈 메소드 호출

int x = func3(a,b); //곱셈 메소드 호출

System.out.println("func3의 수행결과는 "+x);

func4(a,b); //나눗셈 메소드 호출

return; //main이 void인 이유 : return 값이 없기 때문에

}//main end


public static void func1(int a,int b){ //덧셈 메소드

System.out.println(a+"+"+b+"="+(a+b));

return; //void인 경우 생략가능

}

public static void func2(int a,int b){ //뺄셈 메소드

System.out.println(a+"-"+b+"="+(a-b));

}

public static int func3(int a,int b){ //곱셈 메소드(return c의 자료형을 void대신 int로 변경)

int c = a*b;

return c; //c값을 main으로 리턴

}

public static void func4(double a,double b){ //나눗셈 메소드

System.out.println(a+"÷"+b+"="+(a/b));

}

}//class end

return 할 값의 자료형에따라 함수의 자료형을 동일 시 해야한다

현재 예제에서 곱셈 메소드(func3)에서 확인할 수있다

결과

3. args[]를 이용하여 입력 받아 계산하기

소스

public class Ex03 {

/* args 입력을 받아 계산기

* 메소드 사용

* 기능별 (+,-,*,/)

*/

public static void main(String[] args) throws Exception{

//main start

int a = Integer.parseInt(args[0]);       //입력받은 문자열 정수(int)로 변환하며 선언 (첫번째 수)

String b = args[1];                        //연산자는 문자열 그대로 선언(+, -, *, /)

int c = Integer.parseInt(args[2]);       //입력받은 문자열 정수(int)로 변환하며 선언 (두번째 수)

func1(a,b,c); //메소드 호출

}//main end

public static void func1(int a,String b,int c){    //계산할 메소드 func1

int add = a+c;

int sub = a-c;

int mul = a*c;

double div = (double)a/(double)c;

if(b.equals("+")){ //b가 +인 경우

System.out.println(a+"+"+c+"="+add);

}else if(b.equals("-")){

System.out.println(a+"-"+c+"="+sub);

}else if(b.equals("*")){

System.out.println(a+"X"+c+"="+mul);

}else if(b.equals("/")){

System.out.println(a+"÷"+c+"="+div);

}else {

System.out.println("잘못 입력하셨습니다.");

}

/*switch(b){        //switch 문 사용

case "+":

System.out.println(a+b+c+"="+add);

break;

case "-":

System.out.println(a+b+c+"="+sub);

break;

case "*":

System.out.println(a+"X"+c+"="+mul);

break;

case "/":

System.out.println(a+"÷"+c+"="+div);

break;

default:

System.out.println("잘못 입력하셨습니다.");

}*/

}//func1 end

}//class end

계산하는 함수는 if()문 switch()문 두가지 방법을 제시해봤다

10 / 3 입력

띄어쓰기로 구분하여 입력한다

결과


'* Programming > JAVA' 카테고리의 다른 글

DAY6 random 함수  (0) 2016.07.12
DAY6 문제  (0) 2016.07.12
DAY4 문제  (0) 2016.07.11
DAY3 조건문 / 반복문  (0) 2016.07.07
DAY2 변수  (0) 2016.07.06

+ Recent posts