Java流程控制——基础阶段
2021/7/14 17:07:29
本文主要是介绍Java流程控制——基础阶段,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java流程控制——基础阶段
1. 用户交互Scanner
1.1 Scanner对象
-
之前的基本语法没有实现程序和人的交互,但Java给我们提供了一个工具类Scanner可以用来获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入
-
基本语法
Scanner s = new Scanner(System.in);
-
通过Scanner类的next()与nextline()方法获取输入的字符串,在读取之前我们一般需要使用hasNext() 与 hasNextLine()判断是否还有输入的数据
-
next()
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
-
nextline()
- 以Enter为结束符,也就是说,nextline()方法返回的是输入回车之前的所有字符
- 可以获得空白
\\next()应用 import java.util.Scanner; public class Demo01 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接受:"); //判断用户有没有输入字符串 if (scanner.hasNext()){ //接受用户的输入 String str = scanner.next(); System.out.println("输出的内容为:"+str); } //凡是属于IO流的类如果不关闭就会一直占用资源,要养成好习惯用完就关掉 scanner.close(); } }
\\nextline()应用 import java.util.Scanner; public class Demo02 { public static void main(String[] args) { // 从键盘接受数据 Scanner scanner = new Scanner(System.in); System.out.println("使用NextLine方式接收:"); // 判断是否还有输入 if (scanner.hasNextLine()){ String str = scanner.nextLine(); System.out.println("输出内容为:"+str); } scanner.close(); } }
// 实例 import java.util.Scanner; public class Demo05 { public static void main(String[] args) { //输入多个数字,并求取总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果 Scanner scanner = new Scanner(System.in); // 和 double sum = 0; // 计算输出了多少个数字 int m = 0; // 通过循环判断是否还有输入,并在里面对每一次进行求和统计 while (scanner.hasNextDouble()){ double x = scanner.nextDouble(); // System.out.println("你输入了第"+m+"个数据,当前结果sum="+sum); m++; sum = x+sum;// sum+=x; System.out.println("你输入了第"+m+"个数据,当前结果sum="+sum); } System.out.println(m+"个数的总和为:"+sum); System.out.println(m+"个数的平均值为:"+sum/m); scanner.close(); } }
2. 顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就是按照顺序操作
- 顺序结构是最简单的算法结构
- 语句与语句之间,框与框之间都是按从上到下顺序进行的,它是有若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的基本结构。
3. 选择结构
-
if单选结构
-
语法:
if(布尔表达式){ // 如果布尔表达式为true执行的语句 }
-
-
if双选结构
- if ...else
-
if多选择结构
if(){ }else if(){ }else if(){ }else { }
-
嵌套的if结构
- 可以在if...else语句中嵌套使用else...if
-
switch多选择结构
- switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
- switch 语句中的变量类型可以是:
- byte、short、int或者char
- 支持String类型
- 同时case标签必须为字符串常量或字面量
4. 循环结构
-
while循环
-
最基本的循环,它的结构为
while(布尔表达式){ //循环内容 }
-
只要表达式为true,循环就会一种会循环下去
-
大多数情况下,我们需要一个让表达式失效的方式来结束循环
-
少部分情况下需要程序一直执行,如服务器的请求响应
-
-
do...while循环
-
对于while循环而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件也至少执行一次
-
而do...while 循环与while最大的不同就是至少执行一次
-
while与do...while区别:
- while先判断后执行,do...while先执行后判断
- do...while总是保证循环体能至少执行一次
do{ //代码语句 }while(布尔表达式)
-
-
for循环
-
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
-
for循环的执行次数是在执行前确定的,语法格式如下:
for(初始化;布尔表达式;更新){ //代码语句 }
-
//100.for可以在IDEA中快捷输入for循环
-
-
在Java5中引入了一种主要用于数组的增强型for循环
-
先了解,后面再仔细学习
-
用于循环数组和集合的
-
语法格式:
for(声明语句:表达式){ //代码语句 }
public class ForDemo05 { public static void main(String[] args) { int [] numbers = {10, 20, 30, 40, 50}; //定义了一个数组 for (int i = 0; i < 5; i++) { System.out.println(numbers[i]); } System.out.println("================"); //遍历数组的元素 for (int x:numbers){ System.out.println(x); } } }
-
5. break&continue
-
// break在任何循环语句的主体部分,均可用break控制循环的流程 // break用于强行退出循环,不执行循环中剩余的语句(也在switch中使用) // // continue 语句在循环语句体中,用于种植某次循环过程,即跳过循环体中尚未执行的语句。接着进行下一次是否执行循环的判定
-
关于goto关键字
- goto是Java保留字,但未在语言中得到正式使用
6. 练习
public class TestDemo { public static void main(String[] args) { //打印三角形 5行 for (int i = 1; i <= 5; i++) { for (int j=5; j>=i;j--){ System.out.print(" "); } for (int j=1; j<=i;j++){ System.out.print("*"); } for (int j=2; j<=i;j++){ System.out.print("*"); } System.out.println(); } } }
- Debug技巧:先在程序某行点击断点,然后debug,接着可以选择step into按钮继续一行一行执行程序,观察程序结构在console中的变化
这篇关于Java流程控制——基础阶段的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-21订单系统资料入门教程:轻松管理你的订单
- 2024-09-21Java部署资料:新手入门教程
- 2024-09-21Java部署资料:新手入门教程
- 2024-09-21Java订单系统资料:新手入门教程与实战指南
- 2024-09-21Java管理系统资料入门教程
- 2024-09-21从零开始学习Java监控系统资料
- 2024-09-21Java就业项目资料:新手入门的必备教程
- 2024-09-21Java全端资料:初学者指南
- 2024-09-21Java全栈资料入门教程及资源汇总
- 2024-09-21Java日志系统资料入门教程