Java教程专栏:https://blog.csdn.net/qq_41806966/category_9929686.html
学完此篇后,会对boolean类型更为了解,以及能做的东西更多了...(比如交互性的判断等...)
if
if,翻译过来是如果的意思,是Java中的关键字(基本上所有编程语言都有此关键字...).
我们写程序的时候通常都会判断一些东西,例如,我想要用户输入为 1,我就执行1的操作,用户输入2,我就执行2的操作,这种场景就必须用到 if 语句
if 语句是经常用到的语句.
if 语法
- if (条件) {条件为 true(正确) 执行的内容}
列举个例子来认识 if 语句(语句都是写在方法里的,而不是类里)
//定义一个int类型变量 score(分数的意思)
//score为0则是差生,1正常,2优生
int score = 0;
if (score == 0) {
System.out.println("差生");
}
if (score == 1) {
System.out.println("正常");
}
if (score == 2) {
System.out.println("优生");
}
上述代码运行结果为 [差生]
上篇博客已经讲到了数据类型,其中有一个为 boolean(布尔)类型,值只有 true 和 false
现在来更加深入认识一下,上述代码中 score = 0;那么 score == 0 则为true(score的确是等于0的,正确,所以为true)
(之前讲过两个等于为等于,一个等于号为赋值,赋值就是右边的值赋给左边...)
score == 1就是false(score为0,不等于1,所以为false).
true 和 false 都是Java中的关键字. 也是 boolean类型唯一的值
因此我们可以知道,if 语句中括号内为条件,只有条件为 true(成立)时,才会执行 if 语句花括号内的内容.
所以上述代码的结果为[差生].
练习 if 语句
在之前的目录下新建一个文件夹,并新建一个java文件(命名随意),我的目录是这样的
用记事本打开 .java 文件,我们要实现以下功能: 通过用户的输入,购买指定商品.
首先整理一下思路,逻辑.
获取用户从键盘输入的值很简单,使用Scanner就行.
我们需要定义一些商品和商品价格(可自行定义),我定义的为:
Java从入门到精通-9.9元一本,肥宅快乐水-3元一瓶,ShendiJava教程-999元一套.
接下来就是定义用户的金额, int money = 12;//用户有12元
剩下的就是码代码了
在码代码之前我们认识一个新的输出写法
System.out.println();
我们之前都是用 System.out.print(); 作为输出的方法,上述方法与这个不同点就是:
我们之前换行需要在字符串里加上 \n 进行换行,而System.out.println(); 则输出完自动换行
举个例子:
System.out.println("我执行完后可以自动换行"); System.out.print("我需要使用\\n才可以换行"); System.out.print("上面的print没有执行\\n 所以我和上一输出在同一行"); System.out.println();//括号里面可以什么都不填,等于换一行 System.out.print("因为上面执行了println() 所以我在新的一行");
代码执行结果如下
通过用户的输入,购买指定商品.
开始码代码,先写好固定的代码
根据上面整理的思路,我们先定义用户的金额,和商品(商品就提示用户输入序号),代码如下.
接下来就是接收用户的输入,并使用刚学的 if 语句来判断购买的哪个商品
创建Scanner(别忘了导入Scanner) 使用 nextInt() 接收一个 int 类型的数据(使用这个我们可以直接获取用户输入的数字-不是字符串类型 是 int).
所有代码如下
编译运行
执行结果展示,这里运行了三次,分别对应第1,2,3个商品
if ... else
有的时候我们可以使用 if else 语句来进行多条件语句.
else的意思是否则的意思,有几种写法.
如果...否则的写法
//如果条件为true 那么执行 if 语句内的,否则执行 else 语句内的 //(也就是 if 语句和 else语句 必须执行一个) //很好理解,读起来就是,例: 如果我今天吃了早饭,那我就去学习,否则我去吃早饭. if (条件) { ...条件成立执行的代码 } else { ...条件成立执行的代码 }
如果...否则 如果...否则如果 .......... 写法
if (条件) { } else if (条件) { } else if (条件) { } ...此处可以接无数个else if //简单理解就是 if (条件不满足的话) 判断 else if(条件),满足则执行语句里的代码,不然继续往下判断 //如果都不满足则都不执行.
如果...否则如果...否则如果....否则 写法
if (条件) { } else if () { } else if () { } 此处可无限个 else if { } else { } //简单理解,读起来就是 //例: 如果我早上吃了饭我就去学习,否则如果我早上没吃饭并且现在还没到早饭时间那我继续休息, //否则如果,我早上没吃饭并且时间已经过了那我就直接去学习,否则我去吃饭 //也就是说,必须有一个语句会被执行.条件满足执行对应语句,不满足执行最后的else语句
练习 if...else语句
我们先把之前写的代码复制一份,并取一个新名字和更改类名与新文件名字一致
步骤(讲给不懂计算机的小白听的,懂的可以直接进入代码部分):选中文件,按右键,点击复制(快捷键Ctrl + C)
然后选择文件夹空白处,右键,粘贴(快捷键Ctrl + V)
然后我们就复制文件成功了,然后我们将文件重命名一下
选择文件,右键重命名(快捷键 F2)
然后就更改文件名即可(名称可随意取,但是类名要与文件名一致,所以要遵循规范,不能数字,符号等开头)
这里是我的
然后我们要将类名改为与文件名一致(记得常常按 Ctrl + S 键执行保存)
开始编写代码
思路:首先我们需要修改的地方是将if修改为if else结构,也就是下面这一块
修改后的代码如下
新增了一个没有商品条件.(这里我就不测试结果了,可自行测试)
认识了 if 和 if else,那么是不是有一个疑问,if 和 if else有什么区别?
if 和 if...else的区别
通过之前的学习,认识到,if 是如果的意思,else是否则的意思
if else 与 if 的区别就体现于此 例: [如果我吃了饭我就去学习,如果我没有吃饭我就去吃饭] 与 [如果我吃了饭我就去学习,否则如果我没有吃饭我就去吃饭] 是不一样的,第一个是 if,if 第二个是 if...else if
通过代码就可以清楚的感觉到区别了
我新建了一个 Test.java 文件,代码如下
运行结果如下:
总结:
if 是条件语句,用于条件判断
if...else与 if的区别在于, if 条件为true则执行if语句里的代码(多个if语句只要条件为true就会执行里面的代码)
而 if...else,只会执行其中一个语句里的代码(条件先为true的那个)
下一节,我们学习循环.
对你有用的话点个赞再走吧~