从零开始的Java学习生活(6)
前期提要:在上期文章中,我们学习了Java中通过Scanner类进行的数据输入。今天我们讲一下程序书写中基础但很重要的流程控制语句,掌握Java流程控制有助于我们编写代码、调试代码以及阅读别人代码。(具体的java代码将放在下节课中)
一、顺序结构
顺序结构是程序中最简单、最基本的结构,顺序结构没有特定的语法结构,它按照代码的先后顺序,依次执行。程序中大多数的代码都是这样执行的。
例如:
public static void main(String[] args) {
//需求:输入2个整数,打印最大的那个整数
//先定义2个整型变量用于存放用户输入的值。变量的初始值为0
int num1 = 0;
int num2 = 0;
//提示用户输入数据
System.out.print("请输入2个整数,用空格分隔:");
//定义一个Scanner,用户接收用户输入的数据。
Scanner sc = new Scanner(System.in);
//提取用户输入的数据
num1 = sc.nextInt();
num2 = sc.nextInt();
//定义一个变量保存最大的数
int max = num1 > num2 ? num1 : num2;
System.out.println("最大的数是:" + max);
}
上面的代码就体现了顺序结构,代码自上而下,逐条执行。
二、分支结构(选择结构)
分支结构也叫选择结构,它会根据条件的不同,执行不同的后续语句。
分支结构的使用场景举例:
- 如果账号已经登录,可以发表评论;如果没有登录,跳转到登录页面进行登录。
- 如果余额充足可以支付;如果余额不足,进入充值页面充值。
- 如果绩点达到3.5,就可以申请奖学金;反之则不能。
流程图如下:
在Java中有2种语句可以实现分支。
- if语句
- switch…case…语句
观察下面代码,我们来模拟一下上面第三种情况:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
float score ;
score = sc.nextFloat();
//if分支语句
System.out.println("现在是if语句时间!");
if(score >= 3.5) {
System.out.println("可以申请奖学金哦");
}else {
System.out.println("还得好好学习啊。");
}
//switch...case 语句
System.out.println("现在是switch-case时间!");
switch (score) {
case 3.5:
System.out.println("刚好可以申请奖学金");
break;
default:
System.out.println("不是刚好哦(但不知道是比3.5高还是低)");
break;
}
}
可以发现if-else是结合我们之前学习的关系运算符进行判断的,如果"( )"中为true,则运行if中的语句,反之运行else中的语句;
而switch-case相比if更加精准,只有在刚好满足某一个case的值时才会运行那一个case的语句,否则就是运行default的语句。
三、循环结构
循环结构的特点是:特定条件下,代码可以反复执行。
循环结构的使用场景举例:
- 新闻列表页面要显示20条新闻,这20条新闻是通过循环一条一条放到页面上的。
- 玩游戏时,网络不好的时候,重新连接服务器也是反复连接多次,而不是连接一次就不连接了。
- 数据报表页面,对数据进行求和。
在Java中有3种语句可以实现循环。
- for 循环
- while 循环
- do…while 循环
不同的循环语句适用于不同的场景,这里就先不举例了。
总结
以上三种流程控制语句不论是在Java还是在其他的语言的学习中都是非常重要的一种基础知识。下篇文章中我们将更为细节的学习这几种结构,并且了解在Java中通过哪些代码进行实现,谢谢大家观看。