Java流程控制
1.用户交互Scanner
-
Java提供了一个工具类,我们可以获取用户的输入。java.util.Scanner是java5的新特征,,我们可以通过Scanner类来获取用户的输入。
-
基本语法:
Scanner s = new Scanner (System.in);
- 通过Scanner类的next()与nextLine()方法获取输入的字符串,带读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
- next 与 nextLine的区别
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ximIgWNw-1632487837154)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210920171839814.png)]
2.Scanner进阶
package scanner;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
double sum = 0;
int number = 0;
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextDouble())
{
sum = sum + scanner.nextDouble();
number = number +1;
}
if(number == 0)
{
System.out.println(0);
}
else
{
System.out.println(sum/number);
}
scanner.close();
}
}
3.顺序结构
JAVA的基本结构就是顺序结构,除非特别指明,否则就是按顺序执行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6TfsPvIO-1632487837156)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924192147053.png)]
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成,它是任何一个算法都离不开的一种基本算法结构
4.if选择结构
- 我们判断一个东西是否可以行时,我们才去执行,然后我们可以使用if结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-avHoQDRe-1632487837160)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924192755617.png)]
- 多选择结构:
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C4HoCtCy-1632487837163)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924192906641.png)]
5.Swith选择结构
- 多选择结构还有一个实现方式就是Switch case
- switch case 语句判断一个变量与一系列值中某个是否相等每个值成为一个分支
- Switch 语句中的变量可以是:byte/short/int/char 从javaSE7开始switch就开始支持字符串String了(利用哈希值)
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oPc18c3O-1632487837168)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924195620183.png)]
package struct;
public class SwitchStruct {
public static void main(String[] args) {
//注意穿透现象
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("挂科");
break;
default:
System.out.println("异常");
break;
}
}
}
如果不使用break则会出现 ‘穿透现象’ 输出case后所有语句
idea整体缩进快捷键:TAB /SHIFT + TAB
6.While循环结构
while是最基本的循环,它的结构是:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ATUekCY-1632487837169)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924195646439.png)]
- 只要布尔表达式为true,循环就会一直循环下去。
- 我们大多数是会让循环停下,我们需要一个让表达式失效的方式来结束循环。
- 少部分情况需要循环一直执行,比如服务器的请求响应监听等。
- 循环一直未true回造成死循环。
7.DoWhle循环结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r1O9UgRD-1632487837171)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924200435575.png)]
8.For循环
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q8mU14DR-1632487837173)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924200655578.png)]
快捷方式:100.for
增强for循环
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xu2V2CJc-1632487837173)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924202149697.png)]
9.break,continue
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-37GrN6uY-1632487837174)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210924202335228.png)]