[JAVA] 제어문/반복문/조건문

Dawon Ruby Choi·2023년 8월 25일
0

Java

목록 보기
8/18
post-thumbnail

조건문

if

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 ("종료합니다.")

// 종료합니다.

if ~ else

로그인 실패 / 성공 경우에 이 코드 사용

if ~ else if ~ else

*중간에 month를 &&로 묶어주는 이유 =
8월 입력시, 6보다 크거나 같으면서 8보다 작다.
두 조건 맞아야 여름이 출력되기 때문에

Tip
*조건은 범위가 중첩되지 않게 짜야함
ex) 조건을 num >= 0, num == 0, num <= 0 이렇게 세개 짠다면 먼저 나온게 걸리겠지만 잘못 작성한 코드임

중첩 if

▲ += : 추가로 연결하고 싶을 때

기본형 자료형에서만 비교연산자 == 사용함
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

switch

조건문에 Boolean 말고 문자/문자열/정수 여야함
break : 조건문 목적 달성 후 나가는 제동 장치
*만일 break가 없으면, 마지막까지 실행되어 덮어씌워짐

모든 switch는 if로 바꿀 수 있으나,
모든 if를 switch로 바꿀 수 없음
▶ switch에서는 범위 설정 불가

메서드 호출
1) 클래스가 다를 때
: 알맹이를 만든 후 위치를 알려주어 호출

2) 클래스안에 메서드가 같이 있을 때
: 메서드 이름만 적어서 호출하면됨

반복문

for문

소괄호 안 생략 가능

초기식 맨 처음 한번 수행 > (조건 확인 > 문장 수행 > 증감) 무한 반복 > 조건이 false 일 때 비로소 종료

for 중첩 반복문

제일 밖에 있는 중괄호가 크게 도는 부분
안에 있는 중괄호가 여러번 반복 도는 부분

ex) 시계에서 시가 제일 밖, 그 안에 분

💡break, return, continue 비교

Break문

  • 가장 가까이 있는 하나의 반복문을 벗어날 때
    사용한다.
  • 루프(loop)가 모두 끝나지 않아도 반복문에서 탈출한다.
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문

  • 해당 함수에서 탈출을 할 때 사용한다. ( 반복문만 탈출 X, 함수 자체에서 탈출(함수를 종료시킴))
  • 뒷 줄에 코드가 더 있어도 종료된다.
  • void형인 메소드에서만 retrun;으로 사용가능
  • 자료형이 명시되어있는 메서드에서는 return 명령어; 형태로 사용해야 한다.
public void method1() {
  실행문;
  return; // 현재 메소드를 종료함
}
 
public void method2(int a, int b) {
  실행문;
  return a+b;
  // 현재 메소드를 종료하면서 식의 값을 호출한 곳으로 반환하면서 분기 이동
  // 식의 위치 : 변수명, 수식, 값, 값을 리턴하는 메소드 호출 구문 등을 기재
}

continue문

  • 반복문을 빠져나가는 것이 아닌, 반복문을 건너 뛴다.
  • 반복문이 0부터 3까지 돈다고 가정했을 때 -> 0 1 2 3
    if (i == 2) { continue } 라고 하면 -> 0 1 3
public static void main(String[] arg){ 
      outer:
      for(초기식; 조건식; 증감식) { // outer for
        for(초기식; 조건식; 증감식) { // inner for
           반복 실행문1;
           반복 실행문2;
           if(조건식) continue; // 
           else continue outer; 
           // 루프문의 나머지를 실행하지 않고 반복문의 끝으로 점프
        }
      } 
// outter for문의 명령실행구문에 inner for가 반복을 구현하게 함
}
profile
나의 코딩 다이어리🖥️👾✨

0개의 댓글