Java 기초문법 3

Eddie·2025년 4월 17일

Java

목록 보기
6/8
post-thumbnail

들어가기 전에 시험 범위 및 내용를 알아보자😂

  • 04/24 10:00AM
  • 시험 범위 : 1~2장 기초문법까지
  • 시험 방식 : 필기 시험
  • 시험 장소 : 추후 결정
  • 6문제 :
  1. 괄호형 단말 3문제( Cast 연산자 )
  2. 단답형 1문제
    ----- 시험 점수 주려고 만드셨다고 함..-----
  3. 서술형 1문제
  4. 실행결과 도출
  5. 오류 수정
  6. D/G 작성

반복문😊

  • for가 가진 의미 중에는 ‘~(기간) 동안’이라는 의미가 있습니다

유의할 점

  • for문에는 몇 번을 반복할 것인지에 대한 조건이 필요하다는 점😉

반복문 사용법:
1. int i에 초기화 값 0을 결정해준다.
2. i<4는 i 값이 4보다 작을때까지 반복 하라 지정 해준다.
3. i++은 1씩 증가 시켜라 라는 뜻이다.

for (i = 1; i<=4; i++) {

}

= 이것은 4번 도는 것.

for (i = 0; i<=4; i++) {
}

= 이것은 5번 도는 것.

for (i = 0; i<=4; i+1) {
}

= 이것은 4번 도는 것.

for (i = 1; i<=4; i+2) {
}

= 이것은 2번 도는 것.

for (i = 9; i>0; i--) {
}

= 이것은 9번 도는 것.

그러면 for문 안에 for문을 한번 더 쓸 수 있을까?🤔

  • 당연히 가능합니다!

이중 for문이란?

- 이중 for문이란 말그대로 for문 안에 for문이 있는 구조입니다😂

for (i = 1; i<=4; i++) {
	for (j = 1; i<=4; i++) {
	}
}

그럼 이중for문을 이용하여 구구단을 만들어봅시다!

  • 먼저 for문에서 숫자를 9번 반복하며 1씩 증가하는 for문을 만들어 보겠습니다
public class MulTable {
    public static void main(String[] args){
        
        int x;

        for(x=1; x<=9; x++){
            System.out.println("1 *" + x + "=" + 1*x);
        }
    }
}

출력 결과

  • 하지만 이것은 1과 x를 곱하는 것이기 때문에 1 대신 y라는
    변수를 지정 후 이 역시 9번을 반복해줍니다.

(구구단은 숫자 9개를 곱하는거니까요. 맞죠?😉)

그럼 정렬까지 해서 for문을 한개 더 추가해볼게요!

public class MulTable {
    public static void main(String[] args) {
        int x, y;

        for (y = 1; y <= 9; y++) {
            for (x = 1; x <= 9; x++) {
                System.out.printf("%d * %d = %2d  ", x, y, x * y);
            }
            System.out.println();
        }
    }
}

TMI. 여기서 %d 라는건 정수형 숫자를 읽어주는 것입니다


출력결과

어때요.. 아직 더럽지만 아까전보다는 깔끔해지지 않았나요?😂

Do-While문에 대해서!

  • while은 ‘~하는 동안’이라는 뜻의 단어인데, 자바에서도 while은 ‘~하는 동안’이라는 의미로 활용합니다.

  • do는 while문은 반복 처리를 위한 조건이 충족해야만 {} 안의 내용을 처리하는 반면, do~while문은 반복 처리 조건
    에 상관없이 일단 한 번은 수행
    하고, 그다음 반복 처리하기 위한 조건을 고려 합니다.

즉, 반복 횟수가 얼마나 필요한지 모를 때 while문을 하는 것이죠!

While(true) {
}
  • 하지만 while 문은 무한 루프로 돌리기 때문에 자의적으로 반복문을 종료 할 수 없습니다!!!

그래서 있는게
break;라는 친구를 통해 반복문을 종료 시킬 수 있는 겁니다.

While(true) {
    .
    .
    실행코드
    .
    .
	break;
}

이렇게 말이죠!!

continue; 라는 것에 대해서 알아 볼까요?

  • 반복문 내에서 continue 아래 남겨진 명령어들은 생략하고, 다음 반복으로 넘어갑니다.
for(int i=0; i<4; i++){
 if(i==2){ 
  continue;
 }
 System.out.print(i);
 }

if문 내에서 i를 1씩 더하면서 그 값을 출력하다가 i의 값이 2가 되면 continue 명령어로 그 아래 System.out.print(i);는 생략하고, 다음 반복으로 넘어갑니다!!!

조건문😊

  • 조건문은 어떤 경우엔 이런 처리를, 다른 경우엔 저런 처리를 해주고 싶을 때 if문이나 switch문 같은 조건문을 사용합니다.

  • if문의 심화로 if~else문을 이용하여 표현할 수 있으며,
    ‘(만약)~라면 A를 하고, 그렇지 않으면 B를 한다’는 뜻입니다!

아래의 내용은 if-else 문을 선언하는 방법입니다.

위와 같이 if와 else문을 사용하여 그럼 연습문제를 한번 풀어볼까요?

  • 교수님이 기말고사 성적에 따라 학점을 매기려고 합니다.
    성적이 100~96 이상이면 A, 95~90 이상이면 B,
    89~86 이상이면 B+, 85~80 이상이면 B, 미만이면 D라는 학점 기준이 있습니다. 강희은 학생이 45점을 맞았을 때, 어떤
    학점을 받는지 출력하는 프로그램을 작성해 봅시다
public class Sungjuk {
    public static void main(String[] args){

        int score = 0;

        String grade = "F";

        score = 45; // 점수가 45점이다.

        if (score >= 96) {
            grade = "A+" ;
        }
            else if(score >=90){
                grade = "A";
            }
            else if(score >=86){
                grade = "B+";
            }
            else if(score >=80){
                grade = "B";
            }
            else{
                grade = "F";
            }
       
        System.out.println("점수:" + score + " 등급 :"+grade); // 그러면 score가 53점이니 F가 나온다.
    }
}

  • 그럼 출력값은 아래와 같이 나옵니다!

그럼 switch문은 뭘까요?🤔

  • if~else if문처럼 조건이 여러 가지 있을 때 그중 하나를 선택해 처리하는 것으로 switch문이 있습니다!

  • 하지만 이를 수행하려면 break;로 처리한 명령을 빠져나가야 합니다.

위와 같이 case에 처리할 명령을 적고 break;로 빠져나갑니다!

그러면 연습문제를 하나 풀어봅시다!

  • 교수님이 기말고사 성적에 따라 학점을 매기려고 합니다.
    성적이 100~90 이상이면 A, 89~80 이상이면 B,
    79~70 이상이면 C, 69~60 이상이면 D라는 학점 기준이 있습니다. 강희은 학생이 85점을 맞았을 때, 어떤
    학점을 받는지 출력하는 프로그램을 작성해 봅시다!
public class Sungjuk {
    public static void main(String[] args){

        int score = 0;

        String grade = "F";

        score = 85; // 점수가 85점이다.

        switch (score/10) {
            case 10:

            case 9:
                grade = "A";
                break;

            case 8: 
            grade = "B";
            break;

            case 7: 
            grade = "C";
            break;

            case 6:
            grade = "D";
            break;

            default:
            grade = "F";
            break;
        }
    }
}

위와 같이 간단한 코드에는 if와 달리 case문으로 가독성을 더 높일수 있습니다!

profile
기초부터 차근차근 달려볼까요 :)

0개의 댓글