明解java-柴田望洋-章节之间的联系

本文分析了柴田望洋关于Java中if-else语法结构的讲解,探讨了其与关系运算符的结合以及在程序流程中的作用。通过分析,解释了为何if-else放在第三章讲解,而关系运算符则穿插于if-else之间。同时,指出了与第二章中变量、Scanner和Random知识点的联系,强调了章节之间内容的逻辑关系和学习的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

柴田讲了if-else的语法结构。我在犹豫要不要写一下这个笔记。重点内容只有一个语法结构图。他的画法挺别扭的,并没有流程图好用,但他觉得挺好用。他可能觉得语法结构图能够让读者更容易的理解if you→(n > 0) →System.out.print("该值为正。");→else→ System.out.println("该值为0或负值。");尽管我并没有觉得这样好理解。

 

他顺便讲了一些简单的关系运算符,< 、>、<=、>=,还有组合用法,如果1≥a≥0这时候应该用&&连接,而不是直接连起来。我把这个流程图写下来。

 

现在讲过了if 和if-else的语法结构了,也讲过关系运算符了。不能说柴田在水,任何基础内容都是这样简单无聊,觉得多说一句话都是多余的。因为我们学过的内容不多,还不能对各种元素连起来。只有当所有的知识点都能联系起来的时候,才是有意思的。因为我们没有学过后面的章节,那我们就联系我们已经学过的,以前的章节。看看if-else和以前的章节之间有什么联系。

 

为什么if-else在这个位置?为什么不在第二章?为什么不在第四章?为什么在第三章?柴田的结构安排,第三章讲程序流程之分支,我没看懂啥意思。可能是将程序流程中的分支?分支流程?有这种表述方式吗?if-else是放在if-then之后的,为什么?因为if-then比较简单,先简单,再复杂。这是所有书的顺序。为什么if-then比if-then-else简单呢?

 

if-then少走一步,在判断(表达式)结果的真假后,就没有再处理。 只对true进行处理,当表达式的结果为true时,执行语句。当为false时,什么也不执行。if-then-else,多了一步,当表达式为false,也执行语句。多走一步,就是复杂了一步。

 

在if-then和if-else之间,讲了关系运算符。为什么要讲关系运算符?为什么关系运算符不再if前面或在if-else后面呢?柴田可能是这样想的,如果放在if前面,还没有用到。不能再示例中用到。不符合先有示例代码,再有解释的思路。柴田的思路从第一章确定,先来一个代码,然后再解释代码里面的每个元素的内容。第一章第一个代码就是在显示器上输出一句话。有了这个代码之后,他才解释代码中出现的元素。其他书是另外一种思路,先给一堆的定义,然后再给个例子示范。

 

关系运算符的解释之所以出现在if-then和if-else之间,是因为在讲if-then的时候,里面有if(n>0),用到了关系运算符,在解释这个代码的时候,说这个是关系运算符,之后再接上更多的关系运算符的解释。无论哪种思路,都说的过去。柴田喜欢这样讲,那就这样讲呗。

 

if之前讲的是什么?if是第三章的开头,从本章来看,它前面没有东西了。第三章的内容是这么联系的。下面问个问题,第二章和第三章之间的联系是什么?

 

我们来看看第二章讲的什么东西。第二章讲了两个知识点,变量、Scanner和Random。先写章与章之间的联系,然后再写本章中节与节之间的联系。在第三章中写了两个程序,

程序1

package Chap3;

import java.util.Scanner;

 

public class if1 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

 

System.out.print("整数值");

 

int n = s.nextInt();

 

if (n > 0)

 

System.out.print("该值为正。");

 

}

}

 

程序2

package Chap3;

import java.util.Scanner;

 

public class if2 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

 

System.out.print("整数值");

 

int n = s.nextInt();

 

if (n > 0)

 

System.out.print("该值为正。");

else

System.out.println("该值为0或负值。");

}

}

 

两个程序很像,它们之间的联系刚才已经讲过了。现在要说的是,这个程序和前面有什么联系。程序1、2中,Scanner和变量s、n是在第二章学的,如果前面没有学Scanner,那么第三章就要先解释Scanner是什么东西。第三章没有解释,因为第二章已经解释过了。变量也是同样的道理,变量的原理用了一节去解释,第三章就不再讲解了。这就是第三章和第二章之间的联系。

 

我在读完第二章的时候,忽略了一个问题,我没有去认真思考第二章各小节之间的关系。没有像现在这样,去思考章与章之间的联系,去思考节与节之间的联系,然后将思考的结果写下来。现在不晚,但时间不够用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值