快速业务通道

Java编程那些事儿27—其它运算符 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24

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

时间:2010-03-07 csdn 陈跃峰

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的值。

在程序开发中,可以使用该区别简化代码的书写,但是不推荐这样做,因为这样将增加阅读代码的难度。

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

时间:2010-03-07 csdn 陈跃峰

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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号