计算机的智能是建筑在规则的基础上的,在遇到情况的时候,根据事先制定的规则做出判断,是计算机最基本的能力。
这篇文章的内容将讲解以下知识点:
①比较和关系运算,②判断语句
①比较和关系运算
能做判断的基础,是能对数据做比较,比较就是关于两个数据是否相等、谁大谁小的结论,这需要用到关系运算:对两个数据之间的关系的计算。
Java提供了六个关系运算符:
- ==相等
- !=不相等
- >大于
- >=大于或等于
- <小于
- <=小于或等于
注意其中有两个字符的运算符:==、>=和<=的两个字符必须紧紧连在一起,中间不能插入空格。
关系运算的结果是一个逻辑值,逻辑值只有两种可能的值:true(真,表示成立)或false(假,表示不成立)。
当两个值的关系符合关系运算符的预期时,关系运算的结果为true,否则为false。
案例:简易自动售卖机,在售卖机买一瓶快乐肥仔水,投入对应的钱,售卖机出售商品,找零。
//初始化
Scanner in = new Scanner(System.in);
//读入投币金额
System.out.println("请投币:");
int amount = in.nextInt();
//打印购物小票
System.out.println("*****************");
System.out.println("* 可口可乐 *");
System.out.println("* 一罐 *");
System.out.println("* 售价:4元 *");
System.out.println("*****************");
// 计算并打印找零
System.out.println("找零:" + (amount-4));
大家看到按照这个代码去写,投入10块钱,出了一张购物小票,还找了6块钱,感觉这个程序写的还挺合理,但如果是投入3块钱,程序会显示什么呢?
找零:-1,显然这个程序不合理,这个时候就需要修改一下程序了,那就提前让程序做个判断,判断输入的数字是不是大于等于4
//初始化
Scanner in = new Scanner(System.in);
//读入投币金额
System.out.println("请投币:");
int amount = in.nextInt();
System.out.println(amount >= 4);
//打印购物小票
System.out.println("*****************");
System.out.println("* 可口可乐 *");
System.out.println("* 一罐 *");
System.out.println("* 售价:4元 *");
System.out.println("*****************");
// 计算并打印找零
System.out.println("找零:" + (amount-4));
这个时候可以看到,系统判断出 false ,ok,咱们进一步优化这个案例:根据比较的结果,决定做、还是不做某些动作,就要用到if语句。
②判断语句
一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}”之间的若干条语句。
如果表示条件的逻辑表达式的结果为true,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。
有的时候我们希望在条件成立的时候做一件事情,而在条件不成立的时候做另外一件事情。
这可以在if语句后面跟上一个else子句,形成一个if-else语句。
注:写if语句,一定要学会做流程图,要不会乱
//初始化
Scanner in = new Scanner(System.in);
//读入投币金额
System.out.println("请投币:");
int amount = in.nextInt();
if(amount >= 4)
{
//打印购物小票
System.out.println("*****************");
System.out.println("* 可口可乐 *");
System.out.println("* 一罐 *");
System.out.println("* 售价:4元 *");
System.out.println("*****************");
// 计算并打印找零
System.out.println("找零:" + (amount-4));
}
else
{
System.out.println("请继续投币");