3월11일 내용정리
1.지역변수는 블록이 선언되면 범위안에서만 값을 가지고 범위에서 벗어나면 값이 메모리에서 사라짐
if(num>num1) {
int max =num
int min =num1
}
System.out.println(max)
System.out.println(min)
위에 같이 코드를 짜면 에러가 난다.
왜?지역변수를 선언했기 때문에 블록을 벗어나면 메모리에서 값이 사라져 출력이 되지않음
int max, min;
if(num>num1) {
max =num
min =num1
}
System.out.println(max)
System.out.println(min)
위는 변수를 밖에서 선언 하여 에러가 나지 않는다.
2.switch문
case 값1:
실행할 문장들
break; --->switch문을 종료. 아래 식을 수행 안하고 메서드를 빠져나온다.
case 값2:
실행할 문장들
break; --->switch문을 종료.
default: 실행할 문장들 (else 같은 개념)
}
System.out.println("월 을 입력하시오"); // ======>switch문 예제
int num2 = scan.nextInt();
switch(num2) {
case 12:
case 1:
case 2:System.out.println("겨울");
break; //====>break 를 만날때까지 위에있는 문장을 실행하기 때문에 '최종 실행할 문장'만을 남기고 위에 있는 문장을 제외한다.
case 3:
case 4:
case 5:System.out.println("봄");
break; //====>break 를 만날때까지 위에있는 문장을 실행하기 때문에 '최종 실행할 문장'만을 남기고 위에 있는 문장을 제외한다.
case 6:
case 7:
case 8: System.out.println("여름");
break; //====>break 를 만날때까지 위에있는 문장을 실행하기 때문에 '최종 실행할 문장'만을 남기고 위에 있는 문장을 제외한다.
case 9:
case 10:
case 11:System.out.println("겨울");
break; //====>break 를 만날때까지 위에있는 문장을 실행하기 때문에 '최종 실행할 문장'만을 남기고 위에 있는 문장을 제외한다.
default:System.out.println("잘못 입력했음");
break;
}
3.main class 에서 후출하기
아래와 같이 main class에서 메서드를 불르는걸 후출한다 라고함.
메소드명에 해당되는 메소드로 가서 매개값을 가지고 메소드를 실행할께!
라는 의미 메소드명("매개값")
package study_0311;
public class study_0311_01 {
public static void main(String[] args) {
whoIsIt("호랑이");
whoIsIt("참새");
whoIsIt("고등어");
whoIsIt("곰팡이");
}
static void whoIsIt(String bio) { //whoIsIt 매서드명, String(매개변수타입) bio(담을그릇, 매개변수)
String kind=""; //실행문의 변수명과 타입 선언
switch(bio) { //bio(담을그릇, 매개변수)
case "호랑이":
case "사자":
kind="포유류"; //위에 값에 해당되면 실행문 을 실행
break;
case "독수리":
case "참새":
kind="조류";
break;
case "고등어":
case "연어":
kind="어류";
break;
default:
System.out.println("잘못 입력");
kind="종류 없음";
}
System.out.printf("%s는 %s이다.\n", bio,kind );
}
}