标签:基础 工具 启动 一句话 找不到 == img ... 运算
一. 运算符的总类
先列举所有的运算符类型:算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,三元运算符。
命名为什么叫运算符,英文叫operator, 难道说这是对操作的符号化表示?可以着一些英文的原版书籍来看。
本节将讨论比较运算符和逻辑运算符,这些仍旧属于java语言基础。等到讲完语法,函数,和数组之后,才是真正进入java语言的研究。
二.
在探讨比较运算符之前,先将视频中遇到的一个问题再重新学习一下。这里DOS报的错是没有找到主类,产生这样问题的原因只有两个:java运行的类名写错,类的路径不对。这里重点说明第二个错误。类的路径不对,java都是在当前路径下运行的class类文件,路径不对,说明我们对路径进行了更改。在DOS中,输入set classpath,控制台将直接显示类路径。这里还要明白一点,系统中本来是没有classpath的,我们为了能在任意目录下,启动某一些class类文件,从而将这些类文件集中放在一个文件夹中,这个文件夹叫classpath。
对于classpath知识点,背后也有一些东西值得深思。首先就是设置这个classpath,有永久的,暂时的,借用的。
注意:上面理解的classpath还是有一些,偏差。举例来说明,如果开始在DOS中展示定义了classpath的路径,且DOS窗口一直没关闭,set classpath=d:\source\1,然后在d:\source\01文件夹中编写Demo.java源程序,接着在DOS中编译,和运行,看DOS的检测结果。
最终的结果显示,我们开始编写的源程序是在d:source\01文件夹中的Demo.java,接着DOS进行了编译,编译的Demo.class运行文件和Demo.java源文件是在一个文件夹中的。但是java命令工具在启动class运行文件时,是直接去d:source\1文件中去寻找Demo.class类文件的。这就意味着,set classpath=..... 是要求java工具直接去对应的文件中去搜寻某一类文件,如果没有,就会显示为找不到或无法加载主类。
三. 比较运算符
比较运算符运算完都会有结果。只要是运算符,运算结束后都会有结果。
比较运算符得出的结果不是true,就是false。
常见的大家都知道,大于,小于...这里介绍了一种特殊的比较运算符,等等于或者是相等于。
看下面的两个语句: System.out.println(3=2); System.out.println(3==2); 经过DOS的验证,前一个是错误的,后一个是正确的。
四. 逻辑运算符
在这里我们又回归到如何学习的问题上来。什么是逻辑?为什么要有逻辑运算符?
逻辑就是一种关系,有这么几种类型,与,或.....。
逻辑运算符的出现是为java语言定制的。在日常生活中,我们可以直接写2<x<5; 但是在java语言中无法这么写,这是两个表达式。为什么不能这么写?因为是两个表达式就不行?视频中的说法就是java不支持这种两个表达式的,因此构建了逻辑运算符,来连接两个boolean类型的表达式。
五. 逻辑运算符的分类
上面谈论逻辑运算符是连接boolean类型的表达式的,boolean类型就是输出为true或false,这就是逻辑运算。
逻辑运算有多种,先描述两种,&与,|或,符号比较独特。
&与逻辑运算符的使用:int x=3; System.out.println(x>2&x<5); 在DOS中输出为true。由此可以看出,逻辑运算符连接的是逻辑表达式,输出的也是boolean类型的数据。
这里直接在输出语句中进行逻辑运算,那么可不可以在输出语句的外面进行,然后由输出语句输出呢?结果如下:
而视频中的做法是直接在输出语句中的,截图如下:
这说明输出语句可以直接当成一个计算的场地来用。为什么java要这样设置呢?这么做的原理是什么?
我又补充了一种Java语句,显示如下,ture和false是关键字,逻辑运算符本质上对两个boolean类型的数据进行对比,通过与运算的法则(也就是and运算,判断得出结果是true还是false)。
注意:我们分析上面三种情况,视频中,只讲解了System.out.println(x<5&x>2); 这种情况。在实际的分析中,我觉着这么长的式子,底层有三个步骤。先是对&左右两侧进行判断,得出左右两侧的逻辑运算的结果,ture还是false,然后再对这两个boolean数据进行&运算,最后得出一个结果。写在输出语句外面和里面是没什么区别的,但是如果写成true&true这种形式的话,相当于省去了两个运算,直接进行了第三步。
注意:对于false&false,我按照上面的三种形式写了一下,结果如下,挺有意思:
第一种,在输出语句外面定义好了,最后用输出语句直接输出,DOS显示运行正常。
第二种,在输出语句内直接进行运算,DOS直接报错。这说明底层在第一种和第二种形式下,进行的运算是不一样的。为什么在这种情况下DOS会报错?我又换了一个输出语句,在int a=3; System.out.println(x<1&x>2);按道理来说这是true&false的形式,但是DOS依旧报错。但是,当我在输出语句中直接书写System.out.println(true&false);DOS结果显示能够正常运行。这就很奇怪,背后的机制是什么?难道说输出语句中如果直接进行计算的话,&运算的两边必须给定是正确的,不然就报错,那么就给定boolean数据,这就不会管。→上面的说法完全是错误的,说不通,仔细地观察下面的截图,我们发现,前后变量写错了,定义时写的是a,但是在输出语句中写的是x,这就导致DOS报错为找不到x。
在这里,我突然理解了那句话,计算机是帮助人们运算的工具。我们通过学习这些高级计算机语言,来编写一些程序。这些程序完全就是将人们日常生活中的计算思路全部化为代码,利用这些程序代替人们来进行计算,乃至于超越人们的计算能力。
五. |或运算符
对于|运算符,按照上面&运算符的形式,不在做更多的讲解。
这里再插一句话,计算机高级语言就是一种极端符号化的集合体,将所用到的各种东西各种符号化,比如这里所讲的各种逻辑运算,都要将其符号化,并且利用键盘上原有的符号,诸如:%,^,&....来代表。
标签:基础 工具 启动 一句话 找不到 == img ... 运算
原文地址:http://www.cnblogs.com/wsw-bk/p/7465817.html