今天,我决定开始我的博客之路,在java方面我是一个新手,我希望我可以通过博客来记录我的成长。
关于运算符,首先说说赋值运算符。看一个小例子:。
程序1:
short b = 2;
b = b +2;
程序2:
short b = 2;
b += 2;
上面的程序在编译时,程序1是不能通过编译的,但是程序2却可以通过编译。对于初学者来说程序1和程序2是没什么区别的,因为我们会认为b += 2和b = b + 2就是一样的。其实这样的想法是错的。在b = b + 2的式子中,对于右边来说,b是short类型,当它与2做加法运算时,b的类型会自动提升到int,然后执行赋值语句,由于赋值语句左边是short类型右边是int类型,大的类型不能自动转换成小的类型,所以编译时会报错。对于b += 2来说,它只进行一次赋值运算,并且会自动转换类型,所以程序2不会报错。我们应该注意一下它们的区别。
再来说说逻辑运算符&和&&的区别。
&和&&都可以用作逻辑与的运算符。但是对于&&来说它还有短路的功能,就比如说当表达式1的值是false时,就不会计算表达式2了。对于&来说它还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。
最后说一说字符串连接符号:+。
字符串数据和任何数据使用“ + ”都是相连接的意思,最终都会变成字符串,这个东西看上去没有一点难度,但是我们还是要注意一下,避免掉入一些小陷阱。例如:
int x = 2;
int y = 4;
System.out.println("x+y="+x+y);
上面输出的结果其实是“x+y=24”,不要想当然的以为是“x+y=6”。
-------------------------------------------------------------------分割线----------------------------------------------------------------------------------
这里来个小拓展吧!用三种不同的方法来交换两个数。
1.用第三方变量(这个方法很常用,我就不介绍了)。
2.用两个数的和。
int x = 4;
int y = 7;
x = x + y;
y = x - y;
x = x - y;
3.两个数异或。
int x = 4;
int y = 7;
x = x ^ y;
y = x ^ y;
x = x ^ y;
---------------------------------------------------------------------分割线----------------------------------------------------------------------------------
关于运算符我就写到这里吧!上面主要是记录了我觉得很容易出错的一些地方,本人语文不太好再加上又是新手,所以在表达上有点问题请大家多多见谅!