[Java] for, 이중 for문

2024. 7. 25. 08:48·Java
목차
  1. for문
  2. Math.random() 
  3. 이중 for문
반응형

<반복문>
 -특정 실행문을 여러번 반복해서 실행해야하는 경우 사용하는 구문
 
 <반복문의 종류>
 -for문
 -while문
 -do-while문

 

for문

  • 반복의 횟수를 알고 있는 경우 사용
for(초기식; 조건식; 증감식) {
	실행문;
}

증감식의 경우 증감연산자나 대입연산자를 사용
num++  또는 num+=1  

 

순서
1) 초기식
2) 조건식
3) 실행문
4) 증감식
조건식이 false가 될때까지 2,3,4 반복

 

1~30까지의 수에서 3의 배수만 출력

for(int i = 1; i <= 30; i++) {
    if(i % 3 == 0) {
        System.out.print(i + " ");
    }
}

 

1~50까지 반복하며 2의 배수 또는 3의 배수인 경우 출력

for(int i = 1; i <= 50; i++) {
    if(i % 2 == 0 || i % 3 == 0) {
        System.out.println(i);
    }
}

 

1~10까지의 합을 구하기

int sum = 0;
for(int i = 1; i <= 10; i++) {
    sum += i;
}
System.out.println("1~10까지의 합 : " + sum);

 

 

1~100까지의 정수 중에서 3의 배수의 총합을 출력하는 코드를 작성

int sum = 0;
for(int i = 1; i <= 100; i++) {
    if(i % 3 == 0) {
        sum += i;
    }
}

 

Math.random() 

  • 0~1 사이 실수의 난수 발생(1은 포함 안됨)

 <원하는 범위 난수 발생하기>
  1. Math.random()에 원하는 최대값 곱하기 
     (0~최대값 전까지의 실수 난수 발생. 최대값 포함 안됨)
  2. 소수점이 필요없으면 int(정수타입)으로 강제 형변환
     (0~최대값 전까지의 정수 난수 발생)
  3. 강제 형변환한 난수에 더하기 1

int result = (int)(Math.random()*10) + 1;


(Math.random()*10) 이 부분의 () 가 없어질 경우
(int)Math.random() 은 0이 나오기 때문에 0 *10 + 1 로 1만 나온다.

5번동안 난수를 발생시킵니다
이때 발생한 난수는 1~10까지 가능합니다
발생한 난수의 값이 5를 넘는 경우 "넘침!!"이라 콘솔에 출력

for(int i = 0; i < 5; i++) {
    int result = (int)(Math.random()*10) + 1;
    if(result > 5) {
        System.out.println("넘침!! -->" + result);
    }else {
        System.out.println(result);
    }
}

 

이중 for문

  • 제어문 중첩 원리를 사용하여 반복하여 내부적으로 한번 더 반복하는 방법
for(int num1 = 1; num1 <= 3; num1++) {
    for(int num2 = 1; num2 <= 2; num2++) {
        System.out.println(num1 + "_" + num2);
    }
}

실행결과)

1_1
1_2
2_1
2_2
3_1
3_2

 

구구단

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

 

 

2~5단까지의 구구단 출력

for(int i = 2; i <= 5; i++) {
    for(int j = 1; j <= 9; j++) {
        System.out.printf("%02d x %02d = %02d\n",i,j,i*j);
    }
}

 

 

5~8단까지의 구구단을 출력하는데 짝수곱들만 출력

for(int i = 5; i <= 8; i++) {
    System.out.println(" ");
    for(int j = 2; j <= 8; j+=2) {
        System.out.printf("%d x %d = %d\n",i,j,i*j);
    }
}

 

중첩 for문을 이용하여 방정식 4x + 5y = 60의 모든 해를 구해서
 (x,y) 형태로 출력하는 코드를 작성해 보세요.
 단, x와 y는 10 이하의 자연수입니다.

for(int i = 1; i <= 10; i++) {
    for(int j = 1; j <= 10; j++) {
        int result = (4 * i) + (5 * j);
        if(result == 60) {
            System.out.printf("(%d,%d)\n",i,j);
        }
    }
}

 

for문을 이용해서 다음과 같은 실행 결과가 나오는 코드를 작성해 보세요.
 *
 **
 ***
 ****
 *****

1)이중 for문 사용

for(int i = 1; i <= 5; i++) {
    for(int j = 1; j <= i ; j++) {
        System.out.print("*");
    }
    System.out.println(" ");
}

 

2)문자열 합치기

String str = "";
for(int i = 1; i <= 5; i++) {
    str += "*";
    System.out.println(str);
}
반응형

'Java' 카테고리의 다른 글

[Java] null, NullPointerException, 참조타입  (0) 2024.07.27
[Java] Scanner, while, do-while, break, continue  (2) 2024.07.26
[Java] switch case  (2) 2024.07.24
[Java] if, else, else if, 중첩 if  (3) 2024.07.23
[Java] 대입연산자, 삼항연산자(조건연산자)  (0) 2024.07.22
  1. for문
  2. Math.random() 
  3. 이중 for문
'Java' 카테고리의 다른 글
  • [Java] null, NullPointerException, 참조타입
  • [Java] Scanner, while, do-while, break, continue
  • [Java] switch case
  • [Java] if, else, else if, 중첩 if
초보개발자J
초보개발자J
J의 코딩 노트초보개발자J 님의 블로그입니다.
초보개발자J
J의 코딩 노트
초보개발자J
전체
오늘
어제
  • 분류 전체보기 (126)
    • Java (49)
    • MySQL (10)
    • HTML, CSS (8)
    • JavaScript, jQuery, Ajax (12)
    • Spring (15)
    • Python (0)
    • Baekjoon [Java] (27)
    • Git (1)
    • Spring Boot (3)
    • Visual Studio Code (1)
    • 일상 (0)
    • 영어 (0)
반응형

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

hELLO· Designed By정상우.v4.5.3
초보개발자J
[Java] for, 이중 for문

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.