当前位置:天才代写 > tutorial > JAVA 教程 > Java编程那些事儿27—其它运算符

Java编程那些事儿27—其它运算符

2017-11-12 08:00 星期日 所属: JAVA 教程 浏览:286

副标题#e#

4.6 其它运算符

对付无法归类,可能单独有一类的运算符,将在下面举办先容。

l++、–

这两个运算符是措施中的递增和递减运算符。其意义参照以下示例代码:

int n = 0;
n++;// n = n + 1
System.out.println(n);

n++的意义就是对本来变量n的值加1今后再赋值给自身,因为本来变量n的值是0,加1今后则酿成1。

同理,递减运算符的意义也是这样,示例代码:

int m = 0;
m--;
System.out.println(m);

m—的意义就是对本来变量m的值减1今后再赋值给自身,则m的值酿成-1。

需要留意的是++和—只能操纵变量,而不能操纵其他的内容,以下利用都是错误的:

int a = 0;
int b = 0;
(a + b)++;  //错误
final int M = 1;
M++;   //错误
5++;   //错误

在实际书写时,++和—既可以写在变量的前面,也可以写在变量的后头,譬喻:

int k = 0;
k++;
++k;

同理,–也可以这样,那么这些在实际利用中有什么区别呢?其实对付变量的值来说,没有区别,也就是++无论写后头照旧写前面,变量的值必定增加1,–无论写在后头照旧前面,变量的值都减1。其最大的区别在于整个式子的值,如n++,法则如下:

1)++或—写在变量前面,则该式子的值便是变量变革今后的值。

2)++或—写在变量后头,则该式子的值便是变量变革以前的值。

示例代码如下:

int n = 1;
int m= 1;
n++;  //n的值变为2
++m;  //m的值变为2
int k = n++;//n的初始值是2,则n++的值是2,功效n的值为3,k的值为2
int j = ++m; //m的初始值是2,则++m的值是3,功效m的值是3,j的值为3

同理,–也是这样。

下面是一个稍微综合点的示例:

int a = 0;
int b = 0;
a = b++;//a为0,b为1
a = ++b;//a为2,b为2
b = a++;//a为3,b为2
a = ++b;//a为3,b为3

说明:注释部门为对应行代码运行今后,a和b的值。

在措施开拓中,可以利用该区别简化代码的书写,可是不推荐这样做,因为这样将增加阅读代码的难度。


#p#副标题#e#

l +、-

前面先容过加减运算符,其实+、-尚有别的一个意义,也就是代表正负,凡是环境下正号可以省略,而负号可以和数值、变量以及运算式举办团结,示例代码如下:

int a = 0;
int b = 1;
int c = -5;
c = -a;
c = -(a + b);
l? :

这个运算符称为条件运算符,其浸染是按照判定的功效得到对应的值,语法名目如下:

条件式 ? 值1 : 值2

语法要求条件式部门必需是boolean范例,可以是boolean值,也可以是boolean变量,可能是干系运算符或逻辑运算符形成的式子,值1和值2必需可以或许转换成沟通的范例。

成果说明:假如条件式的功效是true,则整个式子的值取值1的值,不然取值2的值。示例代码如下:

int x = 10;
int y = 20;
int max = x > y ? x : y;//因为x大于y,则取变量x的值,然后赋值给max
int a = -10;
int abs = a > 0 ? a : -a;//实现求绝对值得成果
l()

括号,也是运算符的一种,浸染是可以让括号内部的计较首先举办,这个和数学上一致,只是措施代码中可以利用这个组合任意的正当运算式。示例代码为:

int a = 1 + 2 * 3;
int a = (1 + 2) * 3;//和以上代码的运行功效纷歧致

其实每个运算符都有本身的优先级,利用括号可以晋升对应式子的优先级。关于运算符优先级的观念,后续将举办先容。

文章来历:http://blog.csdn.net/Mailbomb/archive/2008/06/02/2502929.aspx

 

    关键字:

天才代写-代写联系方式