(저번 게시글과 이어서)
: 반복횟수가 명확한 경우
for (ⓐ초기화; ⓑ조건식; ⓓ갱신){
ⓒ반복 내용 // ⓐ초기화 수행 후, ⓑ->ⓒ->ⓓ 반복
//(거짓이 될때까지)
}
예시
int i;
for(i = 0; i < 10; i++) {
System.out.print(i);
}
int sum = 0;
for(int i = 100; i >= 0; i--)
sum += i;
-> 구구단 예시
package chapter03;
public class Gugudan {
public static void main(String[] args) {
//강사님 방법
for (int j = 1; j < 10; j++) {
for (int i = 1; i < 10; i++) {
System.out.print(j + "*" + i + "=" + (i * j));
System.out.print("\t");
}
System.out.println();
}
}
}
: 실행 흐름을 다음 반복으로 넘기는 문법
반복문의 모든 코드를 수행하지 않은 채 다음 반복으로 이동
: 반복문을 탈출하는 문법
package chapter03;
public class ForTest {
public static void main(String[] args) {
int sum=0;
for (int i = 0; i <= 99 ; i+=2) { // i는 짝수로 커져야 하므로 i+=2넣어야함
sum=sum+i;
//i+=2할 필요없음 왜냐하면 위의 for문에 들어갔기 때문
//만약에 넣으면 4씩 증가해서 구하는 값이 나오지 않음
// 만약에 for문에i++, sum=sum+i;식 밑에 i+=2;넣으면 0에서 3씩 증가한 수의 합을 구해짐.
//헷갈리지 말라고 적어놓음
}
System.out.println("짝수들의 합: "+sum);
}
}
2.택시비 입력값 반복 및 총 금액.
//택시비 입력값 반복 및 총 금액.
package chapter03;
import java.util.Scanner;
public class TaxiFare {
public static void main(String[] args) {
int fare = 0;
int income = 0;
Scanner scanner = new Scanner(System.in);
for (int i =0; i <10; i++) {
System.out.println("요금을 입력하세요.");
fare = scanner.nextInt();
income += fare;
}
System.out.println("총수입"+income);
scanner.close();
}
}
//두 정수 + 연산자 입력시 계산
두 정수 + 연산자 입력시 계산
package chapter03;
import java.util.Scanner;
public class ArithemeticExlf {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("연산>>");
int num1 = scanner.nextInt();
String a = scanner.next();
int num2 = scanner.nextInt();
int puls = num1 + num2;
int mi = num1 - num2;
int mul = num1 * num2;
//int div = num1 / num2;
if (a.equals("+")) {
System.out.println(num1+a+num2+"의 계산 결과는 "+puls);
}else if (a.equals("-")) {
System.out.println(num1+a+num2+"의 계산 결과는 "+mi);
}else if (a.equals("*")) {
System.out.println(num1+a+num2+"의 계산 결과는 "+mul);
}else if (a.equals("/")){
if ( num2==0){
System.out.println("0으로 나눌수 없습니다.");
}else {
System.out.println(num1+a+num2+"의 계산 결과는 "+num1/num2);
}
}else {
System.out.println("연산자 입력 확인 해주세요.");
}
scanner.close();
}
}
package chapter03;
import java.util.Scanner;
public class ComputeBalance {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("구매금액을 입력하세요.");
int purchaseAmount = scanner.nextInt();
int balance;
if (purchaseAmount >= 300000) {
System.out.println("구매금액="+purchaseAmount);
balance =purchaseAmount-30000;
System.out.println("청구금액="+ balance );
}else if (purchaseAmount>=100000) {
System.out.println("구매금액="+purchaseAmount);
balance =purchaseAmount-5000;
System.out.println("청구금액="+balance);
}else {
System.out.println("구매금액="+purchaseAmount);
balance = purchaseAmount;
System.out.println("청구금액="+balance);
}
scanner.close();
}
}
package chapter03;
import java.util.Scanner;
public class ExGlobalStock {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("매수금액을 입력하세요.");
double buying = scanner.nextDouble();
System.out.println("매도금액을 입력하세요.");
double sell = scanner.nextDouble();
if (sell> buying) {
System.out.println("양도세 = "+(sell-buying)*22/100);
}else {
double transfer_tax = 0;
System.out.println("양도세 = "+transfer_tax );
}
scanner.close();
}
}
6.초단위의 정수를 입력받고, 몇 시간, 몇 분, 몇 초인지 출력하는 프로그램 작성
package chapter03;
import java.util.Scanner;
public class ArithmeticOperator {
//초단위의 정수를 입력받고, 몇 시간, 몇 분, 몇 초인지 출력하는 프로그램 작성
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("정수를 입력하세요.");
int a = scanner.nextInt();
int hours = a /3600;
int min = (a-hours*3600)/60; // 식을 (a/60)%60로 해도 동일함
int sec = a%60;
System.out.println(a+"초는 "+hours+"시간, "+min+"분, "+sec+"초입니다.");
scanner.close();
}
}
package chapter03;
import java.util.Scanner;
public class ThreeSixNine {
//369게임 프로그램. 정수 중 3,6,9중에 하나 있는 경우 "박수짝", 두개 있는 경우 "박수짝짝" 출력
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("10~99까지의 정수를 입력하시오");
int num = scanner.nextInt();
int ten = num / 10;
int one = num % 10;
if (one == 3 || one == 6 || one == 9) {
if (ten == 3 || ten == 6 || ten == 9) {
System.out.println("박수짝짝");
} else {
System.out.println("박수짝");}
} else if (ten == 3 || ten == 6 || ten == 9) {
System.out.println("박수짝");
}else {
System.out.println(num);
}
scanner.close();
}
}
또는
package chapter03;
import java.util.Scanner;
public class ThreeSixNine {
//369게임 프로그램. 정수 중 3,6,9중에 하나 있는 경우 "박수짝", 두개 있는 경우 "박수짝짝" 출력
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("10~99까지의 정수를 입력하시오");
int num = scanner.nextInt();
int = a, b;
a = num / 10;
b = num % 10;
if (a % 3 ==0) {
count++;
}
if (b % 3 ==0&& b!=0) {
count++;
}
if(count ==2){
System.out.println("박수짝짝");
}else if(count ==1){
System.out.println("박수짝");
}else {
System.out.println(a);
}
scanner.close();
}
}
package chapter03;
public class Gugudan {
public static void main(String[] args) {
/*for (int j = 1; j < 10; j++) {
for (int i = 1; i < 10; i++) {
System.out.println(j + "*" + i + "=" + (i * j));
}
}
*/
//강사님 방법
for (int j = 1; j < 10; j++) {
for (int i = 1; i < 10; i++) {
System.out.print(j + "*" + i + "=" + (i * j));
System.out.print("\t");
}
System.out.println();
}
}
}