大家好!我是小崇。希望大家不吝赐教,我们互相学习,共同进步!
if-else语句是最常用的选择结构,它根据条件是真是假,决定执行的路径。if-else结构的一般格式是:
if(conditon){
statements1;
}else{
statements2;
}
该结构的执行流程是先计算condition的值,若为true,则执行statements1语句,否则执行statements2语句。
案例:
如果我们要开发一个随机加法案例(本文以一位数为例),我们可以这样设计:
程序开始运行随机生成2个一位数,显示出题目再输入计算结果,最后程序判断输入的结果是否正确。
其中,我们需要使用到一个随机生成double型值的方法:Math.random()。Math.random()可以随机生成0.0-1.0(不包括1.0)的double型值,这里我们为了生成一位数,要使用以下的表达式:
int number = (int)(Math.random()*10);
随机加法案例最终效果图:
Java代码:
import java.util.Scanner;
public class AdditionQuiz {
public static void main(String[] args) {
//随机生成2个一位数
int number1 = (int) (Math.random()*10);
int number2 = (int) (Math.random()*10);
Scanner input = new Scanner(System.in);
System.out.print(number1+"+"+number2+"=");
int answer = input.nextInt();
if(answer == (number1 + number2)) {
System.out.println("恭喜您,您答对了!");
}else {
System.out.println("很遗憾,打错了!正确答案是\n");
System.out.println(number1 + "+" +number2 + "="+(number1 + number2));
}
}
}
小结:
1、当if或者else部分只有一条语句时,大括号可以省略,但是建议使用大括号。因为省略大括号虽然更加整洁,但是也容易出现错误。
2、从键盘读取数据可以调用Scanner类里的nextInt()或nextDouble()方法。
首先,创建Scanner类的一个实例,然后调用nextDouble()方法进行读取double型数据或者调用nextInt()方法进行读取int型数据。
比如:
Scanner input = new Scanner(System.in);//创建Scanner实例input
double r = input.nextDouble();//对变量r进行初始化,读取double型数据