计算机的智能是建筑在规则的基础上的,在遇到情况的时候,根据事先制定的规则做出判断,是计算机最基本的能力。
这篇文章的内容将讲解以下知识点:
①比较和关系运算,②判断语句
①比较和关系运算
能做判断的基础,是能对数据做比较,比较就是关于两个数据是否相等、谁大谁小的结论,这需要用到关系运算:对两个数据之间的关系的计算。
Java提供了六个关系运算符:
==相等
!=不相等
>大于
>=大于或等于
<小于
<=小于或等于
注意其中有两个字符的运算符:==、>=和<=的两个字符必须紧紧连在一起,中间不能插入空格。
关系运算的结果是一个逻辑值,逻辑值只有两种可能的值:true(真,表示成立)或false(假,表示不成立)。
当两个值的关系符合关系运算符的预期时,关系运算的结果为true,否则为false。
案例:简易自动售卖机,在售卖机买一瓶快乐肥仔水,投入对应的钱,售卖机出售商品,找零。
代码语言:javascript复制//初始化
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("请继续投币");