Java的流程控制
2024-09-08 18:42:40
Scanner对象
next();
一定要读取到有效字符后才可以结束输入。
对输入有效字符之前遇到的空白,next()方法会自动将其去掉()。
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
next()不能得到带有空格的字符串(当输入的字符串中有空格时,不再接收空格后的字符串)
nextLine():
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
可以获得空白
package ProcessControl;
import java.util.List;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("使用next接收");
if (scan.hasNext()) {
String str = scan.next();
System.out.println("通过Scanner获取输入值" + str);
}
String str = scan.nextLine();
System.out.println("通过ScannerLine获取输入值" + str);
int num=0;
float numF=0.0f;
System.out.println("请输入整数");
//接收整型数据
if (scan.hasNextInt())
{
num=scan.nextInt();
System.out.println("整数值为"+num);
}
//接收浮点型数据
if (scan.hasNextFloat())
{
numF=scan.nextFloat();
System.out.println("浮点数值为"+numF);
}
//循环接收数据,当数据不再是数字时,退出循环
int sum=0;
int i=0;
System.out.println("请输入数据");
while (scan.hasNextInt()) {
sum+=scan.nextInt();
i++;
}
System.out.println("输入数据总和为 "+sum+" 输入数据平均值为 "+(sum/(i<1?1:i)));
//释放Scanner对象
scan.close();
}
}
顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
顺序结构时最简单的算法结构。
语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
if单选择结构
判断是否满足条件,才进入运行
if(true)
{
System.out.println("条件成立,开始运行");
}
if双选择结构
条件不满足时,执行另外一个选择
if(false)
{
}
else
{
System.out.println("条件不成立,执行该部分");
}
if多选择结构
条件不满足,任然可以判断另外的条件
if(false)
{}
else if(true)
{
System.out.println("该部分条件成离,执行该部分");
}
else
{}
嵌套的if结构
if语句程序块中任然可以写if语句
if(true)
if(true)
if(false)
{
}
else
{
System.out.println("最终条件不成立,执行该处");
}
switch多选择结构
分支语句
switch(i)
{
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("……");
break;
}
从Java SE7开始支持String类型,比较时采用Hashcode值
循环结构
while循环
while(true)
{
}do……while循环
do{
}while(true);for循环
for(int i=0;i<100;i++)
{
}foreach循环
for(声明语句:表达式)
{
}Java5引入了一种主要用于数组或者集合的增强型for循环
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break,continue
关于goto,并未正式使用
最新文章
- FileFilter 遍历某个目录下文件名含有某个字符的文件
- android studio 不能在线更新android SDK Manager问题解决办法
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
- 小白日记5:kali渗透测试之被动信息收集(四)--theHarvester,metagoofil,meltag,个人专属密码字典--CUPP
- 关于C#正则表达式MatchCollection类的总结,正则表达式的应用
- 一篇非常经典的springMVC注解实现方式详解
- mysql、添加和删除用户、添加权限
- java学习笔记08--泛型
- # 关于string
- Hive 自定义函数
- mongoDB常见的查询索引(三)
- javascript的数组之find()
- sublime开启vim模式
- 《剑指offer》第四十九题(丑数)
- MyBatis配置文件中的常用配置
- Postgresql数据库实用命令
- day01<;计算机基础知识&;Java语言基础>;
- 构建工具 Ant、Maven和Gradle
- 微信小程序登录时序图
- python3 内存管理
热门文章
- Win10系统所有文件夹被设为只读,取消之后再次打开属性依然只读,怎么解决?
- 解题报告:Codeforces 279C Ladder
- 爬qqhentai
- OJ19
- Python3 文件处理相关脚本
- vue - 解决页面跳转到外部链接后,ios回退到本页面,生命周期,路由导航守卫钩子都无法触发的问题
- 假设页面左侧有一个列表,点击列表某一项时,将根据当前id发起一个请求,并将响应结果展示在右侧。如果快速多次点击不同列表项,当网络不稳定时,请求返回的顺序与我点击顺序不符,导致展示的结果不是我最后一次点击的对应结果,怎么办?
- vue保持滚动条在底部
- 12个有用的JavaScript数组技巧
- Java基础——for循环、while循环