728x90
반응형
JAVA (3일차) - 반복분
* 반복문 (for, while, do ~ while)
package com.day3;
class Test1 {
public static void main(String[] args) {
//반복문 (for, while, do ~ while)
//for 시작과 끝값이 정해져있을때!!
//while 끝값이 정해져있지 않거나, 끝 값을 모를때
//do~while 일단 실행을 진행!! 결과를 보고 반복할지 판단하여 결정.
Scanner sc = new Scanner(System.in);
int dan ;
System.out.print("단 입력"); // 7
dan = sc.nextInt();
//for(초기(시작)값;최대값(조건);증가값)
for(int i=1;i<=9;i++) { //i++ = i+1
System.out.println(dan + "*" + i + "=" + (dan*i));
}
System.out.println("-------------------------");
//while(조건)
int j = 0; //while문은 초기값을 일반적으로 0으로 줌.
while(j<9) { //while문엔 "=" 잘 안씀.
j++;
System.out.println(dan + "*" + j + "=" + (dan*j));
}
System.out.println("-------------------------");
//do{~}while(조건문);
int k = 0;
do{//일단 저지름. 한번은 무조건 실행해됨.
k++;
System.out.println(dan + "*" + k + "=" + (dan*k));
}while(k<9);//조건에 맞추어 보고 반복할지 결정.
System.out.println("-------------------------");
//Sacnner는 Stream (데이터와 데이터간의 통로)이라서 Close 하지 않거나 값을 null로 만들지 않으면,
//나중에 쓰레기 값이 생겨 다시 실행할때 쓰레기값때문에 오류가 남.
//Sacnner는 자체적으로 값을 null로 만들기 때문에 close 하지 않아도 괜찮다.
//무한루프 (조건에 부합되서)
// while(true){
// System.out.println("나 돌아간다.");
// }
}
}
|
*실행 결과
단 입력2
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
-------------------------
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
-------------------------
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
-------------------------
|
---------------------------------------------------------------------------------------------------------------------------------
package com.day3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Test2 {
public static void main(String[] args) throws IOException {
// Exception > IOException ,
// 예외처리부분에 뭘 넣어야 할지 생각이 안날때 Exception을 쓰면 됨.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int su, sum;
char ch;
while (true) {
do {
System.out.print("수 입력"); // 100enter
su = Integer.parseInt(br.readLine()); // 엔터전까지 읽음.
} while (su < 1 || su > 5000);
sum = 0;
// 1-su까지의 합계
for (int i = 1; i <= su; i++) {
sum = sum + i; // sum+=i
// 쓰레기 값은 연산도 안됨.
}
// 출력
System.out.println("1~" + su + " 까지의 합:" + sum);
// 계속 실행 여부
System.out.print("계속 할래?[Y/N]");
// Y,y,N,n 물어보고 Y,y인식하여 Y, y가 아니면 멈추기.
ch = (char) System.in.read();
if (ch != 'Y' && ch != 'y') {
// 양쪽의 값이 부정일 땐 &&(and)로 코딩해야한다.
// y enter 치면 in.read는 문자 1개만 읽어들여 엔터만 남게됨.
break;
}
System.in.skip(2);
// 남아있는 걸 몽땅 지워버려라 enter는 ASCII값이 2개다
// 10, 13 그래서 두개 모두 지우기 위해 ()안에 2를 입력한다. (13 = /n)
}// end-while
}
}
|
* 실행 결과
수 입력6
1~6 까지의 합:21
계속 할래?[Y/N]Y
수 입력7
1~7 까지의 합:28
계속 할래?[Y/N]
|
---------------------------------------------------------------------------------------------------------------------------------
728x90
반응형
'IT 개발 > JAVA' 카테고리의 다른 글
poi 라이브러리 / Excel DB 적재 (0) | 2020.01.14 |
---|---|
Date 관련 클래스 (0) | 2019.08.13 |
JAVA (2일차) - 기초 다지기 (0) | 2019.06.13 |
JAVA (1일차) - 기초 다지기 (0) | 2019.06.13 |
JDBC 1일차 (DB 연동, 삽입, 수정, 삭제) (0) | 2019.01.31 |