주어진 조건이 참인 경우 일정 영역의 문장들을 반복 수행
조건식이 거짓이 되는 순간이 오면 반복 수행을 중단
🍎반복문 : while, do~whild,for문 등이 있다
🍎제어문 : break, continue문
조건식을 먼저 비교하여 조건식의 처리 결과과 참인 경우, 특정 영역을 반복 수행하는 문장으로
반복횟수가 정해져 있지 않은 경우나 반복횟수가 많은 경우 주로 사용한다
(조건이 맞지 않은 경우 반복은 커녕 단 한 번도 실행되지 않을 수 있다.)
public class Test039
{
public static void main(String[] args)
{
/*
int n=0;
while (n<=10)
{
System.out.println("n="+n);
n++;
}
*/
/*
int n=0;
while (n<=10)
{
n++;
System.out.println("n="+n);
}
*/
/*
int n=0;
while (n++<=10) //1씩 더한 수가 10이 될때까지
{
System.out.println("n="+n);
}
*/
/*
int n=0;
while (n++<=10)
{
System.out.println("n="+ ++n);
}
*/
//실행 예)
//1부터 100까지의 합 : 5050
//계속 하려면 아무 키나 누르세요...
//System.out.println("1 부터 100까지의 합 :5050");
//1부터 차례로 담아 1씩 증가하는 변수 선언 및 초기화
int n=1;
//누적합을 계산하여 담아낼 변수 선언 및 초기화
int sum=0;
//연산 및 처리
while (n<=100)
{
//sum을 n만큼 증가시켜라
sum +=n;
//n이 1씩 증가해나가는 연산 필요
n++;
}
//결과출력
System.out.println("1부터 100까지의 합 : " +sum);
//출력 구분이 반복문 영역 안에 있으면 출력이 100번 되는거라, 반복문 밖에 있어야 해
//1부터 1씩 증가할 변수와 누적된 합을 담을 변수가 필요해
}
}
public class Test042
{
public static void main(String[] args)
{
//주요 변수 선언
int n=1, sum, even, odd;
sum=even=odd=0; //0으로 초기화
//연산 및 처리
while(n<=100)
{
//정수합 처리
sum+=n;
//짝/홀수합 처리
if(n%2==0)
{
even+=n;
}
else if(n%2!=0)
{
odd+=n;
}
else
{
System.out.println("판별불가 데이터");
}
//나머지 처리
n++;
}
//결과 출력
System.out.println("1부터 100까지 정수의 합 : "+sum);
System.out.println("1부터 100까지 짝수의 합 : "+even);
System.out.println("1부터 100까지 홀수의 합 : "+odd);
}
}
실행 예)
1~10까지의 합 : xx
1~20까지의 합 : xxx
1~30까지의 합 : xxx
:
1~100까지의 합 : 5050
계속하려면 아무 키나 누르세요..
*/
public class Test043
{
public static void main(String[] args)
{
int n=1, sum=0;
while(n<100)
{
sum+=n;
if(n%10==0)
{
System.out.printf("1~%d까지의 합 : %d\n",n, sum);
}
n++;
}
}
}
public class Test044
{
public static void main(String[] args)
{
int n=0;
double sum=0;
//반복문 구문
while(n<9) // 0 1 2 3 4 5 6 7 8
{
//증감식 구성
//최종적으로 반복문의 조건을 무너뜨리는 열쇠가 된다
n++; //시작과 동시에 1 더해서 대입 // 1 2 3 4 5 6 7 8 9
sum+=(double)n/(n+1); //실수 기반 연산 수행 처리를 위해 피연산자 중 하나를 실수 형태로 만들어주는 것이 중요하다
}
System.out.print("연산 결과 : %f\n" +sum);
}
}
public class Test045
{
public static void main(String[] args)
{
//int n=0,result=0;
int n=0,result=1; //누적 곱은 1로 초기화 해야한다 0아님
while(n<10)
{
n++;
result*=n;
}
System.out.println("연산 결과 : " +result);
}
}
public class Test045
{
public static void main(String[] args)
{
//int n=0,result=0;
int n=0,result=1; //누적 곱은 1로 초기화 해야한다 0아님
while(n<10)
{
n++;
result*=n;
}
System.out.println("연산 결과 : " +result);
}
}
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Test046
{
public static void main(String[] args) throws IOException
{
// ○ 주요 변수 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num; //-- 사용자로부터 값을 입력 받을 변수
int count=2; //-- 소수를 확인하기 위해 사용할 변수
String result="소수 아님";
// ○ 연산 및 처리
System.out.print("임의의 정수 입력: ");
num = Integer.parseInt(br.readLine());
/*
while(count<num)
{
if(num%count ==0) // 나누어 떨어지면 소수 아님(==0 나머지가 0)
{
result="소수 아님";
break;
}
else
{
result="소수";
count++;
}
}
*/
boolean flag= true; // 소수다!!
while(count<num)
{
if(num%count ==0)
{
flag=false; // 앗 소수가 아니네ㅠ
break;
}
num++;
}
// ○ 결과 출력전에 한번 더 확인(1인지 아닌지에 대한 추가 검토)
if (flag && num!=1) //flag 자체가 true이거나 flase니까 flag=true 이런식으로 쓸 필요 없다
System.out.printf("%d →소수\n",num);
else
System.out.printf("%d →소수 아님\n",num);
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test047
{
public static void main(String[] args)throws IOException
{
//○주요 변수 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int su1,su2; //첫 번째, 두 번째 입력값을 담을 변수
int n; //루프(반복) 변수로 활용할 변수
int result=0;
//○연산 및 처리
System.out.print("첫 번째 정수 입력 : ");
su1=Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
su2=Integer.parseInt(br.readLine());
//입력받은 두 수의 크기 비교와 자리 바꾸기
if(su1>su2)
{
//a와b 자리 바꾸기
su1=su1^su2;
su2=su2^su1;
su1=su1^su2;
}
//반복 연산 수행
//반복 연산을 수행하기 전에
//작은 수를 따로 저장해서 루프 변수로 활용해야한다
n=su1; //위의 위치바꾸는걸 통해서 su1에 작은 수가 위치하게 만들었어
while(n<=su2)
{
result +=n;
n++;
}
//○결과 출력
System.out.printf(">>%d~%d 까지의 합 : %d\n", su1,su2,result);
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test048
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// ○변수 선언
int num, sum, even, odd;
int i=1;
sum=even=odd=0;
// ○ 연산 및 처리
System.out.print("임의의 정수 입력 : ");
num = Integer.parseInt(br.readLine()); //사용자의 입력값 변환
while (i <= num) //--임의의 숫자까지 반복문
{
sum +=i; //--임의의수 합
if(i%2==0) //짝수
{
even +=i;
}
else if(i%2!=0) //홀수
{
odd +=i;
}
i++;
}
//○결과 출력
System.out.printf("\n>> 1 ~ %d 까지 정수의 합 : %d", num, sum);
System.out.printf("\n>> 1 ~ %d 까지 짝수의 합 : %d", num, even);
System.out.printf("\n>> 1 ~ %d 까지 홀수의 합 : %d\n", num, odd);
}
}