分享

编程思想《操作符》

 笑笑兔 2023-08-30 发布于天津

java操作符

操作符接受一个或多个参数,并生成一个新值。参数的形式与普通方法调用不同,最后结果一样的。加(+)减(-)乘(*)除(/)以及赋值(=)用法与其他语言类似。

几乎所有操作符只能操作“基本类型”。例外操作符“=”、“==”“!=”,这些能操作所有对象。另外String类支持“+”和“+=”。

1、操作符优先级

java对计算顺序做特别规定。简单运算规则先乘除后加减,遇到小括号先算小括号。

2、赋值

赋值操作符“=”。意思是“取右边的值,把它的值赋值给左边”。

对基本数据类型赋值很简单。例如b=4,a=b,那么a等于4,如果修改a的值,b值不会影响。

但是在对象“赋值”时候,“将一个对象赋值给另一个对象”,实际上将引用复制到另外一个地方。意味着假如a=b,那么a和b都指向原本b指向的那个对象。

由于t1和t2包含相同引用,指向同一个对象。修改t1的同时也修改了t2。

3、算术操作符

java基本算术操作符与其他大多数程序语言相同。整数除法会直接去掉小数结果,不是四舍五入。

4、自动递增和递减

例如a是一个int整数值,表达式++a等价于(a = a +1)。递减--a表示(a = a -1)

前缀式和后缀式递增、递减,例如++a和a++,同样--a和a--。++a和--a先执行运算,再赋值,而a++和a--正好相反。示例代码如下:

  

5、对象等价性

关系操作同样适用于所有对象。代码示例

尽管两个对象内容相同,但是对象的引用是不同的。所以输出结果false、true。

如果比较两个对象实际内容值,通过equeals()方法。但是这个方法只能用于基本数据类型。代码示例:

输出结果为:true  

假如你自己创建的类进行比较,如下代码:

结果是false。这是因为equals()的默认行为比较引用。只能覆盖equals的方法,否则不可能实现我们要的效果。

6、短路

当使用逻辑操作符时,会遇到一种现象“短路”。即能够准确无误的确定了整个表达式的值,不再计算表达式剩余部分。

例如代码,test(1)&&test(2)&&test(3),test(int num)表示一个接收int类型参数方法,如果第二条件test(2)为false,那么不会在执行test(3)方法。

5、三元运算符

三元运算符也称条件运算符,属于特殊的操作符,它最终会生成一个值,这与if-else语句不同。

表达式如下:

boolean-exp ? value0 : value1

如果boolean-exp条件成立结果为value0,否则value1。当然你可以用if-else实现,但是三元操作符更简洁。

总结

如果你拥有编程经验的话,发现它的语法类似C,这样你将来学习其他语言不会有太多困难。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多