这里写目录标题
程序流程控制
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组
合成能完成一定功能的小逻辑模块。
其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:
顺序结构
分支结构
循环结构
1.顺序结构
程序从上到下逐行地执行,中间没有任何判断和跳转。
2.分支结构
根据条件,选择性地执行某段代码。
有if…else和switch-case两种分支语句。
3.循环结构
根据循环条件,重复性的执行某段代码。
有while、 do…while、 for三种循环语句。
注: JDK1.5提供了foreach循环,方便的遍历集合、数组元素。
程序流程控制: if-else结构
下面展示一些 if-else练习
。
/*
*/
public class IfElse {
public static void main(String[] args) {
//举例一:
int heartBeats = 79;
if(heartBeats < 60 || heartBeats > 100 ){
System.out.println("需要进一步检查!");
}else{
System.out.println("检查结束!");
}
//练习:定义三个int变量并赋值,使用三元运算符或者if-else获取这三个数中的较大数的实现
int num1 = 10,num2 = 21,num3 = -21;
int max;
if(num1 >= num2 && num1 >= num3){
max = num1;
}else if (num2 >= num1 && num2 >= num3){
max = num2;
}else{
max = num3;
}
System.out.println("三个数中的最大值max = " + max);
//练习:编写程序,声明2个double型并赋值。判断第一个数大于10.0,且第二个数小于20.0,打印两数之和。否则打印两数之积。
double d1 = 12.3;
double d2 = 32.1;
if(d1 > 10.0 && d2 < 20.0){
System.out.println("两数之和 :" + (d1 + d2));
}else{
System.out.println("两数之积:" + (d1 * d2));
}
}
}
下面展示一些 IfTest
。
/*例题:
岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80, 99]时,奖励一台iphone xs max;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断
*/
import java.util.Scanner;
class IfTest{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入岳小鹏期末成绩:(0-100)");
int score = scan.nextInt();
if(score == 100){
System.out.println("奖励一辆BMW");
}else if(score > 80 && score <= 99){
System.out.println("奖励一台iPhone xs plus");
}else if (score >=60 && score <= 80){
System.out.println("奖励一个iPad");
}else {
System.out.println("什么奖励也没有!");
}
}
}
下面展示一些 ScannerTest
。
/*
如何从键盘获取不同类型的变量:需要使用Scanner类
具体实现步骤:
1.导包:import java.util.Scanner
2.Sccanner的实例化:Scanner scan = new Scanner(System.in);
3.调用Scanner类的相同方法,来获取指定类型的变量
注意:选要根据相应的方法来输入指定的类型,如果输入的数据类型与要求的不匹配时,会报错。
*/
import java.util.Scanner;
class ScannerTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = scan.next();
System.out.println(name);
System.out.println("请输入你的年龄:");
int age = scan.nextInt();
System.out.println(age);
System.out.println("请输入你的体重:");
double weight = scan.nextDouble();
System.out.println(weight);
System.out.println("你是否相中我了呢?(true/false)");
Boolean islove = scan.nextBoolean();
System.out.println(islove);
//对于char类型的获取,Scanner没有提供相关的方法。只能获取一个字符串
System.out.println("请输入你的性别:(男/女)");
String gender = scan.next();//'男'
char genderChar = gender.charAt(0);//获取索引为0位置上的字符
System.out.println(genderChar);
}
}
下面展示一些 内联代码片
。
/*
编写程序:由键盘输入三个整数分别存入变量num1、 num2、 num3,
对它们进行排序(使用 if-else if-else),并且从小到大输出。
说明
1.If-else结构是会出现嵌套的语句
2.如果if-else结果中的执行语句只有一行,对应的{}可以省略的。但是不建议进行省略。
*/
import java.util.Scanner;
public class IfElse2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1 = scanner.nextInt();
System.out.println("请输入第二个整数:");
int num2 = scanner.nextInt();
System.out.println("请输入第三个整数:");
int num3 = scanner.nextInt();
//num3作为条件要在不同的位置出现
if (num1 >= num2){
if (num3 >= num1){
System.out.println(num2 + "," + num1 + "," + num3);
}else if (num3 <= num2){
System.out.println(num3+ "," + num2 + "," + num1);
}else{
System.out.println(num2 + "," + num3 + "," + num1);
}
}else{
if (num3 >= num2){
System.out.println(num1 + "," + num2 + "," + num3);
}else if (num3 <= num1){
System.out.println(num3 + "," + num1 + "," + num2);
}else{
System.out.println(num1 + "," + num3 + "," + num2);
}
}
}
}
下面展示一些 IfElse2
。
/*
编写程序:由键盘输入三个整数分别存入变量num1、 num2、 num3,
对它们进行排序(使用 if-else if-else),并且从小到大输出。
说明
1.If-else结构是会出现嵌套的语句
2.如果if-else结果中的执行语句只有一行,对应的{}可以省略的。但是不建议进行省略。
*/
import java.util.Scanner;
public class IfElse2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1 = scanner.nextInt();
System.out.println("请输入第二个整数:");
int num2 = scanner.nextInt();
System.out.println("请输入第三个整数:");
int num3 = scanner.nextInt();
//num3作为条件要在不同的位置出现
if (num1 >= num2){
if (num3 >= num1){
System.out.println(num2 + "," + num1 + "," + num3);
}else if (num3 <= num2){
System.out.println(num3+ "," + num2 + "," + num1);
}else{
System.out.println(num2 + "," + num3 + "," + num1);
}
}else{
if (num3 >= num2){
System.out.println(num1 + "," + num2 + "," + num3);
}else if (num3 <= num1){
System.out.println(num3 + "," + num1 + "," + num2);
}else{
System.out.println(num1 + "," + num3 + "," + num2);
}
}
//如何获取一个随机数:10-99
int value = (int)(Math.random() * 90 + 10);//[0.0,0.1) --> [0.0,100.0) -->[10,90)
System.out.println(value);
//公式:【a,b】;(int)(Math.random() * (b - a + 1) + a)
}
}