
條件을 確認하고 true면 { } 中括弧 內의 內容을 實行하고、아니면 빠져나간다。
if (n1 < n2) {
System.out.println("n1 < n2 is true");
// true면 實行、false면 實行을 하지 않고 빠져나감
}
if (n1 < n2) System.out.println("n1 < n2 is true");
// if文이 屬한 文章이 하나일 境遇 中括弧 省略可能
if文의 條件이 false일 境遇 else로 가서 { } 中括弧 內의 內容을 實行한다。必히 if나 else 둘 中 하나는 實行하게 되어있다。
if (n1 == n2) {
System.out.println("n1 == n2 is true");
// true면 實行後 條件文을 빠져나감。
} else {
System.out.println("n1 == n2 is false");
// false면 實行後 條件文을 빠져나감。
}
/*
if文과 마찬가지로 if節 또는 else節에 屬한 文章이
하나일 境遇 中括弧 省略이 可能하다。
*/
if文이 false이고、檢査하고 싶은 條件이 많은 境遇에는 else if를 追加로 複數回 使用하여 條件을 檢査할 수 있다。모든게 false인 境遇 if - else文과 마찬가지로 else로 넘어간다。
public class Hello {
public static void main(String[] args) {
int num = 120;
if (num < 0) {
System.out.println("0未滿");
} else if (num < 100) {
System.out.println("0以上 100未滿");
} else {
System.out.println("100以上");
// 모든 if와 else if文이 false면 else를 實行
}
}
}
實行畫面 →
100以上
點數와 平均을 出力하고、平均에 따른 秀優美良可를 出力하시오。
public class GradeCheck {
public static void main(String[] args) {
int kor = 80;
int eng = 40;
int math = 30;
int total;
double avg;
total = kor + eng + math;
avg = total / 3.0;
if (avg >= 90) {
System.out.println("秀 입니다。");
} else if (avg >= 80) {
System.out.println("優 입니다。");
} else if (avg >= 70) {
System.out.println("美 입니다。");
} else if (avg >= 60 ) {
System.out.println("良 입니다。");
} else {
System.out.println("可 입니다。");
}
}
}
最大값을 出力하시오。
public class Max {
public static void main(String[] args) {
int num1 = 80;
int num2 = 33;
int num3 = 55;
int max;
if (num1 > num2) {
if (num1 > num3) {
max = num1;
} else {
max = num3;
}
} else {
if (num2 > num3) {
max = num2;
} else {
max = num3;
}
}
System.out.println("max is " + max);
}
}
條件이 맞는 case를 찾아가서 break까지 實行後 條件을 빠져나간다。萬一 條件에 맞는 게 없을 境遇 default를 實行한다。
switch (n) 에서 基本的으로 整數가 온다。(實數는 오면 안 된다!)
public class Switch {
public static void main(String[] args) {
int n = 65;
switch (n) {
case 1:
System.out.println("Simple Java");
case 2:
System.out.println("Funny Java");
case 3:
System.out.println("Fantastic Java");
default:
System.out.println("The best programming language");
}
System.out.println("Do you like Java?");
}
}
int num = -10을 割當後 該當하는 整數에 對한 絶對값을 出力하는 프로그램을 作成하시오。
public class Hello {
public static void main(String[] args) {
int num = -10;
if (num < 0) {
num = -num;
}
System.out.println("絶對값은 " + num);
}
}
먼저 條件을 檢査하고 結果가 true면 中括弧 領域을 實行
while (反復條件) {
反復領域
增減
}
public class While {
public static void main(String[] args) {
int num = 0;
while (num < 5) {
System.out.println("I like Java " + num);
num++;
}
}
}
實行畫面 →
I like Java 0
I like Java 1
I like Java 2
I like Java 3
I like Java 4
먼저 中括弧의 領域을 實行、條件을 檢査 後 結果가 true면 反復決定。絶對 1回는 實行한다。
for (初期값; 反復條件; 增減);
for (int i = 0; i < 3; i++) {
System.out.println("條件에 맞으면 出力");
}
變數의 範圍는 中括弧 內 for文에서、初期化 構文은 딱 1回만 實行된다。public class Gugudan {
public static void main(String[] args) {
int i = 1;
int result = 0;
while (i <= 9) { // 段 出力을 爲한 첫 番째 反復文
System.out.println("\n" + i + "段");
int j = 1; // 重疊反復文의 變數 初期化
while (j <= 9) { // 1~9곱을 爲한 重疊된 反復文
System.out.println(i + "x" + j + " = " + i * j);
j++; // 重疊反復文의 變數의 增減
}
i++ // 첫 番째 反復文의 變數의 增減
}
}
}
public class For {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("1부터 100까지의 合은 " + sum +"입니다。");
}
}
public class For {
public static void main(String[] args) {
int num;
int sum = 0;
for (num = 1; num <= 100; num++) {
if (num % 2 != 0) {
sum += num;
}
}
System.out.println("1부터 100까지 中 奇數의 合은 : " + sum + "입니다。");
}
}
中間에 break가 걸리면 true면 條件文을 脫出한다。
中間에 continue가 걸리면 true면 再次 條件 檢査로 돌아간다。
public class Break {
public static void main(String[] args) {
int num = 1;
boolean search = false;
// 처음 만나는 5의 倍數이자 7의 倍數인 數를 찾는 反復文
while (num < 100) {
if ((num % 5 == 0) && (num % 7 == 0)) {
search = true;
break; // while文을 脫出
}
num++;
}
if (search) {
System.out.println("찾는 整數 : " + num);
} else {
System.out.println("5의 倍數이자 7의 倍數인 數를 찾지 못했습니다。");
}
}
}1과 1000사이의 數字 中 3의 倍數이자 5의 倍數인 첫 番째 數는?
public class Hello {
public static void main(String[] args) {
int num = 1;
boolean search = false;
while (num < 1000) {
if ((num % 3 == 0) && (num % 5 == 0)) {
search = true;
break; // if文 脫出
}
num++;
}
if (search) {
System.out.println("찾는 整數 : " + num);
} else {
System.out.println("3의 倍數이자 5의 倍數인 數를 찾지 못했습니다。)
}
}
}
なぜ1番~6番しかあるんですか?