Java
TIL 12 | Java - 반복문 (중첩 For문, 향상된 For문)
개발 공부
2022. 9. 28. 18:35
중첩 For문
예제 01)
//1~9
for(int i = 1; i <= 9; i++) {
System.out.println(i);
for(int j = 1;j <= 9; j++) {
System.out.println(i+"-"+j);
}
System.out.println("-----------------------------");
}
예제 02)
//회전할때마다 횟수가 변하는 중첩 반복문
/*
* 별찍기 (피라미드모양)
* *
* ***
* *****
* *******
* *********
*/
int star = 5;
for(int i = 1; i <= star; i++) { //5줄 출력
for(int j = 1; j <= star-i; j++) { //하나씩 적게 공백출력
System.out.print(" ");
}
for(int j = 1; j <=i*2-1; j++) { //별 출력 1,3,5,7,9
System.out.print("*");
}
System.out.println();
}
System.out.println("-------------------------");
int star2 = 5;
for(int i = 1; i <= star2; i++) {
for(int j = 1; j <= i-1; j++) { //하나씩 많게 공백출력
System.out.print(" ");
}
for(int j = 9; j >= i*2-1; j--) { //int j=1;j <= 2*(star-i) + 1; j++
System.out.print("*");
}
System.out.println();
}
예제 03)
//입력받은 수가지 소수를 출력.
//소수 -> 나누어 덜어지는 수가 1과 자기자신인 수
//예) 5 -> 2,3,5
//입력 받은 수가지 반복하고, 각 수를 자기자신가지 나누면서 약수의 개수가 2개인 수
Scanner scan = new Scanner(System.in);
System.out.println("정수>");
int num = scan.nextInt();
for(int i = 1; i <= num; i++) {
int count = 0; //카운트에 대한 초기값
for(int j = 1; j <= i;j++) {//i값에 따라 돌아가는 횟수 달라짐
if(i % j == 0) {
count++;
}
System.out.println(i + "-" + j);
}
if(count == 2) {
System.out.println(i);
}
}
향상된 For 루프
int[] arr = {1,2,3,4,5};
//일반for
// for(int i = 0; i < arr.length; i++) {
// System.out.println(arr[i]);
// }
//향상된 for
for(int a : arr) {
System.out.println(a);
}
System.out.println("------------------");
String[] sArr = {"월", "화", "수", "목", "금", "금", "금"};
for(String b : sArr) {
System.out.println(b);
}
System.out.println("------------------");
//배열 요소들의 합게와 평균을 소수 2자리까지만 출력
int[] score = {34, 15, 16, 18, 20};
int sum = 0;
for(int X : score) {
sum += X;
// for(int i = 0; i <= score.length; i++) {
//
//// X += score[i];
//
// }
}
System.out.println(sum);//합계
System.out.println((double)sum/score.length);//
System.out.printf("평균:%.2f\n",(double)sum/score.length);//
//소수 2자리까지 출력하는법
//(1)printf
//(2)문자열로 치환 후 다시 또 변환