[Java教程]6.条件语句之if和if...else

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的那个)

 下一节,我们学习循环.

对你有用的话点个赞再走吧~

猜你喜欢

转载自blog.csdn.net/qq_41806966/article/details/105882424