ture일 때 {}안에 내용을 실행, false 일 때는 실행하지 않음
조건문의 결과 타입은 무조건 Boolean
int num = 10;
if(num>0) {
System.out.println("양수입니다.");
}
System.out.println ("종료합니다.")
// 양수입니다. 종료합니다.
int num = 0;
if(num>0) {
System.out.println("양수입니다.");
}
System.out.println ("종료합니다.")
// 종료합니다.
로그인 실패 / 성공 경우에 이 코드 사용
*중간에 month를 &&로 묶어주는 이유 =
8월 입력시, 6보다 크거나 같으면서 8보다 작다.
두 조건 맞아야 여름이 출력되기 때문에
Tip
*조건은 범위가 중첩되지 않게 짜야함
ex) 조건을 num >= 0, num == 0, num <= 0 이렇게 세개 짠다면 먼저 나온게 걸리겠지만 잘못 작성한 코드임
▲ += : 추가로 연결하고 싶을 때
기본형 자료형에서만 비교연산자 == 사용함
String 같은 문자열은 equals() 라는 메서드를 사용해야함
(equals의 반환 타입이 Boolean이기 때문에 if라는 조건식 안에 들어갈 수 있음)
예문
name = 최다원
if ( name.equals("최다원")) {
System.out.println("본인입니다.");
if not 예문
name = 최다원
if ( !name.equals("최다원")) {
System.out.println("본인이 아닙니다.");
} else {
System.out.println("본인입니다.");
}
}
// 이때 홍길동을 입력하면
// name.equals("최다원") >> false
// !name.equals("최다원") >> !false >> true
조건문에 Boolean 말고 문자/문자열/정수 여야함
break : 조건문 목적 달성 후 나가는 제동 장치
*만일 break가 없으면, 마지막까지 실행되어 덮어씌워짐
모든 switch는 if로 바꿀 수 있으나,
모든 if를 switch로 바꿀 수 없음
▶ switch에서는 범위 설정 불가
메서드 호출
1) 클래스가 다를 때
: 알맹이를 만든 후 위치를 알려주어 호출
2) 클래스안에 메서드가 같이 있을 때
: 메서드 이름만 적어서 호출하면됨
소괄호 안 생략 가능
초기식 맨 처음 한번 수행 > (조건 확인 > 문장 수행 > 증감) 무한 반복 > 조건이 false 일 때 비로소 종료
제일 밖에 있는 중괄호가 크게 도는 부분
안에 있는 중괄호가 여러번 반복 도는 부분
ex) 시계에서 시가 제일 밖, 그 안에 분
💡break, return, continue 비교
Break문
public void practice() {
// 문자열을 입력 받아 글자 개수 출력
// end 가 입력되면 반복 종료
Scanner sc = new Scanner(System.in);
while(true) { // exit와 같지 않으면 돌아라
System.out.print("문자열 입력 : ");
String str = sc.nextLine();
if(str.equals("end")) {
System.out.println("종료합니다.");
break;
}
System.out.println(str+"의 길이 : " + str.length());
}
}
}
Return문
public void method1() {
실행문;
return; // 현재 메소드를 종료함
}
public void method2(int a, int b) {
실행문;
return a+b;
// 현재 메소드를 종료하면서 식의 값을 호출한 곳으로 반환하면서 분기 이동
// 식의 위치 : 변수명, 수식, 값, 값을 리턴하는 메소드 호출 구문 등을 기재
}
continue문
public static void main(String[] arg){
outer:
for(초기식; 조건식; 증감식) { // outer for
for(초기식; 조건식; 증감식) { // inner for
반복 실행문1;
반복 실행문2;
if(조건식) continue; //
else continue outer;
// 루프문의 나머지를 실행하지 않고 반복문의 끝으로 점프
}
}
// outter for문의 명령실행구문에 inner for가 반복을 구현하게 함
}