mport java.util.Scanner;
class Test1 {
public static void main(String[] args) {
/*
반복문(for,while,do~while)
for:시작과 끝 값이 정해져있을 때
while:끝 값이 정해져있지 않을 때
do~while:1번은 무조건 실행시키고 확인해야 할때
*/
//선언
Scanner sc = new Scanner(System.in);
int dan;
//입력
System.out.print("단 입력?");
dan = sc.nextInt(); //Scanner 안에 있는 메소드 : nextInt() 반드시 Scanner 가 먼저 정의되어 있어야 함
//for(초기값;최대값_조건;증가값)
for (int i=1;i<=9;i++) {
//System.out.println(dan + " * " + i + " = " + (dan*i));
System.out.printf("%d * %d = %d\n",dan, i, dan*i);
}
System.out.println("------------------------------------------");
//while문은 일반적으로 초기값을 0으로 설정함.
//배열을 사용할 경우 첫번째 배열이 [0]인 걸 활용하기 위해
//while(조건) 몇번 돌려야 할지 모를떄 대부분 사용.
int j=0; //나중에 배열을 사용할 때 편하게 하기 위해서 0으로 시작. 무조건은 아님.
while (j<9) {
j++;
System.out.printf("%d * %d = %d\n",dan, j, dan*j);
}
System.out.println("------------------------------------------");
//do~while(조건문); 세미콜론 잊으면 안됨. 1번은 무조건 바로 실행이 된다.
int k=0;
do {
k++;
System.out.printf("%d * %d = %d\n",dan, k, dan*k);
} while (k<9);
System.out.println("------------------------------------------");
/*
//무한루프. 조건문이 true면 실행.계속 반복실행
while (true) {
System.out.println("돌아간당");
}
*/
sc.close(); //일종의 스트림이기 때문이 사용한 후 닫아주거나 null로 초기화 시켜야 함. 그렇지 않으면 쓰레기값이 남아있을 수 있음
//하지만 Scanner는 알아서 초기화시켜줘서 오류는 안남!
}
}
실행결과
import java.io.BufferedReader;
import java.io.InputStreamReader;
class Test2 {
public static void main(String[] args) throws Exception {
// throws IOException : 예외처리
// java.lang.Exception : Exception Class 확인하면 서브클래스 모두 확인 가능
// 무슨 예외처리인지 클래스를 모르겠다면 Exception 으로 처리해도 됨. 상위클래스.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int su, sum;
char ch; // 'y' or 'n' 한 단어를 받고자 함
// 무한루프 사용. 계속 이용해야되는 경우
while (true) {
// 조건을 만족하면 실행되고 false면 종료.
do {
System.out.print("수 입력해주세요 : ");
su = Integer.parseInt(br.readLine());
// 100+enter 입력되면 엔터를 지우고 100입력. br.readLine()은 엔터까지 입력이 됨
} while (su < 1 || su > 5000); //1보다 작거나 5000을 넘을 경우 True가 되서 종료.
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]"); // YN,y,Y,n,N 누르고 enter입력
ch = (char) System.in.read(); // 하나의 유니코드값을 문자로 형변환시켜서 ch에 저장해라
if (ch != 'Y' && ch != 'y') {
break;
}// Y,y가 아니면 종료하는 조건문 작성. 양쪽이 !=(부정)이면 &&로 작성. 2진수의 보수 때문
System.in.skip(2);
// System.in.skip(2); 없으면 NumberFormatException 발생.
// 앞에 null값을 int형으로 변환하라고 시킨거니까
// Skips over and discards n bytes of data from this inputstream
// enter에 해당하는 ASCII CODE : 10(커서왼쪽정렬)과 13(커서줄바꿈). 둘을 모두 지우기 위해서 2로 설정
}// end~while
}// end~main
}
실행결과
public class Test3 {
public static void main(String[] args) {
// 다중for문. for문이 4중으로 중첩되는 정도까지는 가지 않음. 오버헤드가 크기 때문.
// 선언
int i, j;
for (i = 2; i <= 9; i++) {
System.out.println(i + "단");
for (j = 2; j <= 9; j++) {
System.out.println(i + "*" + j + "=" + (i * j));
}
System.out.println();
}
}
}
실행결과
'Dev > Java' 카테고리의 다른 글
[java] 배열, 달력만들기 (0) | 2019.01.21 |
---|---|
[java] for문, switch문 (0) | 2019.01.21 |
[java] 간단한 계산기 만들기 (0) | 2019.01.21 |
[java] 기초 (2) | 2019.01.21 |
[java] 자바 공부 시작 (0) | 2019.01.21 |