文章目錄
一、Java流程控制語句(三種)
1、順序結構
自上而下依次順序執行
2、選擇結構
①🔺if 語句
選擇/分支/條件語句
只要有一個分支執行,整個if語句就結束
當分支中只有一條java語句時,大括號{}可以省略不寫,但爲了代碼的可讀性,建議不要省略
"栗子1"
package javaBasis;
import java.util.Scanner;
/*題目:輸入三個正整數,判斷能否構成三角形的三邊,如果不能,輸出“NO”。
如果能構成三角形,判斷構成什麼三角形?按等邊、直角、一般三角形分類,
依次輸出對應的三角形類型“Equilateral”、“Right”、“General”。
數據範圍限制:1<=a,b,c<=1000
輸入
輸入一行三個用空格隔開的正整數a,b,c,表示三角形的三條邊長。
輸出
輸出對應三角形的類型,如果不能構成三角形,輸出“NO”,
如果是等邊三角形輸出“Equilateral”,
如果是直角三角形輸出“Right”,
其他三角形則輸出“General”。
樣例輸入
3 4 5
樣例輸出
Right
*/
// 考查:if ~else if else語句
public class IfTest01 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int c = input.nextInt();
double x, y, z;
x = Math.pow(a, 2);
y = Math.pow(b, 2);
z = Math.pow(c, 2);
String type = "Triangle";
// 能構成三角形的三邊條件:任意兩邊之和大於第三邊(必須都成立,&&全真才真,一假即假)
if (a + b > c && a + c > b && b + c > a) {
if (a == b && a == c && b == c) {
type = "Equilateral"; // 等邊三角形(三邊相等)
}else if (x + y == z || x + z == y || y + z == x) {
type = "Right"; // 直角三角形(勾股定理)
}else {
type = "General"; // 其他三角形
}
}
else {
type = "NO";
}
System.out.println(type);
}
}
"栗子2"
package javaBasis;
import java.util.Scanner;
/* 題目:分配任務
在社會實踐活動中有三項任務分別是:種樹、採茶、送水。依據小組人數及男生、女生人數決定小組的接受任務,
人數小於10人的小組負責送水(輸出water),人數大於等於10人且男生多於女生的小組負責種樹(輸出tree),
人數大於等於10人且男生不多於女生的小組負責採茶(輸出tea)。輸入小組男生人數、女生人數,輸出小組接受的任務。
輸入
一行兩個空格隔開的數,表示小組中男生和女生的人數。
輸出
輸出對應的任務。
樣例輸入
5 3
樣例輸出
water
*/
// 考查:if-else語句、內嵌if-else語句
public class IfTest02 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int boys = input.nextInt();
int girls = input.nextInt();
int total = boys + girls;
String task = "undetermined";
if (total >= 10) {
if (boys > girls) {
task = "tree";
}else {
task = "tea";
}
}else {
task = "water";
}
System.out.println(task);
}
}
② switch語句
"栗子"
package javaBasis;
import java.util.Scanner;
/* 題目:寫評語
輸入某學生成績score,根據成績好壞輸出相應評語。
如果成績在大於等於90,輸出“Excellent”;
如果成績在大於等於80分且小於90分,輸出“Good”;
如果成績大於等於60分且小於80分,輸出“Pass”;
成績小於60分,輸出“Fail”。
數據範圍限制:0<=score<=100
輸入
輸入一個整數score,表示學生的成績
輸出
輸出對應的評語。
樣例輸入
65
樣例輸出
Pass
*/
// 考查:switch語句、case穿透現象
public class SwitchTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int score = input.nextInt();
score /= 10;
String comment = "unknown";
switch(score) {
case 10:
case 9:
comment = "Excellent";
break;
case 8:
comment = "Good";
break;
case 7:
case 6:
comment = "Pass";
break;
default:
comment = "Fail";
break;
}
System.out.println(comment);
}
}
3、循環結構
①🔺for語句
"栗子"
// 九九乘法表
public class ForTest01 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" + (i * j) + " ");
}
System.out.println();
}
}
}
/* 打印九九乘法表
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
*/
②🔺while語句
"栗子"
package javaBasis;
import java.util.Scanner;
/* 題目:數字之和
對於任意輸入的整數,計算其各個數位上的數字之和。
數據範圍限制:1<=N<2^31
輸入
輸入一個正整數N。
輸出
輸出N的各個位上的數字之和。
樣例輸入
1234
樣例輸出
10
*/
public class WhileTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int sum = 0;
while(n != 0){
sum += n % 10;
n /= 10;
}
System.out.println(sum);
}
}
③ do…while語句
二、轉向語句(三種)
1、break語句【break;】
(1) 作用:跳出當前所在循環體,順序執行循環體外層語句。
(2) 使用:① 用在switch語句中,用來終止switch語句執行。
② 用在循環 (for/ while/ do~while)語句中,用來終止循環的執行。
public class BreakTest {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
if (i == 5) {
break; // break跳出的是循環,即for,而不是if.
}
System.out.println("i == " + i);
}
System.out.println("我是循環體外的語句A");
System.out.println("我是循環體外的語句B");
System.out.println("我是循環體外的語句C");
}
}
/* 執行結果:
i == 0
i == 1
i == 2
i == 3
i == 4
我是循環體外的語句A
我是循環體外的語句B
我是循環體外的語句C
*/
2、continue語句【continue;】
(1) 作用:跳出當前本次循環,繼續下一次循環條件的判斷。
注:①執行【continue;】語句,for循環跳過循環體中餘下的語句,執行更新表達式,並對條件表達式(循環控制條件)進行判斷。while和do-while循環跳過循環體中餘下的語句,直接跳到條件表達式(循環控制條件)進行判斷。
② 【continue;】語句是終止"本次"循環,接着開始下一次循環,
而【break;】語句則是完全終止整個循環。
public class ContinueTest {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
if (i == 5) {
continue;
}
System.out.println("i == " + i);
}
System.out.println("循環體外語句");
}
}
/* 執行結果:
i == 0
i == 1
i == 2
i == 3
i == 4
i == 6
i == 7
i == 8
i == 9
i == 10
循環體外語句
*/
3、return語句【return; 或 return 返回值;】
(1)、作用:結束方法。
(2)、兩種表示形式:
① return;
return不跟返回值,即方法聲明返回類型爲void。當【return;】執行時,return所在方法結束。作用是中斷方法(函數)執行,直接返回函數調用處。
② return 返回值;
當【return 返回值;】語句執行,返回值會傳遞給調用該方法的對象,並聲明一個和返回值類型相同的引用來接收返回值。
🍅🍅🍅 以往文章 👇
001_Java語言發展歷程
002_Java語言的八大特性
003_淺析JDK、JRE、JVM的區別和聯繫
004_JDK的下載安裝與環境變量的配置
005_DOS常用命令
006_Java關鍵字、標識符、註釋
007_Java八大基本數據類型
008_Java類型轉換
009_Java運算符