Java

TIL 10 | Java - 반복문 : While

개발 공부 2022. 9. 27. 18:37

반복문

•  while

  • 조건식을 만족하는 동안 반복문을 실행 (true 면 실행, false 면 while문 빠져나감)
  • 조건식 안에 true를 넣으면 무한루프가 발생하기 때문에 반드시 탈출 구문을 넣어야 함

예제 01) 반복문 돌리기, 횟수 누적하기

//		int a = 1; //제어변수 : 반복문 횟수를 결정할 변수
//		while(a <= 10) {
//			System.out.println("hello" + a);
//			a++;// 제어변수 조작을 통해 반복의 조건식이 언젠가 false가 되도록 처리
//			
//		}
		
		//누적
		int sum = 0;//누적할 변수 (이걸 와일문 안에 선언하면 누적이 안됨)
		int i = 1;
		
		while(i <= 10) {
			
			sum += i; //sum = sum + i; 
			System.out.println(sum);
			i++;
		}
		
//		//누적할 변수
//		int i = 1;
//		
//		while(i <= 10) { //1-10
//			int sum = 0;
//			sum += i; //sum = 1
//			System.out.println(i);
//			i++; 
//		}

예제 02) 짝수만 출력 

//100번 회전하는 반복문에서 짝수만 출력
//반복문과 조건문 같이 사용 가능
		int i = 1;
		
		while(i <= 100) {
			if(i % 2 == 0) {
				System.out.print(i + " ");
			}
			i++;
		}
		
		System.out.println();//줄바꿈
		
		//100번 회전하는 반복문에서 짝수만 출력
		int j = 2;
		while(j <= 100) { //2~100
			
			System.out.println(j + " ");
			j+=2;
		}
		System.out.println();

예제 03) 3의 배수의 개수 구하기

//3의 배수의 개수 구하기
//1~100까지의 정수 중 3의 배수의 개수 구하기
		
		int i = 1;
		int count = 0;//개수를 체크할 변수
		
		while(i <= 100) {
			
			if(i % 3 == 0) { //i는 3의 배수
				count++; //3의 배수일 때 하나씩 증가
			}
			i++;
		}

예제 04) 3의 배수의 개수 구하기

		//정수를 입력 받기
		//입력받은 정수까지의 합
		
//		Scanner scan = new Scanner(System.in);
//		System.out.print("정수>");
//		int num = scan.nextInt();
//		
//		int i = 1;
//		int sum = 0;
//		while(i <= num) {
//			//i의 합
//			sum += i;
//			i++;
//			
//		}
//		System.out.println(num + "까지의 합:" + sum);
		
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt(); //3
		int i = 1;
		int sum = 0;
		
		while(i <= num) { //i가 입력받은 정수가3 될때까지 반복 (1~3)
			sum += i;//i의합
			i++;

			
		}
		System.out.println(sum);

예제 05) 반복할 횟수를 입력 받아 반복하기

		/*
		 * 반복문 안에서의 입력
		 * 
		 * 2개의 정수를 받아서 
		 * 첫번째 정수는 반복의 횟수 결정
		 */
		
		Scanner scan = new Scanner(System.in);
		
		System.out.println("반복횟수>");
		int num = scan.nextInt();
		
		int sum = 0; //누적할 변수
		
		int i = 1;
		while(i <= num) {
			
			System.out.println(">");
			int a = scan.nextInt();
			sum += a;//입력받은 수의 누적
			
			i++;
		}
		
		System.out.println("누적합계" + sum);
		
		
		/*
		 * 반복문 안에서의 입력
		 * 
		 * 2개의 정수를 받아서 
		 * 첫번째 정수는 반복의 횟수 결정
		 * 두번째 정수는 누적
		 */
		
//		Scanner scan = new Scanner(System.in);
//		int num1 = scan.nextInt();
//		
//		int i = 1;
//		int sum = 0;
//		
//		while(i <= num1) {//i가 num1이 될때까지 반복
//			int num2 = scan.nextInt(); //num2 입력
//			sum =+ num2;
//			i++;
//			
//		}
//		
//		System.out.println(sum);
//

예제 06) 배열과 반복문

//배열과 반복문
		//시작은 0 ~ 길이미만
		
		int[] arr = {1,2,3,4,5,6,7,8,9,10};
		
		int i = 0;
		int sum = 0; //누적
		while(i < arr.length) { 
			
			//System.out.println(i);0~9
			//System.out.println(arr[i]);
			sum += arr[i];
			
			i++;
		}
		
		System.out.println("배열요소의 합 : " + sum);

예제 07) 최대값 최소값 구하기

//최대값을 찾아라
		int[] arr = {50, 30, 40, 60, 70, 90, 100, 110, 20};
		
		int i = 0;
		int max = arr[0]; //최대값을 저장할 변수
		while(i<arr.length) {
			
			//조건 -> arr[i]가 max보다 크면 arr[i]를 max에 저장
			if(arr[i] > max) {
				max = arr[i];
			}
			
			
			i++;
		}
		System.out.println("최대값 : "+ max);
		System.out.println("---------------");
		
        //최소값을 찾아라
		int j = 0;
		int min = arr[0]; 
		while(j<arr.length) { 
			if(min > arr[j]) { 
				min = arr[j];
			}
				
			j++;
			
		}
		System.out.println("최소값 : " + min);