기본형의 경우 배열로 참조호출을 하는 것이 간단함
public class stringParamEx {
public static void main(String[] args) {
String p = "It will be changed";
System.out.println("Before : "+p);
changeString(p);
System.out.println("After : "+p);
}
static void changeString(String p){
p = "changed";
System.out.println("changeString() : p = "+p);
}
}
Before : It will be changed changeString() : p = changed After : It will be changed
public class countdownParamEx {
public static void main(String[] args) {
System.out.println("10s count down start!");
// 기본형
int time=10;
while(time != 0){
if(time == 6){
timereset(time);
}
try {
Thread.sleep(1000);
System.out.println(time+"s");
}catch (Exception e){
e.getMessage();
}
time--;
}
}
static void timereset(int time){
time = 10;
System.out.println("timereset : time = "+time);
}
}
10s count down start! 10s 9s 8s 7s timereset : time = 10 6s 5s 4s 3s 2s 1s
public class countdownParamEx2 {
public static void main(String[] args) {
System.out.println("10s count down start!");
// 배열
int[] time = {10};
boolean reset = false;
while(time[0] != 0){
if(!reset && time[0] == 6){
timereset(time);
reset = !reset;
}
try {
Thread.sleep(1000);
System.out.println(time[0]+"s");
}catch (Exception e){
e.getMessage();
}
time[0]--;
}
}
static void timereset(int[] time){
time[0] = 10;
System.out.println("timereset : time = "+time[0]);
}
}
10s count down start! 10s 9s 8s 7s timereset : time = 10 10s 9s 8s 7s 6s 5s 4s 3s 2s 1s