조건이 3개 이상의 조건문이 필요할 때 사용
int para = 3;
switch(para) {
case 1:
System.out.println("para가 1일 때 실행");
case 2:
System.out.println("para가 1일 때 실행");
System.out.println("para가 2일 때 실행");
case 3:
System.out.println("para가 1일 때 실행");
System.out.println("para가 2일 때 실행");
System.out.println("para가 3일 때 실행");
default:
System.out.println("para가 1일 때 실행");
System.out.println("para가 2일 때 실행");
System.out.println("para가 3일 때 실행");
System.out.println("para가 case에 모두 안 맞을 때 실행");
}
/*출력
"para가 1일 때 실행"
"para가 2일 때 실행"
"para가 3일 때 실행" <-여기까지 case 3: 진행
"para가 1일 때 실행"
"para가 2일 때 실행"
"para가 3일 때 실행"
"para가 case에 모두 안 맞을 때 실행" <- 여기까지 default: 실행
*/
조건에 맞는 case부터 맨 아래까지 모두 진행
break로 탈출하여 원하는 코드만 진행할 수 있다.
배열은 기본형의 묶음이다. (참조형)
순회시킬때 장점이 있다. (반복문)
한 가지 데이터 타입의 요소만 담을 수 있음 => 클래스 객체는 자유롭게 담을 수 있음
//일반 배열
int[] str1 = {1, 2, 3, 4, 5};
int[] str2 = new int[5]{1, 2, 3, 4, 5};
//클래스 객체
ClassName obj = new ClassName();
System.out.println(obj.age); //출력: 20
System.out.println(obj.name); //출력: "홍길동"
class ClassName { //주의 - 새로 선언한 클래스는 Main클래스 외부에 위치해야함
int age = 20;
String name = "홍길동";
boolean marry = true;
}
int[] arr1 = {1, 2, 3, 4, 5};
for (int i:arr1) {
System.out.println(i);
}
/* 출력
1
2
3
4
5
*/
class ClassName {
int age = 20;
}클래스 내부의 함수
메소드 이름의 왼쪽에 있는 데이터 타입은 리턴값의 데이터 타입을 제한한다.
※ void는 리턴값이 없을 때 사용한다.
메소드 오버로드
: 매개변수의 유형과 개수가 다르게 하여 같은 이름의 메소드를 여러 개 가질 수 있게하는 기술
Calc calc = new Calc();
calc.plus(1, 2); //출력: 3
calc.plus(1, 2); //출력: -1
calc.plus(1, 2); //출력: 2
calc.plus(1, 2); //출력: 0 -> int형끼리는 나눠도 소수점으로 표기되지 않는다.
class Calc {
void sayHello() {
System.out.println("Hello!");
// void는 리턴값이 없을 때 사용한다.
}
int sayAge() {
return 20; //오직 int형만 리턴가능하다.
}
void plus(int a, int b) {
System.out.println(a + b);
}
void plus(int a, int b, int c)
//위의 메소드와 이름이 같아도 파라미터 개수가 달라서 다른 메소드로 메모리가 부여됨. 즉 다른 메소드로 인식된다.
System.out.println(a + b + c);
}
void minus(int a, int b) {
System.out.println(a - b);
}
void multiple(int a, int b) {
System.out.println(a * b);
}
void divide(int a, int b) {
System.out.println(a / b);
}
}