개발일지/Java + Spring
                
              211019 Java - while
                연습용365
                 2021. 10. 19. 10:31
              
              
            
            for문에서 무한루프를 걸려면 세미콜론을 두 개 써주면 됨
while문에서 무한루프를 걸려면 (true)를 사용하면 된다.
do-while문은 무조건 한 번은 실행한다.
countinue는 실행하지 않고 위로 올라간다.
와일은 한 번도 실행하지 않을 수 있다.
두 와일은 조건식이 거짓이더라도 최소 한 번은 실행을 해야한다.
와일로 두 와일을 사용할 수 있다. while(true){ break; } 이런식으로 사용하면 된다.
while(true) 
		{
			System.out.print("점수를 입력하세요.> ");
			num = sc.nextInt();
			
			if(num<0 || num>100)
			{
				break;	
			}
			
			if(num>=80)
			{
				System.out.println("축하합니다. 합격입니다.");
			}
			else
			{
				System.out.println("죄송합니다. 불합격입니다.");
			}
		}
		sc.close();
if() break를 가장 먼저 배치해서 바로 나갈 수 있게 해줬다.
Scanner sc = new Scanner(System.in);
		int num, cnt = 0, sum = 0;
		double avg = 0;
		
		while(true) 
		{
			num = sc.nextInt();
			
			if(num == 0)
			{
				break;
			}
			
			cnt ++;
			sum += num;
		}
		avg = (double)sum/cnt;
		System.out.printf("입력된 자료의 개수 = %d \n", cnt);
		System.out.printf("입력된 자료의 합계 = %d \n", sum);
		System.out.printf("입력된 자료의 평균 = %.2f \n", avg);
		sc.close();
카운트와 썸은 와일문 안쪽에 배치를 했고 avg는 바깥으로 뺐음 평균은 마지막에 한 번만 하면 되니까 밖으로 뺐고, 정수형과 실수형의 계산이기 때문에 강제 형변환을 해주었다.
Scanner sc = new Scanner(System.in);
		int num, cnt = 0, sum = 0;
		double avg = 0;
		
		while(true) 
		{
			num = sc.nextInt();
			if(num == 0) break;
			cnt ++;
			sum += num;
		}
		avg = (double)sum/cnt;
		
		System.out.printf("입력된 자료의 개수 = %d \n", cnt);
		System.out.printf("입력된 자료의 합계 = %d \n", sum);
		System.out.printf("입력된 자료의 평균 = %.2f \n", avg);
		sc.close();위보다 좀 더 줄이면 이렇게 줄일 수 있다!!
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num, cnt = 0, sum = 0;
		int avg = 0;
		
		while(true) 
		{
			num = sc.nextInt();
			if(num == 0) break;
			else if(num%2 == 0) continue;
			sum+=num;
			cnt++;
		}
		avg = sum/cnt;
		System.out.printf("홀수의 합 = %d\n", sum);
		System.out.printf("홀수의 평균 = %d", avg);
		sc.close();
	}이건 홀수의 합이다!!! continue가 들어감!
do-while문
	public static void main(String[] args) {
		int su;
		int sum = 0, cnt = 0;
		int avg;
		Scanner sc = new Scanner(System.in);
		
		do 
		{
			su = sc.nextInt();
			if(su % 2 == 1)
			{
				sum += su;
				cnt++;
			}
		}
		while(su != 0);
		
		avg = sum / cnt;
		System.out.printf("홀수의 합 = %d \n", sum);
		System.out.printf("홀수의 평균 = %d \n", avg);
	}