1. 什么是JShell?
在进入正题之前,让我们先快速了解一下什么是JShell。JShell是Java 9中新增的一个交互式命令行工具,用于快速原型开发、测试代码、探索API和语言特性等。
JShell界面类似于一个REPL(Read-Eval-Print Loop,交互式解释器),可以执行Java代码片段,并立即查看结果。这对于写代码、快速测试想法以及学习新语言特性都非常有用。
2. JShell中的控制流语句
Java中的控制流语句包括if语句、for循环、while循环、do-while循环和switch语句等。那么在JShell中如何定义这些语句呢?
2.1 if语句
在JShell中定义if语句可以使用以下语法:
if (condition) {
// your code here
}
其中,condition是一个条件表达式,若表达式的值为true,则执行if语句代码块中的代码。否则跳过if语句的代码块。
例如,我们可以使用以下代码来判断一个数是否为偶数:
int num = 10;
if(num % 2 == 0) {
System.out.println(num + "是一个偶数");
} else {
System.out.println(num + "不是一个偶数");
}
重要部分:if语句中条件表达式的判断,使用了%运算符来判断num是否为偶数。
2.2 for循环
在JShell中定义for循环可以使用以下语法:
for (initialization; condition; iteration) {
// your code here
}
其中,initialization用于初始化循环变量;condition是一个条件表达式,若表达式的值为true,则执行for循环中的代码块。否则跳出循环;iteration用于增加或减少循环变量的值。
例如,我们可以使用以下代码来输出1-10之间的所有偶数:
for(int i=1; i<=10; i++) {
if(i % 2 == 0) {
System.out.println(i);
}
}
重要部分:for循环中的初始化语句定义了循环变量i的初始值为1;条件表达式i<=10的判断;每次循环通过i++语句来增加循环变量的值。
2.3 while循环
在JShell中定义while循环可以使用以下语法:
while (condition) {
// your code here
}
其中,condition是一个条件表达式,若表达式的值为true,则执行while循环中的代码块。否则跳出循环。
例如,我们可以使用以下代码来输出1-10之间的所有奇数:
int i = 1;
while(i <= 10) {
if(i % 2 != 0) {
System.out.println(i);
}
i++;
}
重要部分:while循环中的顺序结构定义了循环变量i的初始值为1;条件表达式i<=10的判断;每次循环通过i++语句来增加循环变量的值。
2.4 do-while循环
在JShell中定义do-while循环可以使用以下语法:
do {
// your code here
} while (condition);
其中,condition是一个条件表达式,若表达式的值为true,则继续执行do-while循环中的代码块。否则跳出循环。
例如,我们可以使用以下代码来输出1-10之间的所有偶数:
int i = 1;
do {
if(i % 2 == 0) {
System.out.println(i);
}
i++;
} while(i <= 10);
重要部分:do-while循环中的顺序结构定义了循环变量i的初始值为1;条件表达式i<=10的判断;每次循环通过i++语句来增加循环变量的值。
2.5 switch语句
在JShell中定义switch语句可以使用以下语法:
switch (variable) {
case value1:
// your code here
break;
case value2:
// your code here
break;
default:
// your code here
break;
}
其中,variable是一个变量名或表达式,选择要测试的值;case关键字定义每个要测试的值;break关键字用于终止switch语句并移动到执行下一行代码。
例如,我们可以使用以下代码来输出星期天在一周中的位置:
String day = "Sunday";
switch(day) {
case "Monday":
System.out.println("第1天");
break;
case "Tuesday":
System.out.println("第2天");
break;
case "Wednesday":
System.out.println("第3天");
break;
case "Thursday":
System.out.println("第4天");
break;
case "Friday":
System.out.println("第5天");
break;
case "Saturday":
System.out.println("第6天");
break;
case "Sunday":
System.out.println("第7天");
break;
}
重要部分:switch语句中的case关键字定义了对day变量的判断,输出星期天在一周中的位置。
3. JShell中的控制流语句实例
下面是一个完整的例子,展示了在JShell中如何使用控制流语句。
// 定义一个方法,用于判断一个数是否为质数
public boolean isPrime(int num) {
if(num <= 1) {
return false;
}
for(int i=2; i
if(num % i == 0) {
return false;
}
}
return true;
}
// 输出1-100之间的所有质数
for(int i=1; i<=100; i++) {
if(isPrime(i)) {
System.out.println(i + "是一个质数");
}
}
重要部分:代码中定义了一个isPrime方法,用于判断一个数是否为质数;通过for循环和if语句输出1-100之间的所有质数。
4. 总结
在JShell中,我们可以使用if语句、for循环、while循环、do-while循环和switch语句等控制流语句来控制程序的流程。这些语句可以帮助我们使程序更加灵活,有效地控制程序的执行流程。