일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 변수
- 동적 데이터
- Comparable
- 조건문
- 동적 버튼 생성
- IBatis 게시판
- io
- 쓰레드
- oclick 동적
- 객체지향
- IBatis CRUD
- 계산기
- 동적 버튼 onclick
- iBatis
- comparator
- 연산자
- 동적 문자열
- I/O
- 고급자바
- ListSort
- MAP
- 변수초기화
- 객체
- 자바
- enum
- Thread
- 코딩
- Java
- 변수선언
- 기초
- Today
- Total
Jun's Blog
[Java] 반복문 (for문, while문, do-while문) <계산기> 본문
1. 반복문 (for, while, do-while)
- 어떤 작업이 반복적으로 수행되도록 할 때, 사용된다.
- 반복문은 주어진 조건이 만족하는 동안 문장을 반복 수행한다.
- for문의 경우 반복횟수를 알고 있을 때 사용한다.
- while문의 경우 반복 횟수를 모를 때 사용한다.
2. for문
- 기본 구조
for(초기화; 조건식; 증감식) {
조건식이 만족할 때 수행될 문장
}
3. while문
- 반복횟수를 알 수 없을 때 많이 사용.
- 조건식과 수행해야할 블럭{}만으로 구성되어 있다.
- 기본구조
while(조건식) {
조건식이 true일 때 수행될 문장.
}
4. do-while
- while문의 변형으로 기본구조는 while문과 비슷하다
하지만 최소 1회는 블럭{}을 수행하게 된다.
- 기본구조
do {
수행될 문장
} while(조건식);
※ 사용자로부터 입력받기 : Scanner
예)
Scanner sc = new Scanner(System.in);
System.out.println("숫자를 입력해주세요")
int input = sc.nextInt();
System.out.println("입력하신 숫자는" + input + "입니다.");
System.out.println("문자를 입력해주세요")
String output = sc.next();
System.out.println("입력하신 문자는" + output + "입니다.");
ex1) 0~10까지 출력하시오.
// 시작 : 0, 끝 : 9 , 증가량 : 1
// 반복구문 : System.out.println(?);
for(int num = 0; num < 10; num++) {
System.out.println(num);
}
int q1 = 1;
while(q1<11){
q1++;
System.out.println(q1);
}
ex2) 5~16까지의 합을 구하시오
// 시작 : 5, 끝 : 16, 증가량 :1
// 반복구문 : sum += ?;
int sum = 0;
for(int num = 5; num < 17; num++){
sum += num;
}
System.out.println(sum);
int num = 5;
int sum = 0;
while(num < 17) {
sum += num;
num++;
}
ex3) 3이상 4462 이하에서 짝수인 정수의 합을 구하여라.
// 시작 : 3 , 끝 : 4462 : 증가량 1
// 반복구문 : a1 += ?;
int a1 = 0;
for (int s1 = 3; s1 < 4463; s1++) {
if(s1%2==0){
a1 += s1;
}
}
System.out.println(a1);
ex4) 0~12까지 2의 배수, 3의 배수의 합을 구하여라.
int s4 = 0;
for (int s3 = 0; s3 <11; s3++){
if((s3%2==0) || (s3%3==0)){
s4 += s3;
}
}
ex5) 1~100까지의 정수 중 4의 배수의 합계를 구하라
int num = 1;
int sum = 0;
while(num<101){
num++;
if(num4%4==0){
sum3 += num4;
}
}
System.out.println(sum3);
ex6) 구구단을 while문만을 이용하여 만드시오
int dan = 2;
while(dan<10){
int gob = 1;
while(gob<10){
System.out.println(dan + " * " + gob + " = " + dan*gob);
gob++;
}
dan++;
}
ex7) 5부터 ?까지 합계를 구했을 때 합계가 100 이상이 되는 ?의 값을 구하시오.
// 시작 : 5 , 끝 : ? , 증가량 : 1, 조건 : 합이 100미만
int num = 4;
int sum = 0;
while(sum < 100) {
num++;
sum += num;
}
System.out.println(num);
int num = 5;
int sum = 0;
while(true) {
sum += num;
if(sum >= 100){
break;
}
num;
}
System.out.println(num);
답 : 15
=> 위의 두 코드는 모두 같은 결과값을 출력시킨다.
ex8) 사용자로부터 입력받은 문자열을 출력하는 프로그램.
단, 사용자가 "exit" 입력할 때까지의 무한 반복하게 하라. (do-while)
do{
System.out.println("숫자1 입력하시오");
int firNum = sc.nextInt();
System.out.println("사직연산");
String buho = sc.next();
System.out.println("숫자2 입력하시오");
int secNum = sc.nextInt();
if("+".equals(buho)){
System.out.println(firNum+secNum);
} else if ("-".equals(buho)){
System.out.println(firNum-secNum);
} else if ("*".equals(buho)) {
System.out.println(firNum*secNum);
} else if ("/".equals(buho)) {
System.out.println((int)(float)firNum/secNum*100+0.5/100f);
} else {
System.out.println("사칙연산 아님, 종료!");
break;
}
} while(true);
'Java' 카테고리의 다른 글
[Java] 조건문, 반복문 (예제 풀이 및 해답) (0) | 2020.09.18 |
---|---|
[Java] 배열 (Array) (0) | 2020.09.17 |
[Java] 조건문 (if문, switch문) <학점계산기> (0) | 2020.09.12 |
[Java] 연산자(간단 문제) (0) | 2020.09.07 |
[Java] 연산자 (0) | 2020.09.02 |