매개변수의 특징
- 메소드 호출 시 선언되어, 전달되는 값을 저장한다.
- 매개변수가 선언된 메소드 내에서만 유효한 변수이다.
매개변수가 두개인 메소드, 매개변수가 존재하지 않는 메소드
public class Method2Param {
public static void main(String[] args) {
double myHeight = 175.9;
hiEveryone(12,12.5);
hiEveryone(13,myHeight);
byEveryone();
}
public static void hiEveryone(int age, double height){
System.out.println("제 나이는 " + age+"세 입니다.");
System.out.println("저의 키는 " +height+"cm 입니다.");
}
public static void byEveryone(){
System.out.println("다음에 뵙겠습니다.");
}
}
-----------------------------------------------------------------------
제 나이는 12세 입니다.
저의 키는 12.5cm 입니다.
제 나이는 13세 입니다.
저의 키는 175.9cm 입니다.
다음에 뵙겠습니다.
값을 반환하는 메소드
public class MethodReturns {
public static void main(String[] args) {
int result;
result = adder(4,5);
System.out.println("4 + 5 : " +result);
System.out.println("3.5 * 3.5 : "+square(3.5));
}public static int adder(int num1, int num2){
int addResult = num1 + num2;
return addResult;
}
public static double square(double num){
return num * num;
}
}
-------------------------------------------------------------------
4 + 5 : 9
3.5 * 3.5 : 12.25
"adder 메소드는 int형 값을 반환합니다."
"square 메소드는 double형 값을 반환합니다."
키워드 return이 지니는 두 가지 의미
return 문이 실행되면 메소드가 종료되면서 값이 반환된다 return이 갖는 두가지 의미.
"메소드를 호출한 영역으로 값을 반환"
"메소드의 종료"
------------------------------------------------------------------------
public class OnlyExitReturn {
public static void main(String[] args) {
divide(9,0);
divide(6,2);
divide(4,2);
}
public static void divide(int num1, int num2){
if(num2 == 0){
System.out.println("0으로 나눌 수 없습니다.");
return;
}
System.out.println("나눗셈 결과 : " +(num1/num2));
}
}
--------------------------------------------------------------------
0으로 나눌 수 없습니다.
나눗셈 결과 : 3
나눗셈 결과 : 2
출처 : 윤성우의 열혈 Java 프로그래밍