단, 입력받은 수가 0 이하면 입력을 종료하고 합을 출력 후 프로그램 종료

 

실수

double sum, input;

입력 받는 수 input. 

입력 받은 수들을 저장할 곳 sum

 

Scanner sc = new Scanner(System.in);

 

sum=0;

 

while (true) {

System.out.print("수 ? [종료:0]");

input=sc.nextDouble();

if (input<=0.0) {

break; 

}

sum+=input

}

 

System.out.print("결과 : " + sum);

 

sc.close();

 

for (초기식;조건식;증감식) {
//실행문
}
가장 먼저 시작하는 것이 초기식.
2번에 가서 조건이 만족하는지, 아닌지, 
조건이만족하면 실행문을 실행. 그렇지 않으면 나간다. 
실행문을 실행하면 증감식을 시행하고 다시 조건식을 만족하는지 확인.

while 문 반복횟수가 정해져 있지 않은 경우.
for 문 반복횟수가 정해져 있는 경우.

for( ; ; ) = for( ; true ; ) 무한루프 

break; continue; return;

break 제어 문장을 빠져나가고 싶을 때.
while, do ~ while, for, switch~case 문에서 사용.

break 라벨명;
반복문이 다중으로 작성된 경우 한 번에 두개 이상의 반복문을 빠져 나오기 위해 사용.
라벨명은 식별자를 작성하는 방법과 동일하기 기술하고 라벨명인지 나타내기 위해 뒤에 콜론(:)을 붙임.

continue 문;
if (){continue}
for 문 안에 있으면 증감식으로 감.
while 문 안에 있으면 조건절로 감.

if.
1) int형 변수 n이 10 이상이고 20 미만일 때 true인 조건식
if( n>=10 && n< 20 ){}
2) char형 변수 ch가 공백과 탭이 아닐 때 true인 조건식
if( ch!=' ' && ch!='\t' ) {}
3) char형 변수 ch가 'x' 또는 'X'일 때 true인 조건식
if ( ch=='x' || ch=='X' ) {}
4) int형 변수 y가 4의 배수이고 100의 배수가 아니거나 400의 배수이면 ture인 조건식
if ( (y % 4 == 0 && y % 100 !=0) || y % 400 == 0 ) {} // AND, OR연산에서는 AND가 우선순위
5) char형 변수 ch가 영문자 'Y'나 'y'가 아닐 때 true인 조건식
if ( ch !='Y' && ch !='y' ) {}
6) char형 변수 ch가 영문자일 때 true인 조건식
if ( (ch>='A' && ch<='Z') || (ch>='a' && ch<='z')) {}
if ( ch>='A' && ch<='z' ) 는 안됌. 65~90, 97~122이므로 중간에 7개는 영문자 아닌 값들이 존재

7) char형 변수 ch가 영문자가 아닐 때 true인 조건식
// if ( (ch<'A'&& ch>'Z' && ch<'a' && ch>'z') )
if ( !(ch >= 'A' && ch <= 'Z') && !(ch >= 'a' && ch <= 'z') ) 
8) boolean형 변수 b가 false일 때 true인 조건식
if ( b == false ) {}
if ( ! b){}

위를 출력하기.

 

1~10까지 출력하고 줄을 바꾸고

2~11까지 출력하고 줄을 바꾸고.

.

.

.

10개의 행

 

for ( int n=1 ; n<=10 ; n++) {  

for ( int m=n ; m<=n+9; m++){

System.out.printf("%3d", m);

}

System.out.println();  //10개의 행 출력.

}

 

1개의 행에는 10개의 수가 있음. 첫번째수와 마지막수의 차이는 9.

 

ex;

** 2단 **

2 * 1 = 2

2 * 2 = 4

.

.

.

2 * 9 = 18

---------

** 3단 **

3 * 1 =3

.

.

.

 

분석 : 2~9단까지 8번 반복

2 가 출력될때 1~9까지 9번 반복.

총 72번이 반복되어야함.

 

int dan, n;

for (dan=2; dan<10; dan++) {

System.out.printf("** %d단 **\n", dan);

for (n=1; n<10; n++){

System.out.printf("%d * %d = %d\n", dan, n, dan*n);

}

System.out.println("-------");

}

for (int i=1; i<=3; i++) {

System.out.println("i:"+i);  // 이 print문은 i=1, i=2, i=3 일때가 나오므로 총 3번이 나옴.

for(int j=1; j<=i; j++) {

System.out.println("i:"+I+", j:"+j); // 이 print문은 i=1일 때 1번, i=2 일 때 2번, i=3일때 3번 나옴.

} // 즉 i=1일때 for 1번 실행, i=2일때 for 2번 실행 ...

System.out.println("--------"); // 이 print문은 i=1, i=2, i=3 일때가 나오므로 총 3번이 나옴.

}

1~100까지 홀수합

int s=0;

for (int n=1; n<=100; n+=2) {

s+=n;

}

for (초기식 ; 조건 ; 증가식) {}

초기식이 조건을 만족하면 {}를 실행하고 증가한다.

 

1~100까지 짝수합

int s=0;

for (int n=2; n<=100; n+=2) {

s+=n;

}

1~100까지 3의 배수의 합

int s=0;

for (int n=3; n<=100; n+=3) {

s+=n;

}

 

int s;

s=0;

for (int n=0; n<100; n++) {

s+=n;

}

n은 0이고 (시작) n이 100미만이면 n을 +1하고, s에 n을 더한다.

이것을 while로 쓰면

int s, n;

s=n=0;

while (n<100) {

n++;

s+=n;

}

이렇게 된다.

+ Recent posts