以下内容来源于B站视频 https://www.bilibili.com/video/BV12J41137hu
Java流程控制
Scanner对象
-
用来获取用户的输入
-
Scanner s = new Scanner(System.in);
next():
- 一定要读取到有效字符才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
nextLine()
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
- 可以获得空白
顺序结构
- 他是任何一个算法都离不开的一种基本算法结构
- Java的基本结构
- 如无意外则一句一句的向下执行
选择结构
if单选择结构
if (布尔表达式) {
//若布尔表达式为true,执行的语句
}
if双选择结构
if (布尔表达式) {
//若布尔表达式为true,执行的语句
}else {
//若布尔表达式为false,执行的语句
}
if多选择结构
if (布尔表达式1) {
//若布尔表达式1为true,执行的语句
}else if (布尔表达式2){
//若布尔表达式2为true,执行的语句
}else if (布尔表达式3){
//若布尔表达式3为true,执行的语句
}else {
//若以上布尔表达式都不为true,执行的语句
}
嵌套的if结构
if (布尔表达式1) {
//若布尔表达式1为true,执行的语句
if (布尔表达式2) {
//若布尔表达式2为true,执行的语句
}
}
switch多选择结构
- 判断一个变量与一系列中的某个值是否相等
- 没写一个case都要加break,防止穿透
switch (expression) {
case value:
//语句
break; //可选
case value:
//语句
break; //可选
//你可以有任意数量的case语句
default: //可选
//语句
}
循环结构
while
while (布尔表达式) {
//循环内容
}
- 只要布尔表达式为true,循环就会一直进行
- 我们大多数情况是会让循环停止下来,我们需要一个让表达式失效的方式来结束循环
- 少部分情况需要循环一直进行,比如服务器的请求响应监听等
- 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编辑中应该尽量避免死循环,会影响程序性能或造成程序卡死崩溃
do while
do {
//代码语句
}while (布尔表达式);
- while 与do while 不同,do while即使不满足循环条件也会运行一次
- while先判断,后执行
- do while 先执行,后判断
for
for (初始化;布尔表达式;更新) {
//代码语句
}
//死循环
for(; ; ;) {
}
- for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构
- for循环语句的执行次数是在执行前就确定的
- 快捷键: 数值.for
for增强
for ( : ) {
}
public static void main(String[] args) {
//定义一个数组
int[] numbers = {10,20,30,40,50};
for (int x:numbers) {
System.out.println(x);
}
}
//等同于
for(int i=0;i<5;i++){
System.out.println(numbers[i]);
}
- 遍历一个数组
break和continue
- break用于强制退出循环
- continue用于终止某次循环过程,即跳过循环体中尚未执行的语句,继续下一次循环
go to
- 保留,但不建议使用