JAVA-初步认识-第三章-if语句练习-星期和季节
一.
这里开始对if语句的应用,展开操作实验。
(截图给出了if第三种格式的一个应用,从中我得出以下几点:1. 一种最常见,也最合理的情况就是,在if条件语句的前面必须有前提条件。给定了前提,然后通过if条件语句来进行判断,从而决定,执行哪些语句。2. if和else if 里面都是单条语句,因此省略了{}。3. 案例是输出不同日期对应不同星期的情况,这表明什么if判断语句,解决的是“针对不同情况,实施不同措施”,不同种类的划分问题。4. 在if语句划分的基础上,引出了一个编码重复性的知识点。)
在判断输入数据代表星期几的例子中,证明了我对于==比较运算符理解的不够透彻,和对if第三种格式的理解不够。最后一个else后面不用接任何条件表达式,代表着除上面几种情况外的剩余所有数据。
注意:if的格式2和格式3,是对所有区间进行了划分,并且当每一部分区间成立时,应该执行什么语句都交代清楚了,只有执行过其中一部分,才会退出if语句。格式3相对2来说,区间划分的更多罢了。
自己尝试书写此例,发现错误。
删掉{}后,程序反而能够运行。
分析:仔细观看截图,发现是一些分支代码块少些了花括号。
这里还要说明一点,后面会讲到Switch语句的执行顺序,在if语句里面,执行的顺序是从上到下,一旦执行了某一个部分,那就直接退出if语句,Switch语句和if不一样。为什么会谈到执行顺序,就是因为结构比较复杂,内部的语句较多。
二.
首先要明白,星期和季节题都是锻炼对if语句的使用。这里的if语句代码块的书写要比之前的要复杂。
注意:星期和季节的例子可以这么来看,在给定的众多数据中,只有特定的一小部分数据有效,需要细分操作。剩下的无用数据归为一类。只是在判断给定的数据属于哪一类时,判断的语句书写有简单,有复杂。
思路:目前对于java语言认识不够深入,以现有的知识水准来写的话,只能用if格式三,且书写的语句很多。实话说,到目前为止也就接触过if语句,其他的稍微复杂一些就是运算符。运算符支撑不起这么大的摊子。我们现在处于程序流程控制的知识块,这是一个控制的节奏。一个复杂的问题,我们该如何控制它一步步运算下来。
书写形式如下:
int x;
if (x==3)
{
System.out.println(x+"对应的是春季");
}
.......
但是,有没有if的条件语句中可以一次性判别多个的形式?→这就和解题一样,虽然会好多简便的解题方法,但是由于对java语言的理解不深入,导致只能用笨拙的方法。
上面的缺点就在于,有太多的重复输出语句,如System.out.println(x+"对应的是春季");就要写四遍,还有夏季,秋季,冬季.....。
在编程领域有这么一句话,提高代码的复用性。一个代码用两次是可以的,一旦超过两次,就需要重新思考代码的书写。
提高代码复用性的手段有很多种,这里只介绍一种,连接条件语句。(这种情况被称作多条件对应相同内容)
怎么连接条件语句,就是用逻辑运算符。逻辑运算符的存在可以提高代码的复杂性。→一个复杂if语句的思考过程。
看下面的截图,使用的是短路或。自己对于前面的知识点,又开始有点遗忘。短路或和或运算得到的结果是一样的,只是在某一些情况下,短路或更能提高运算的效率。||左侧为true时,右侧就不在进行运算,直接输出结果为true,但是当左侧为false时,右侧还是要接着运算,这时的操作和单|是一样的。还有一点是,相较于其他运算符链接的参数而言,逻辑运算符可以链接的参数更多,可以说没有上限。
逻辑运算符不光可以连接两个表达式,如下
视频中出现了一个错误,截图如下
错误:没有找到对应的类。原因:设置了classpath,java命令执行时类文件名写错了。
在这里源程序写的是IfTest2.java,但是代码中的类名是class IfTest。因此,即使编译IfTest2.java源程序,输出认识对应类名的类文件,而非源程序名的类文件。当然,也有可能是在DOS中启用java运行时,敲错了类文件的名字。
经过前面的讲解,得到了一个简化的源程序,但是还是不够简化,if的条件语句里,month==3 || month==4 || month==5; 还是显得太长
可以对输入数据的判断换个说法(写或是将所有的条件表达式列出来,太繁琐,可以用范围来代表条件表达式),month>=3 & month<=5; &连接两个boolean类型的数据,if条件语句始终代表的是一种判断。在这里,又提到了&和&&的区别,&需要对两边的表达式都要进行判断,而&&只需要判断左边的。&&当左边为false时,才不会断定右边的表达式。→一定要明确一点,写&&或者||和单写&,|的结果是一样的,只是写了双的会提高部分的效率。
这里对if语句的认识再次升华,if语句第三种格式实际上是对全区间进行了判别。为什么会有全区间的判别,就在于输入的不确定性。
注意:if语句的格式2和格式3均是对全区域进行的判断分析。
三. 总结
在星期和季节的例子的学习中,其实还是回到了计算机编程的本源问题上来。计算机是帮助我们运算的,怎么运算靠的是程序。那么程序又是什么,程序是人类运算思想和运算过程的计算机展现。人怎么想,怎么做的,就用对应的计算机语言来表示。
转载于:https://www.cnblogs.com/wsw-bk/p/7496539.html
JAVA-初步认识-第三章-if语句练习-星期和季节相关推荐
- 尚硅谷Java入门视频教程第三章——数组
尚硅谷Java入门视频教程第三章 第二章复习 课后习题 复习 嵌套循环典型例题 Ecplise的安装使用 第3章:数组 3.1 数组的概述 3.2 一维数组的使用 3.3 多维数组的使用 3.4 数组 ...
- 【JAVA SE】第三章 运算符、条件语句、switch结构、while循环、do…while循环、for循环、break关键字以及break和continue关键字
第三章 运算符.条件语句.switch结构.for循环.break关键字以及break和continue关键字 文章目录 第三章 运算符.条件语句.switch结构.for循环.break关键字以及b ...
- Java并发编程 - 第三章 Java内存模型
前言: Java 线程之间的通信对程序员完全透明,内存可见性问题很容易困扰 Java 程序员,本章将揭开 Java 内存模型神秘的面纱. 一.Java 内存模型的基础 1.1 并发编程模型的两个关键问 ...
- Effective Java 读书笔记----第三章
第三章 对于所有通用的方法 主要讲的是对Object类的非final方法(equals,hashCode,toString,clone和finalize)覆盖的一些规则 1.覆盖equals时请遵守通 ...
- (转)JAVA AJAX教程第三章—AJAX详细讲解
现在开始深入AJAX,这里还是按老思路,理论和实践相结合.这章的内容主要是讲解AJAX步骤详解,下一张将会用一个AJAX技术实现页面提示效果的实例来说明AJAX的实现. 一.AJAX步骤详解 AJAX ...
- Java自我学习第三章基础数据类型
Java的基本数据类型(掌握) 1.整型系列 (1)byte:字节类型 占内存:1个字节 存储范围:-128~127 (2)short:短整型类型 占内存:2个字节 存储范围:-32768~32767 ...
- java学习笔记第三章
三.数组 & 常用类 数组Array基本概念: 一维数组.二维数组.多维数组 数组是相同数据类型(可以为任意类型数据)的有序集合,通过索引来引用 数组也是对象:数组元素相当于对象的成员变量 数 ...
- C语言及程序设计初步例程-33 三种循环语句
贺老师教学链接 C语言及程序设计初步 本课讲解 问题:求1+2+3+-+100 用while语句实现的程序 #include <stdio.h> int main() {int i=1, ...
- java 反编译class文件_用Java实现JVM第三章《解析class文件》
解析class文件 案例介绍 本案例主要介绍通过java代码从class文件中解析:class文件.常量池.属性表: 作为类(或者接口)信息的载体,每个class文件都完整地定义了一个类.为了使jav ...
最新文章
- 未来3大趋势:人工智能 产业互联网 大数据与算法
- 服务器被非法上传文件,DiscuzX没有合法的文件被上传的修复方法
- 【全网最全的博客美化系列教程】06.推荐和反对炫酷样式的实现
- IIS6中配置PHP
- Source Insight中查看文件显示全路径
- 如何用keras实现deepFM
- ajax 与route的区别,浅析vue-router jquery和params传参(接收参数)$router $route的区别
- 在asp.net中实现回车替代Tab键
- Web开发模式(MVC设计模式)
- Linux IPC实践(13) --System V IPC综合实践
- linux 脚本 变量为空,Shell判断一个变量是否为空
- 苹果手机怎么在照片上添加文字_手机照片如何添加花样文字?原来方法这么简单!...
- TensorFlow精进之路(七):关于两层卷积神经网络对CIFAR-10图像的识别
- Python 数据结构与算法——图出度和入度的计算
- windows和wsl设置代理
- 按钮点击触发的事件只生效一次
- python贝叶斯估计库_tsbngen一个python库,可从任意动态贝叶斯网络生成时间序列数据...
- mongodb的基本使用_万金油_新浪博客
- Sass和Scss的区别
- 自动注册工厂消灭switch-case