开头
朋友们吼啊,今天我又抽空出来学习Java了。今天学习的是控制流程,这是在我们以后开发中经常会接触到的一些结构体,对于任何一门语言都是十分重要的,提供了控制程序步骤的基本手段。并且根据用户输入决定自己程序要”做什么“ ”怎么做“等功能
控制流程 介绍
在Java中,控制流程用于控制程序的执行顺序。它通过不同的语句和结构来决定代码的执行路径。常见的控制流程包括条件语句(if-else、switch),循环语句(for、while、do-while),以及跳转语句(break、continue、return)等。本章中的知识架构如下:
4.1 复合语句
Java语言的符合语句是以整个区块为单位,复合语句由开括号 ”{” 开始,闭括号 ”结束”。复合语句以整个块为党委,能够用在任何一个单独语句可以使用的地方。并且在复合语句中还可以嵌套复合语句。
package Number;
public class Compound {
public static void main(String[] args) {
int x = 20;
{
int y = 40;
System.out.println(y);
int z= 245;
boolean b; //布尔值
{
b = y > z; //判断y是否大于z,如果是,则b为true,否则为false
System.out.println(b);
}
}
System.out.println(b); //b只是局部变量,不能在外部访问(所以本行错误)
String word = "Hello Java";
System.out.println(word);
}
}
4.2 条件语句
条件语句是一种在程序中根据条件的真假来选择执行不同代码块的结构。条件语句可以根据不同的条件来执行不同的代码逻辑,使程序能够根据不同的情况做出不同的响应。在Java中,常见的条件语句有if语句和if-else语句。
最简单的条件语句是if语句,也就是如果什么条件成立,那么某件事会发生。值得注意的是,if条件值里面也可以继续嵌套if语句。
package Number;
public class number {
public static void main(String[] args) {
int a = 100;
if(a == 100)
System.out.println("a is 100");
//只有一条条件语句的时候允许,我们可以不打“{}”括号
}
}
If.....else语句呢,就是如果什么条件成立,那么某件事会发生。否则,就会发生另一种事。
if(条件表达式){
语句序列1
}else{
语句序列2
}
当然,if条件语句中,还准在if...else if这种多分支语句理论上来说,只要程序员喜欢,可以写无数个else if。但是这种方法就特别笨重低效了,因此这种分支条件使用最好不超过七个以上。
if(条件表达式){
语句序列1
}else if(条件表达式2){
语句序列2
}else if(条件表达式3){
语句序列3
}else if(条件表达式4){
语句序列4
}
......
else if(条件表达式n){
语句序列n
}
4.2 Switch条件语句
在Java中,switch语句用于根据一个表达式的值,选择性地执行与各个取值相匹配的代码块。在Switch的复合语句中呢,case表示的是某一种情况。比如我们的数值 number = 1传递到switch语句中,当匹配到case值也是1的时候,就会执行这段判断条件中的命令。
其中的Break又是什么呢?Break就是跳出这段循环。如果没有Break指令,那么我们的数值就会继续在Switch中继续匹配符合的case,直到把所有的case都匹配完毕才会结束。
可以说break在循环体中有着大作用!
switch (表达式) {
case 值1:
// 当表达式的值与值1相等时,执行这里的代码块
break;
case 值2:
// 当表达式的值与值2相等时,执行这里的代码块
break;
case 值3:
// 当表达式的值与值3相等时,执行这里的代码块
break;
// 可以继续添加更多的case语句
default:
// 当表达式的值与之前的所有值都不匹配时,执行这里的代码块
break;
}
4.3循环语句
循环语句是一种在程序中重复执行一段代码块的结构。在Java中,常见的循环语句有for循环、while循环和do-while循环。
循环语句,最重要的是循环条件,也就是你要这个循环可以循环多少次(可以是无限次)?
循环体,表示的是在每一次循环时,执行命令都会执行一次这一条指令。
for循环:
for循环是一种在已知循环次数的情况下重复执行代码块的循环结构。它的语法如下:
for (初始化; 循环条件; 循环迭代) {
// 循环体,执行这里的代码块
}
在for循环中,初始化用于初始化循环变量,循环条件用于判断是否继续循环,循环迭代用于更新循环变量的值。循环体中的代码会在每次循环时执行。
while循环:
while循环是一种在条件为真的情况下重复执行代码块的循环结构。它的语法如下:
while (循环条件) {
// 循环体,执行这里的代码块
}
在while循环中,循环条件会在每次循环开始前进行判断,如果为真,则执行循环体中的代码。如果循环条件为假,则跳出循环。
do-while循环:
do-while循环是一种先执行一次代码块,然后在条件为真的情况下重复执行代码块的循环结构。它的语法如下:
do {
// 循环体,执行这里的代码块
} while (循环条件);
在do-while循环中,循环体中的代码会先执行一次,然后在每次循环结束后判断循环条件是否为真。如果为真,则继续执行循环体中的代码,否则跳出循环。
foreach语句
foreach语句是for语句的特殊简化版本,不能完全取代for语句。Foreach语在遍历数组等方面为程序员提供了很大的方便。
for (元素类型 变量名 : 集合或数组 {
// 执行这里的代码块,变量名表示当前遍历到的元素
}
示例:
创建一个类Reption,在主方法中定义一维数组,并用foreach语句遍历该数组。
public class Repetition {
public static void main(String[] args) {
int arr[] = {5, 13, 96};
System.out.println("一维数组中的元素分别为:");
for(int x:arr){
System.out.println(x);
}
}
}
4.4 循环控制
循环控制是一种用于在循环中改变程序执行流程的机制。它可以让我们根据特定条件来控制循环的执行过程,例如提前终止循环、跳过当前迭代或者跳出多层嵌套循环。主要包括的有break语句与continue语句。
break语句
在之前就已经有提到过了,使用break语句可以跳出switch结构,也可以跳出当前的循环体。比如在while循环中加入了if条件,那么i在等于10的时候就会走到if这个块语句中。
do....while(条件) 与 for循环使用原理同上。
int i = 1;
while (i <= 20){
if (i == 10){ //在I等于10的时候我们控制其跳出循环
System.out.println("Stop" + i);
break;
}
i++;
}
continue语句
这是针对break语句的补充。Continue语句并不是跳出循环体,而是跳过了本次循环。
就好像我们过游戏剧情,如果是我们不想看的剧情我们可以点击跳过这一段剧情,但总体的流程依旧在进行着。
下面用一个例子来简单表示大家就清楚了:
package Number;
public class Repetition { //打印奇数的数值
public static void main(String[] args) {
for(int i = 1; i < 20; i++){
if(i % 2 == 0){ //如果是偶数,我们就跳过这次循环,不打印
continue;
}
System.out.println(i);
}
}
}
总结
今天学习的控制流程还是相当Easy的,只要跟着书中敲写一下,很快就可以掌握了。如果还不了解的大大们呢,我也建议各位最好是系统地跟着B站视频学习。不知道今天这种编写风格是否合适呢?我自己还去用AI软件跑了一个自己的Logo,发文章的时候就不会担心自己没有独一无二的封面了,嘿嘿。总而言之,感谢大家对小白我的认可啦,我也会慢慢地坚持下去啦。有大家的关注我也有了想要做得更好的动力啦。