zl程序教程

您现在的位置是:首页 >  Java

当前栏目

从0学Java之关系运算以及判断

2023-02-19 12:28:09 时间

计算机的智能是建筑在规则的基础上的,在遇到情况的时候,根据事先制定的规则做出判断,是计算机最基本的能力。

这篇文章的内容将讲解以下知识点:

①比较和关系运算,②判断语句

①比较和关系运算

能做判断的基础,是能对数据做比较,比较就是关于两个数据是否相等、谁大谁小的结论,这需要用到关系运算:对两个数据之间的关系的计算。

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("请继续投币");