本系列博客是韩顺平老师java基础课的课程笔记,B站:课程链接,吐血推荐的一套全网最细java教程,获益匪浅!
1. 顺序
程序从上至下逐行执行,中间没有任何判断和跳转
2. 分支
- 单分支if
- 双分支if-else
- 多分支if - else if … - else
- 嵌套分支:建议嵌套最好不要超过三层
- switch
- break代表的是退出switch结构。首先判断表达式的值是否等于常量1…表达式不等于所有常量时,执行default

- 细节
- 表达式的数据类型应该和case的常量类型一致,或者可以自动转换成一致
- Switch(表达式)中表达式的返回值必须是 byte short int char enum string
- case子语句中的值必须是常量(或者常量表达式),不可以是变量
- default语句是可选的,不一定要写
- break语句用于在执行完一个case分支后跳出Switch,如果没有遇到break的话,程序会顺序执行,直到遇到下一个break
3. 循环
- for
- for(循环变量初始化,循环条件,循环变量迭代){循环操作}
- 细节
- 先执行循环操作,再执行循环变量的迭代
- 循环条件返回一个布尔值的表达式
- for(; 循环条件;)中的初始化和变量迭代可以写到其他地方,但是分号不能省略。(一般在for循环之外还想要使用循环变量时使用)
for(; ;)表示无限循环
for(int i=0,j=0 ; i<10; i++, j++)循环变量初始化以及迭代操作可以有多条语句
- while
- 循环变量初始化;while(循环条件){循环体;循环变量迭代}
- do…while
- 循环变量初始化;do{循环体;循环变量迭代;}while(循环条件);
- 细节
- 与while的区别在于:先执行再判断,也就是说至少会执行一次
- 最好有一个分号
- 多重循环
import java.util.Scanner;
public class Hello {
public static void main(String []args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入最后一行的*个数:");
int n=in.nextInt();
int mid=n/2;
for(int i=0;i<=mid;i++){
for(int j=0;j<n;j++){
if(j==(mid-i)||j==(mid+i)||i==mid)
System.out.print("*");
else System.out.print(" ");
}
System.out.println('\n');
}
}
}
*
* *
* *
*******
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
4. 跳转
- break
- 用于终止某个语句块的执行,一般用在Switch或者循环中
- 细节
- 当break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是那一层语句块
- break后指定到那个标签,就退出到哪里
- 如果没有指明标签,默认退出最近的循环体
- 在实际的开发中,尽量不要使用标签

- continue
- 用于结束本次循环,继续执行下一次循环
- continue出现在多层嵌套语句体时,可以通过标签指定要跳过的是哪一层循环
- return
- 使用在方法上,表示跳出当前的方法,如果使用在main方法中,就是跳出当前的程序
5. 编程思想
因为有c++的基础,所以这一章听起来相对轻松,但是break使用label来结束指定的循环,这还挺让我惊喜的,以前从来没有听说过。