๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป/JAVA

[Java] 4์ผ์ฐจ : while๋ฌธ, do ~ while ๋ฌธ

by ๋”ฐ๊ถˆ 2024. 2. 20.

 

 

while๋ฌธ
์กฐ๊ฑด์‹์„ ๋จผ์ € ๋น„๊ตํ•˜์—ฌ ์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๊ฒฝ์šฐ ํŠน์ • ์˜์—ญ์„ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฌธ์žฅ
์ฒ˜์Œ ์กฐ๊ฑด์‹์ด  false์ธ ๊ฒฝ์šฐ while ๋ฌธ์•ˆ์˜ ์‹คํ–‰๋ฌธ์„ ๋‹จ ํ•œ๋ฒˆ๋„ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.


 


์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ๋Š” ๋ฐ˜๋“œ์‹œ  true ๋˜๋Š” false์ด์–ด์•ผ ํ•œ๋‹ค
์กฐ๊ฑด์‹์ด ๋งŒ์กฑํ•  ๋•Œ ์ˆ˜ํ–‰๋˜๋Š” '์‹คํ–‰๋ฌธ'์ด ํ•œ ๊ฐœ์ธ ๊ฒฝ์šฐ
์ค‘๊ด„๋กœ ({}) ์ƒ๋žต ํ•  ์ˆ˜ ์žˆ๋‹ค.
while(true)์™€ ๊ฐ™์ด ์กฐ๊ฑด์‹์„ true๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ๋œ๋‹ค
while๋ฌธ ์•ˆ์— ๋˜ ๋‹ค๋ฅธ while๋ฌธ์ด๋‚˜ ๋‹ค๋ฅธ ๋ฐ˜๋ชฉ๋ฌธ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.


 

 

Ex01. 1~10๊นŒ์ง€ ์ž์—ฐ์ˆ˜ ์ถœ๋ ฅ
package ch04.unit03;

public class Ex01 {

	public static void main(String[] args) {
		// 1~10๊นŒ์ง€ ์ž์—ฐ์ˆ˜ ์ถœ๋ ฅ
		
//		int n;
//		n = 10;
//		
//		while(n<10) {// ์ฒ˜์Œ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ด๋ฉด ํ•œ๋ฒˆ๋„ ์‹คํ–‰ ์•ˆํ•จ 
//		n++;
//		System.out.println(n+" ");
//		System.out.println();

		int n;
		n = 0;
		
		while(n<10) {
			n++;
			System.out.print(n+ " ");
		}
		System.out.println("\n"+n);
		System.out.println();
	
	}
}



 

 

 

Ex02. 1~10๊นŒ์ง€ ์ง์ˆ˜๋ฅผ ์ถœ๋ ฅ

 

package ch04.unit03;

public class Ex02 {
	public static void main(String[] args) {
		// 1~10๊นŒ์ง€ ์ˆ˜์ค‘ ์ง์ˆ˜๋ฅผ ์ถœ๋ ฅ
		
	int n;
		n = 0;

		while(n<10) {
			n+=2;
			System.out.print(n+" "); // 2 4 6 8 10
		}
		System.out.println(); 
	}
}

 

 

 

Ex03. 1~10๊นŒ์ง€ ํ™€์ˆ˜๋ฅผ ์ถœ๋ ฅ

 

package ch04.unit03;

public class Ex03 {
	public static void main(String[] args) {
		// 1~10๊นŒ์ง€ ์ˆ˜์ค‘ ํ™€์ˆ˜๋ฅผ ์ถœ๋ ฅ
		
		int n;
		n=1;
		
		while (n<10) {
		 System.out.print(n+" ");
		 n+=2;		 
		}
	}	
}

 

 

 

 

Ex04. 1~100๊นŒ์ง€ ํ•ฉ
package ch04.unit03;

public class Ex04 {

	public static void main(String[] args) {
		// 1~100 ๊นŒ์ง€ํ•ฉ
		
		int n,s;
		n = 0;
		s = 0;
		while (++n<=100) {
			s+=n;
		}
		System.out.println("๊ฒฐ๊ณผ :"+s);

//		int n,s;
//		n = 0;
//		s = 0;
//		while (n<100) {
//			n++;
//			s+=n;
//		}
//		System.out.println("๊ฒฐ๊ณผ : "+s);
	}
}

 

 

Ex05. 1~100๊นŒ์ง€ ์ง์ˆ˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ

 

package ch04.unit03;

public class Ex05 {

	public static void main(String[] args) {
		// 1~100๊นŒ์ง€ ์ง์ˆ˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ
		
		int n = 0, s=0;
		
		while(n<100) {
		
			n+=2;
			s+=n;
	} 
		System.out.println("๊ฒฐ๊ณผ :"+s);	
	}
}

 

 

Ex06. ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜๊นŒ์ง€ ํ™€ ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•˜๊ธฐ
package ch04.unit03;

import java.util.Scanner;

public class Ex06 {

	public static void main(String[] args) {
		// ์–‘์ˆ˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ 1~์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜๊นŒ์ง€ ํ™€ ์ˆ˜ํ•ฉ ๊ตฌํ•˜๊ธฐ
		
		Scanner sc = new Scanner(System.in);
		int num,n,s;
		n = 1;
		s = 0;
		
		System.out.println("์ž…๋ ฅํ•œ์ˆ˜?");
		num = sc.nextInt();
		
		while (n <= num) {
			s += n;
			n += 2;
			
		}System.out.println("๊ฒฐ๊ณผ :" +s);
		sc.close();
	}
}

 

 

 

Ex07.

 

package ch04.unit03;

public class Ex07 {

	public static void main(String[] args) {
		int a = 0, s=0;
		while (a++ <= 9) {
			s += a;
		} System.out.println("a:"+a+", s:"+s); // 11,55
	}
}

 

 

 

 

Ex08.ํŒฉํ† ๋ฆฌ์–ผ

 

package ch04.unit03;

public class Ex08 {

	public static void main(String[] args) {
		// 10! (ํŒฉํ† ๋ฆฌ์–ผ, factorial : 1*2*3*...10)์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ
		
		int s, n;
		s = 1;
		n = 0;
		
		while (n<10) {
			n++;
			s*=n;
		}
		System.out.println("๊ฒฐ๊ณผ:" + s);
	}

}

 

 

 

Ex.09 ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ 1๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜๊นŒ์ง€์˜ ํ•ฉ 
package ch04.unit03;

import java.util.Scanner;

public class Ex09 {

	public static void main(String[] args) {
		// ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ 1๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜๊นŒ์ง€์˜ ํ•ฉ
		
		Scanner sc = new Scanner(System.in);
		int a,b,c ;
		b=0;
		c=0;
		
		System.out.println("์ˆ˜?");
		a = sc.nextInt();
		
		while (b<a) {
			b++;
			c+=b;
		}System.out.println("๊ฒฐ๊ณผ ? : "+c);
		sc.close();
	} 
}

 

 

 

Ex10. ์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜์˜ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ

 

package ch04.unit03;

import java.util.Scanner;

public class Ex10 {

	public static void main(String[] args) {
		// ์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜์˜ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ 
		
		Scanner sc = new Scanner(System.in);
		int dan;
		int n;
		
		System.out.println("์›ํ•˜๋Š” ๋‹จ? ");
		dan = sc.nextInt();
		
		n = 0;
		while (n<9) {
			n++;
		System.out.printf("%d * %d = %d\n", dan, n, dan*n);
		}
		sc.close();
	}
}

 

 

 

Ex11. 1 ~ 100๊นŒ์ง€์˜ ํ•ฉ์„ 10์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋ ๋•Œ๋งˆ๋‹ค ์ถœ๋ ฅ
package ch04.unit03;

public class Ex11 {

	public static void main(String[] args) {
		// 1~100๊นŒ์ง€์˜ ํ•ฉ์„ 10์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋ ๋•Œ๋งˆ๋‹ค ์ถœ๋ ฅ
		
		int s,n;
		s= n = 0;
		while(n <100) {
			n++;
			s+=n;
			if(n%10==0) {
		 System.out.println("1~" + n + "๊นŒ์ง€ ํ•ฉ :" + s);
		}
     }
   }
}

 

 

 

 

Ex12. 1+(1+2)+(1+2+3)+...+(1+2+3...+10)์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ ์ถœ๋ ฅ 
package ch04.unit03;

public class Ex12 {

	public static void main(String[] args) {
		 // 1 + (1+2) + ... + (1+2+...+10)
		int s, n , ss;
		s = 0;
		n = 0;
		ss = 0;
		
		while(n<10) {
			n++;
			s+=n;
			ss+=s;
			
		}System.out.println("๊ฒฐ๊ณผ :"+ss);
	}
}

 

 

 

Ex13. 1/2+2/3+3/4+....+9/10์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ 

-doubleํ˜•์œผ๋กœ ์ฒ˜๋ฆฌ 

 

package ch04.unit03;

public class Ex13 {

	public static void main(String[] args) {
		// 
		
		int n;
		double s = 0;
		
		n = 0;
		while (n<10){
			n++;
			s += (double)n / (n+1);
		}
		System.out.println("๊ฒฐ๊ณผ : "+s);
	}
}

 

 

 

Ex.14. 1 ~100 ํ™€์ˆ˜๋ฅผ ํ•œ ์ค„์— 5๊ฐœ์”ฉ ์ถœ๋ ฅ, ๋งˆ์ง€๋ง‰์— ํ™€์ˆ˜์˜ ํ•ช์„ ์ถœ๋ ฅ

 

package ch04.unit03;

public class Ex14 {

	public static void main(String[] args) {
		// 1~100์ˆ˜์ค‘ ํ™€์ˆ˜๋ฅผ ํ•œ ์ค„์— 5๊ฐœ์”ฉ ์ถœ๋ ฅํ•˜๊ณ  ๋งˆ์ง€๋ง‰์— ํ™€์ˆ˜ ํ•ฉ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ
		
		int n,s,cnt;
		s = 0;
		n = 1;
		cnt=0;
		
		while(n<=100) {
			
			s+=n;
			System.out.print(n+" ");
			cnt++;
			if (cnt%5==0) // cnt == 10 ์„ ํ•œ ๋’ค cnt = 0์œผ๋กœ ๋ฆฌ์…‹ 
				System.out.println();
			n+=2;
			
		}System.out.println("๊ฒฐ๊ณผ :"+s);
	}
}

 

 

 

Ex15. 1 ~ 100๊นŒ์ง€ ์ˆ˜ ์ค‘ 3 ๋˜๋Š” 5์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ์ˆ˜๋ฅผ ํ•œ ์ค„์— 5๊ฐœ์”ฉ ์ถœ๋ ฅ

 

package ch04.unit03;

public class Ex15 {

	public static void main(String[] args) {
		
		int n;
		int cnt;
		
		n=0;
		cnt = 0;
		
		while (n<100) {
			n++;
			if(n%3 != 0 && n%5 !=0) {
				System.out.print(n+"\t");
				cnt++;
				if (cnt%5==0) {
					System.out.println();
				}
			}	
	} System.out.println();
}
}

 

 

 

Ex16. 1~10๊นŒ์ง€์˜ ์ •์ˆ˜์˜ ํ•ฉ์„ ์ถœ๋ ฅ

 

package ch04.unit03;

public class Ex17 {

	public static void main(String[] args) {
		//1~10๊นŒ์ง€์˜ ํ•ฉ์„ ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ„์‚ฐ
		
		int n, s;
		
		n = s = 0;
		while (true) { //๋ฌดํ•œ loop
			n++;
			s += n;
			if (n==10) {
				break; //while ๋ฌธ์„ ๋น ์ ธ ๋‚˜๊ฐ
			}
		}
		System.out.println("๊ฒฐ๊ณผ : "+s);
	}
}

 

 

 

Ex17. 2 ~ 9๋‹จ๊นŒ์ง€์˜ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅ

 

package ch04.unit03;

public class Ex18 {

	public static void main(String[] args) {
		// 2 ~ 9 ๋‹จ๊นŒ์ง€ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ
		
		int dan,n;
		
		dan = 2;
		while (dan<=9) {
			System.out.println("**"+dan+"๋‹จ **");
			
			n=0;
			while(n<9) {
				n++;
				System.out.printf("%d * %d = %d\n",dan,n,dan*n);
			}
			
			System.out.println();
			dan++;
		}
	}
}

 

 

do ~ while ๋ฌธ
while๋ฌธ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŠน์ •ํ•œ ์˜์—ญ์„ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ
 while๋ฌธ๊ณผ ๋‹ค๋ฅธ ์ ์€ ์กฐ๊ฑด์‹์„ ๋‚˜์ค‘์— ๋น„๊ตํ•œ๋‹ค.

 


์‹คํ–‰๋ฌธ์„ ๋จผ์ € ์ˆ˜ํ–‰ํ•œ ํ›„์— ์กฐ๊ฑด์‹์„ ๋น„๊ต,
์กฐ๊ฑด์‹์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์•„๋„ ๋ฃจํ”„์˜ ๋ชธ์ฒด์— ํ•ด๋‹นํ•˜๋Š” ์‹คํ–‰๋ฌธ์€ ์ ์–ด๋„ ํ•œ๋ฒˆ์€ ์‹คํ–‰
do ~ while ๋ฌธ ์•ˆ์— ๋˜ ๋‹ค๋ฅธ
do ~ while ๋ฌธ์ด๋‚˜ ๋‹ค๋ฅธ ๋ฐ˜๋ชฉ๋ฌธ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

ex19. do~while 1~10๊นŒ์ง€ ํ•ฉ ์ถœ๋ ฅํ•˜๊ธฐ 

 

package ch04.unit03;

public class Ex19do {

	public static void main(String[] args) {
		int n, s;
		
		n = s = 0;
		while(n<10) {
			n++;
			s+=n;
		}
		System.out.println("while => n:"+n+", s:"+s);
		
		n =s =0;
		do {
			n++;
			s+=n;
		}while(n<10);
		System.out.println("do while => n:"+n+",s:"+s);
	} 
}

 

 

ex.20 

 

package ch04.unit03;

public class Ex20 {

	public static void main(String[] args) {
		int n;
		
		n=10;
		while (n<10) { // ์ฒ˜์Œ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ด๋ฉด  while ์•ˆ์€ ํ•œ๋ฒˆ๋„ ์‹คํ–‰ ์•ˆํ•จ
			n++;
			System.out.println("while ์•ˆ :" + n);
		}
		System.out.println("while ๋ฐ–:"+n); // 10
		System.out.println();
		
		n= 10;
				do { // ์ ์–ด๋„ ํ•œ๋ฒˆ์€ ์‹คํ–‰ํ•œ๋‹ค. 
					n++;
					System.out.println("\ndo while ์•ˆ :" +n);
				}while(n<10);
		System.out.println("do while ๋ฐ–: "+n);
	}
}

 

 

 

ex21.์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ

 

package ch04.unit03;

import java.util.Scanner;

public class Ex21 {

	public static void main(String[] args) {
		// ๋‹จ์„ ์ž…๋ ฅ ๋ฐ›์•„ ์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜์˜ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ
		// ๋‹จ, ์ž…๋ ฅ ๋ฐ›์€ ๋‹จ์ด 1~9 ์‚ฌ์ด์˜ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด ๋‹ค์‹œ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค.
		
		Scanner sc = new Scanner(System.in);
		int dan,n;
	
		do {
			System.out.println("๋‹จ[1~9] ?");
			dan = sc.nextInt();
		} while(dan < 1 || dan >9);
		n = 0;
		while (n<9) {
			n++;
			System.out.printf("%d * %d = %d\n",dan,n,dan*n);
		}
		sc.close();
	}
}

 

 

ex22. 1~100 ์‚ฌ์ด์˜ ๋‚œ์ˆ˜๋ฅผ ํ•œ ์ค„์— 10๊ฐœ์”ฉ ์ถœ๋ ฅ

 

package ch04.unit03;

public class Ex22_random {

	public static void main(String[] args) {
		/*double a;
		int n;
		n = 0;
		while (n<100) {
			n++;
			// 0 <= a < ์‚ฌ์ด์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ 
			a = Math.random();
			System.out.printf("%.5f\t",a);
			if(n%10==00 ) {
				System.out.println();
			}		
		}	
		 */ 
		//1~ 100 ์‚ฌ์ด์˜ ๋‚œ์ˆ˜๋ฅผ ํ•œ์ค„์— 10๊ฐœ์”ฉ ์ถœ๋ ฅ
		
		 //int n = (int)(Math.random()*100); // 0~99์‚ฌ์ด์˜ ๋‚œ์ˆ˜
		 //int n = (int)(Math.random()*100)+1; // 0~99์‚ฌ์ด์˜ ๋‚œ์ˆ˜
		
		int a;
		int n = 0;
		while (n<100) {
			n++;
			a = (int)(Math.random()*100)+1; // 1~100์‚ฌ์ด์˜ ๋‚œ์ˆ˜ 
			System.out.printf("%5d",a);
			if (n%10==0) {
				System.out.println();
			}
		}	
	}
}

 

์‹คํ–‰ํ• ๋•Œ๋งˆ ๋žœ๋คํ•˜๊ฒŒ ๋‚˜์˜ด