4. JavaSE 流程控制
2022/3/2 14:16:58
本文主要是介绍4. JavaSE 流程控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
流程控制
用户交互Scanner
Scanner对象
-
之前我们学习的基本语法并没有实现程序和人的交互,java给我们提供了一个工具类,可以获取用户的输入java.util.scanner是java5的新特征,我们通过Scanner来获取用户输入。
-
基本语法
Scanner s = new Scanner(system.in);
-
通过Scanner类的 next()与 nextLine()方法获取用户的字符串,读取之前一般用hasNext()与hasNextLine()判断是否还有输入的数据。
next()
使用next方式接收一下输入的数据
//创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); //next方式接收字符串 System.out.println("Next方式接收:"); //判断用户不有没有输入字符 if(scanner.hasNext()){ string str = scanner.next(); System.out.println("输入内容:" + str); //input: hello word //输入的内容为:hello } //凡是属于IO流的类如果不关闭会一直占用资源 scanner.close();
nextLine()
- 以Enter作为结束符,即返回输入回车之前所有的字符。
- nextLine()可以获取空白
//从键盘接收数据 Scanner scanner = new Scanner(System.in); System.out.println("请输入数据:"); String str = scanner.nextLine(); System.out.println("输入的内容为:"+str); scanner.close();
System.out.println("请输入整数:"); if(scanner.hasNextInt()){ //hasNextInt判断输入整数,还有hasNextDouble..... int i=scanner.nextInt(); System.out.println("输入的整数为:"+i); }else { System.out.println("输入的不是整数数据"); }
next()与nextLine()区别
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- 4、next()不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获取空白
顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就按语句一条一条执行。
- 顺序结构是最简单的算法结构。
- 语句语句之间是按从上到下执行的,它是由若干个依次执行的处理步骤组成的,它是如何一种算法都离不开的一种基本算法结构。
选择结构
- if单选择结构 if()
- if双选择结构 if(){}else{}
- if多选择结构 if(){}else if(){}else{}
- 嵌套的if结构 if(){if(){}}
int a = 80; if(a>60){ System.out.println("及格"); if(a>80) System.out.println("且优秀"); }else if(a>0){ System.out.println("不及格"); }else { System.out.println("缺考"); }
swith多选择结构
char grade = 'C'; //JDK新特性 可以是字符串(字符本质还是数字) switch (grade){ case 'A': System.out.println("优秀"); break; //可选,跳出当前结构 case 'B': System.out.println("良好"); break; case 'C': System.out.println("合格"); break; default: //默认,以上值没匹配到 System.out.println("不及格"); break; }
循环结构
wihle循环
- while是最基本的循环,它的结构为:
while(布尔表达式) { //循环内容 }
只要布尔表达式为true,循环就会一直执行下去。
//计算1+2+3+...+100 int i=0; int sum=0; while(i<100){ i++; sum+=i; } System.out.println(sum); //5050
do...while循环
//先执行后判断,至少执行一次 do{ i++; sum+=i; }while(i<100) //跟上面效果一样
for循环
//(初始化;条件判断;迭代) for(int i=0;i<100;i++){ i++; sum+=i; } for(; ; ){...} //死循环
//练习:输出1-1000能被5整除的数,每行输出3个 for (int i = 1; i <= 1000; i++) { if(i%5==0){ System.out.print(i+"\t"); //输出完不换行 } if(i%(3*5)==0){ System.out.println(); } }
//练习2:输出九九乘法表 for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+i*j+"\t"); } System.out.println(); }
增强for循环
int [] numbers = {10,20,30,40,50}; //定义一个数组 for (int x:numbers){ System.out.println(x); //遍历数组的元素 10 20 30 40 50 } //相当于 for(int i=0;i<5;i++){ System.out.println(numbers[i]); }
break&continue
- break可以在任何循环的主体部分,用于强行退出循环,也可以用在switch语句。
- continue用于循环语句中,终止某次循环过程,跳过剩余语句,之后进行下一次循环条件判断。
- 标签:后面跟一个冒号的标识符lable:
//打印101-150之间所有的质数 int count = 0; outer:for(int i=101;i<=150;i++){ for (int j=2;j<i/2;j++){ if(i%j==0) continue outer; //不建议使用标签 } System.out.print(i+" "); }
这篇关于4. JavaSE 流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程