一.
这里开始对if语句的应用,展开操作实验。
在判断输入数据代表星期几的例子中,证明了我对于==比较运算符理解的不够透彻,和对if第三种格式的理解不够。最后一个else后面不用接任何条件表达式,代表着除上面几种情况外的剩余所有数据。
二.
首先要明白,星期和季节题都是锻炼对if语句的使用。这里的if语句代码块的书写要比之前的要复杂。
思路:目前对于java语言认识不够深入,以现有的知识水准来写的话,只能用if格式三,且书写的语句很多。
书写形式如下:
int x;
if (x==3)
{
System.out.println(x+"对应的是春季");
}
.......
但是,有没有if的条件语句中可以一次性判别多个的形式?
上面的缺点就在于,有太多的重复输出语句,如System.out.println(x+"对应的是春季");就要写四遍,还有夏季,秋季,冬季.....。
在编程领域有这么一句话,提高代码的复用性。一个代码用两次是可以的,一旦超过两次,就需要重新思考代码的书写。
提高代码复用性的手段有很多种,这里只介绍一种,连接条件语句。(这种情况被称作多条件对应相同内容)
怎么连接条件语句,就是用逻辑运算符。逻辑运算符的存在可以提高代码的复杂性。
看下面的截图,使用的是短路或。自己对于前面的知识点,又开始有点遗忘。
逻辑运算符不光可以连接两个表达式,如下
视频中出现了一个错误,截图如下
错误:没有找到对应的类。原因:设置了classpath,java命令执行时类文件名写错了。
在这里源程序虽然写的是IfTest.java,但是代码中的类名是class IfTest。因此,即使编译IfTest.java源程序,输出认识对应类名的类文件,而非源程序名的类文件。当然,也有可能是在DOS中启用java运行时,敲错了类文件的名字。
经过前面的讲解,得到了一个简化的源程序,但是还是不够简化,if的条件语句里,month==3 || month==4 || month==5; 还是显得太长
可以对输入数据的判断换个说法,month>=3 & month<=5; &连接两个boolean类型的数据,if条件语句始终代表的是一种判断。在这里,又提到了&和&&的区别,&需要对两边的表达式都要进行判断,而&&只需要判断左边的。
这里对if语句的认识再次升华,if语句第三种格式实际上是对全区间进行了判别。为什么会有全区间的判别,就在于输入的不确定性。