当前位置:网站首页>流程控制学习
流程控制学习
2022-08-09 14:51:00 【左+右】
流程控制(语法)
Scanner对象
java.util.Scanner,使用Scanner时要先导入前面这个包。
我们通过Scanner类来获取用户的输入。
Scanner类用next(),和nextLine()方法获取输入的字符串,在获取前用hasNext()或hasNextLine()判断是否还有输入的数据。
import java.util.Scanner;
public class Test{
String name;
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);//基本语法
if(in.hasNext())//判断是否还有输入
{
name=in.next();//接收输入的名字
System.out.println("输入的名字是:"+name);
}
in.close();//关闭Scanner
//只要是IO流的类不关闭会一直占用资源,用完就要关闭,养成习惯
}
}
next():
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符前遇到的空白,会自动去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
nextLine():
- 以回车符(Enter)为结束符,nextLine()方法返回的是输入回车前的所有字符。
- 可以得到空白,区分空格。
Scanner是可以区分类型判断的。
import java.util.Scanner;
public class Test{
int i;
float f;
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);//基本语法
if( in.hasNextInt() )//判断是否还有输入的整数
{
i = in.nextInt();//接收整数
}else{
System.out.println("输入的不是整数。");
}
if( in.hasNextFloat() )//判断是否还有输入的小数
{
f = in.nextFloat();//接收小数
}else{
System.out.println("输入的不是小数。");
}
in.close();
}
}
顺序结构
- Java的基本结构就是顺序结构,除非特别指明,程序都安装顺序一句一句执行。
- 顺序结构是最简单的算法结构。
- 顺序结构是任何一个算法都离不开的基本算法结构。
public class Test{
public static void main(String[] args) {
System.out.println("01");
System.out.println("02");
System.out.println("03");
System.out.println("04");
System.out.println("05");
}
}
上面输出的结果是:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d1jsSNaQ-1614766249177)(C:\Users\26844\AppData\Roaming\Typora\typora-user-images\image-20210303154150833.png)]](/img/49/93bece9f4af507ca517c86c79731e0.png)
if选择结构
if单选择结构
语法:
if(布尔表达式){ //如果布尔表达式为true将执行括号里的语句,为false就跳过这部分 }if双选择结构
语法:
if(布尔表达式){ //如果布尔表达式为true将执行括号里的语句 }else{ //如果布尔表达式为false将执行括号里的语句 }if多选择结构
语法:
if(布尔表达式 1){ //如果布尔表达式 1为true将执行括号里的语句 }else if(布尔表达式 2){ //如果布尔表达式 2为true将执行括号里的语句 }else if(布尔表达式 3){ //如果布尔表达式 3为true将执行括号里的语句 }else{ //如果以上布尔表达式都不为true将执行括号里的语句 }后面的布尔条件包含在前面布尔条件的false情况里面。
嵌套的if结构
if(布尔表达式 1){ //如果布尔表达式 1为true将执行括号里的语句 if(布尔表达式 2){ //如果布尔表达式 2为true将执行括号里的语句 } }
Switch选择结构
switch case语句。
switch语句中的变量类型:
- byte、short、int或者char。
- 从Java SE 7 开始,switch支持字符串String类型了
- 同时case标签必须为字符串常量或字面量。
switch(experssion){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//case数量可以任意添加
default: //可选
//语句
}
experssion就是要传入的变量名。
value就是传入变量可能的值。
如果传入变量的值和某个case里的value相同,就执行该case后面的语句,执行完后结束。
break就是结束符,不然会顺序执行后面语句。
default后面的语句是当传入的变量值在case里没有对应时执行的语句。
While循环结构
while(布尔表达式){
//循环内容
}
- while是最基本的循环结构
- 只要布尔表达式为true,循环就会一直下去
- 大多数情况是要会让循环停下来的,这时就要一个可以让表达式失效的方式来结束循环。
- 少部分需要一直循环,比如服务器的请求响应监听等。
- 循环条件一直为true就会造成无限循环,正常业务中要尽量避免死循环。死循环会影响程序性能或者让程序卡死崩溃。
do…while循环结构
do{
//代码语句
}while(布尔表达式);
- 对于while语句,不满足条件就不会执行括号里的语句,但我们有时候需要括号里的语句至少执行一次。
- do…while()循环和while循环相似,不同的是,do…while()至少会执行一次括号里的语句。
- while和do…while的区别:
- while先判断再执行,do…while先执行再判断。
- do…while保证循环体至少执行一次。这是最主要的区别。
for循环结构
for循环语句是支持迭代的一种通用结构,最有效、最灵活的循环结构。
语法格式:
for(初始化 ; 布尔表达式; 更新){ //代码语句 }初始化就是初始化变量,表达式就是变量的限制,更新就是变量的改变。
for(int i=0;i<10;i++) { System.out.println("Hello"); } //输出十个Hello增强for循环(数组时使用)
int [] nums = { 1,2,3,4,5,6}; for(int x:nums) { System.out.println(x); } //上面内容相当于下面内容 for(int i=0;i<6;i++) { System.out.println(nums[i]); }
break、continue
- break在任何循环语句的主体部分,都可以用break控制循环的流程。break用于强行退出循环,不执行循环中剩下的语句。
- continue语句用在循环语句体中,用于终止某次循环过程,既跳出循环体中尚为执行的语句,接着进行下一次是否执行循环的判定。
边栏推荐
- 【NodeJs篇】关于path 路径模块的学习和使用
- OpenSSF的开源软件风险评估工具:Scorecards
- JS——循环结构经典例题解析与分享
- DBCO-PEG-DSPE,磷脂-聚乙二醇-二苯并环辛炔,在无铜离子的催化下反应
- uniapp学习
- C语言程序设计笔记(浙大翁恺版) 第五周:循环控制
- [Database] How does Sqlserver backup the database regularly and clear it regularly
- 6大论坛,30+技术干货议题,2022首届阿里巴巴开源开放周来了!
- C语言程序设计笔记(浙大翁恺版) 第十一周:结构类型
- Technology Sharing | How to Handle Header Cookies in Interface Automation Testing
猜你喜欢
随机推荐
Mind map FreeMind installation problems and simple use
DSPE-PEG-Hydrazide,DSPE-PEG-HZ,磷脂-聚乙二醇-酰肼MW:1000
WebShell简介
C语言程序设计笔记(浙大翁恺版) 第九周:指针
DMPE-PEG-Mal Maleimide-PEG-DMPE dimyristoylphosphatidylethanolamine-polyethylene glycol-maleimide
【原神】手机版原神下错版本不能登录怎么办?B服修改为官服
[DevOps] jekins deployment (1)
golang中的select原理解析
如何设计一个高并发系统?
听书项目总结
相似图像的检测方法
VMWare不使用简易安装,手动安装ISO操作手册
After reading the "Redis In-depth Notes" compiled by Tencent bosses in 90 days, I worshipped on the spot.
shell------常用小工具,sort,uniq,tr,cut
启动报错:Caused by: org.apache.ibatis.binding.BindingException汇总解决
回归测试:意义、挑战、最佳实践和工具
Shell编程之正则表达式
【磁场建模项目2020-02-Lilin】采集板硬件规范
看完腾讯大佬90天整理的“Redis深度笔记”,我直接当场膜拜
985测试工程师被吊打,学历和经验到底谁更重要?









