上一篇结尾的问题,我们来聊一聊
你所知道的运算符有哪些,他们可以按类型就行划分么?
我们生活中常用的运算符其实也就那么几个,加减乘除,这些是最基本;在java程序中也有这些运算符,除了这些,还有什么运算符呢?
让我们来细数一下
在java中常用的运算符总共有10种,他们分别是:算数运算符,关系运算符,逻辑运算度,位运算符,移位运算符,赋值运算符,三元运算符,逗号运算符,字符串运算符,转型运算符;
下面我来介绍一些,其实运算符这个东西,目前来说,知道就行了,使用的时候再仔细体会,不知道怎么用就到网上查查,比我一个一个的写出来,最后你一个都没记住要实在的多,好了,废话少说。
来说说算数运算符:
先来说说,都有哪些:+ ,- ,* ,/ ,% , ++, --, -( 这是个负号)
之前我们有说过,不同类型数据之间进行运算的时候,为了得到精确结果,系统会将结果自动转化为精度更好的数据类型,看个例子
public class VariableOperator{ public static void main(String[] args){ int varInt = 10; float varFloat = 10f; System.out.println("加法的结果是 varInt + varFloat =" + (varInt + varFloat)); } }
结果是20还是20.0呢?
来看看编译之后的结果
很明显的20.0.是float类型的,再一次验证了我们的之前学到的理论,
加减乘除对应(+ - * /),余(%),都不用多解释了,从小用到大,给个例子,大家自己去运行,重在体会,没什么可说的,看代码:
public class VariableOperators{ public static void main(String[] args){ int var1 = 10; int var2 = 3; System.out.println("var1 + var2 = " + (var1 + var2)); System.out.println("var1 - var2 = " + (var1 - var2)); System.out.println("var1 * var2 = " + (var1 * var2)); System.out.println("var1 / var2 = " + (var1 / var2)); System.out.println("var1 % var2 = " + (var1 % var2)); } }
自己先算算,结果是什么,再来对比下
我们重点来说一说这个++ 和--
中文就是自加和自减;概念很简单,是对自己进行加1或者减1的操作;先来说说自加,自加分为前自加和后自加,他们是有区别的,前自己 ++a;后自加a++;在上代码之前,先教大家的咒语,前自加是先加后用,后自加是先用后加;默念即便,理解理解,怎么个先,怎么个后,然后来看看下面的代码:
public class DataOperators{ public static void main(String[] args){ int var1 = 10; System.out.println("后自加 var1++ =" + (var1++)); System.out.println("var1 = " + var1); System.out.println("前自加 ++var1 =" + (++var1)); System.out.println("var1 = " + var1); } }
仔细对照着咒语,来预测下运行结果,预测好了没?那么我们来看看运行的结果:
根据咒语,后自加,是先用后加,所以我们第一次打印var1的时候,打印的是10,然后var1对自己进行了+1的操作,这个时候var1变成了11,然后使用前自加,还是根据咒语,先加后用,也就是11 +1,打印,结果就是12了,怎么样?好好理解理解;
自减除了是做减法,其他的完全和自加一样,我就不多说了,直接看综合在一起的代码:
public class DataOperators{ public static void main(String[] args){ int var1 = 10; System.out.println("后自加 var1-- =" + (var1--)); System.out.println("后自加 --var1 =" + (--var1)); System.out.println("后自加 var1++ =" + (var1++)); System.out.println("前自加 ++var1 =" + (++var1)); } }
对着咒语,好好算,后减减,就是先用后减,前减减,就是先减后用;
好了,算完了,来看结果
怎么样,和你自己算的一样么?不一样的话,再仔细算一遍,理解一下
说完了算数运算符,我们再来说说关系运算符,关系运算符和算数运算符比较起来就简单的多了,没那么复杂,算数运算符的结果是多种多样的,而关系运算符的结果只有一种,那就是boolean型,布尔型只有两种值,true或者是false,简而言之,关系运算符的记过要么是true,要么是false,先来看看我们有哪些关系运算符:>, <, >=, <=, ==, !=,前面几个大家肯定都比较熟悉了,分别是大于,小于,大于等于,小于等于,最后两个就不太熟悉了吧?两个等号放一起了,连起来度就是等于等于,我们1是不是等于2的话,在java里就是1==2,这是一个表达式,这个表达式的结果就是我们问题的答案,最后一个符号 != 一个感叹号和一个等号,没什么太多的解释,因为在两个变量的关系中,就差不等于这个感念了,所以这个符号就是不等于,来看看代码:
public class RelaOperators{ public static void main(String[] args){ int var1 = 10; int var2 = 3; System.out.println("var1大于var2么?" + (var1 > var2)); System.out.println("var1小于var2么?" + (var1 < var2)); System.out.println("var1大于等于var2么?" + (var1 >= var2)); System.out.println("var1小于等于var2么?" + (var1 <= var2)); System.out.println("var1等于var2么?" + (var1 == var2)); System.out.println("var1不等于var2么?" + (var1 != var2)); } }
记住了啊,这个运算符的结果不是true就是false的!!!如果说true和false一定要对应中文的话!!true=是,false=不是^_^;
来看结果
因为java的运算符比较多,一次性说完,还是有些负担的,大家多联系,今天作业哦。。。
下次我们再继续来说java的运算符