단을 입력 받아 해당 구구단 출력.

int dan, n;

System.out.print("원하는 단?");

dan=sc.nextInt();

n=0;

 

while( n<9 ) {

n++;

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

}

 

 

 

5! 구하기 

 

10 ! = 10*9*7*6*5*4*3*2*1 을 의미한다.

 

int n, s, input;

 

System.put,print("양수 ? ");

input=sc.nextInt();

 

n=1;

s=0;

while(n<=input){

s+=n;

n+=2;

} System.out.println("결과 : " +s);

== 

while(n<=input){

n+=2;

s+=n;

} System.out.println("결과 : " +(s+1));

n 에 먼저 2를 해주게 되면 1의 값은 더하지 않고 3부터 입력한 수까지의 홀수를 더하므로 마지막에 (s+1)을 해줘야함.

 

 

밑에 주석은 처음 풀어보라고 했을 때 

적어 놨던 건데 while 뒤를이상하게 했음. 뭔 생각으로 저렇게했는지 감이안잡히는군..

n=s=0;
while(n++ <10) { // 10번 반복
s+=n; 
}

n을 먼저 사용한 후에 n+1 이므로 즉 0~9까지 10번

n=s=0;
while(++n < 10) { // 9번반복
s+=n;
}

n+1을 한 후에 그 값을 사용하므로 1~9까지 9번

n=s=0;
while(++n <= 10) { // 10번반복
s+=n;
}

n+1을 한 후에  1~10까지 10번

 

따라서 헷갈리는 경우가 많으므로 while 조건문에는 ++ 연산은 주의하자!

int n, s;
n=0;
s=0;
while(n<10) {
n++;
s+=n;
System.out.println(n+","+s);
}
System.out.println("while 밖 : "+s+","+n);

 

1, 1

2, 3

3, 6

4, 10

5, 15

6, 21

7, 28

8, 36

9, 45

10, 55

while 밖 : 55, 10 

int n, s;
n=s=0;
while(n<10) {
n+=2;
s+=n;
}
System.out.println("짝수합:"+s);

n은 2씩 커지고(짝수)

그 커진 값들을 s에 더해서 넣는다.

2+4+6+8+10 이면

2를 s에 넣고 [2+4]를 s에 넣고 [6+6]을 s에 넣고 하는거라서 짝수의 합을 구할 수 있다.

int n, s;
n=s=1;
while(n<10) {
s+=n;
n+=2;
}
System.out.println("홀수합:"+(s-1));

 

int n, s;

n=1;

s=0;

while(n<10){

s+=n;

n+=2;

}

System.out.println("홀수 합 : "+s);

1에서 2씩 커지면 다 홀수니까. (1,3,5,7,...)

1~10까지 정수 출력

int n;

n=0;

 

while(n<10) {

n++;

System.out.print(n+"\t");

}

n이 0~9까지 10번이 실행됨.

System.out.println();

System.out.println(n);

 

9가 들어가면 n의 값은 10이된다.따라서 while이 false가 되므로 아예 실행하지 않기 때문에

마지막에 들어가는 10은 따로 출력한다. 

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0707_Ex04_while : 1~10까지의 합  (0) 2021.07.07
0707_Ex03_while :1~10까지 더한 값 구하기  (0) 2021.07.07
0707_이전시간 복습  (0) 2021.07.07
0707_Ex01_switch  (0) 2021.07.07
0706_Ex06_switch  (0) 2021.07.07

제어문
if 문
단순 if 문
if 다음의 조건이 참일 경우, 특정 문장을 수행하고자 할 때 사용되는 문장.
if(조건) {
문장1;
}

if(조건){
문장1;
} else {
문장2;

문장3;

다중 선택 if문(else if문)
if 문의 처음 조건식이 거짓일 경우 계속된 다른 범위의 값을 추출하기 위해 else 쪽에 if문을 두는 제어 구조
if(조건){
문장1;
} else if {
문장2;
} else {
 문장3;
}

switch ~ case문
정수와 관련된 자료형 byte, short, char, int, (long형 제외)만 사용할 수 있다.
case 다음의 값으로 변수나 수식을 불가능하며 리터널(상수)만 가능

switch(변수 또는 수식) {
case 상수 : 문장1; break;
case 상수 : 문장2; break;
case 상수 : 문장3; break;
default : 문장4; 
}

 

switch( s % 3 ) {
case 0 : System.out.println("3의 배수입니다."); break;
case 1: case 2 : System.out.println("3의 배수가 아님"); break;

}

3으로 나눈 수의 나머지는 0, 1, 2만 있으므로.

switch( s % 3) {
case 0 : System.out.println("3의 배수입니다."); break;
default : System.out.println("3의 배수가 아님"); break;

}

0이 아닌 값일 시 default가 나온다.

+ Recent posts