Java编程那些事儿27—其它运算符
郑州游戏学院陈跃峰
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的值。
在程序开发中,可以使用该区别简化代码的书写,但是不推荐这样做,因为这样将增加阅读代码的难度。
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;//和以上代码的运行结果不一致
其实每个运算符都有自己的优先级,使用括号可以提升对应式子的优先级。关于运算符优先级的概念,后续将进行介绍。
分享到:
相关推荐
"Java编程那些事儿"无疑是对这个强大语言的深入探讨,旨在帮助开发人员提升技能,拓宽视野。这份资料可能是由一系列章节或主题组成的文档,比如基础语法、面向对象编程、异常处理、集合框架、多线程、IO流、网络编程...
### Java编程那些事儿 #### 序言 《Java编程那些事儿》是一本旨在帮助Java初学者快速入门并掌握Java编程技巧的书籍。本书由陈跃峰老师撰写,并由云低夕落人归进行整理,最终形成PDF版本上传至CSDN。 #### 程序设计...
Java那些事儿,这是一个专为Java初学者准备的学习资源,涵盖了丰富的知识内容,旨在帮助新接触Java编程的人士快速上手并深入理解这门强大的编程语言。在这个压缩包中,我们有两份重要的文件:《Java编程那些事儿》的...
《Java那些事儿》是一部深入探讨Java编程语言的综合性资料,主要以CHM(Microsoft Compiled HTML Help)格式提供。CHM是一种常见的电子书格式,它将HTML文档、图像和其他资源组合成一个单一的压缩文件,方便用户离线...
在Java编程的世界里,深入理解和熟练掌握基础是至关重要的。书中可能会涵盖以下核心知识点: 1. **Java语法基础**:包括变量、数据类型、运算符、流程控制语句(如if-else,switch,for,while)以及函数的使用。...
**1.1 Java编程那些事儿1——序言** 本章节主要介绍了作者撰写这本书的目的和背景,旨在帮助编程初学者更好地理解和掌握Java编程的基础知识。书中强调了通过通俗易懂的语言来解释复杂的概念,并计划覆盖以下核心...
文件"Java编程那些事儿[www.TopSage.com].pdf"可能包含了对Java语言全面而深入的讲解。通常,这类资源会涵盖以下几个关键知识点: 1. **Java语言简介**:Java是由Sun Microsystems开发,后来被Oracle收购的一种面向...
2. **《Java程序员+上班那点事儿.pdf》**:这本书可能不仅涵盖了Java编程技术,还可能包含了一些实际工作中可能会遇到的问题和解决方案,比如代码调试、项目管理、团队协作等方面的经验分享,有助于初学者了解实际...
Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域,包括基础语法、面向对象、集合框架、多线程、JVM内存模型、异常处理、IO流、网络编程、设计模式、数据库操作、Spring框架、微服务等。下面将根据...
Java笔试面试题目是Java开发者在求职过程中必须面对的重要环节,它涵盖了广泛的Java编程知识,包括但不限于基础语法、数据结构、算法、多线程、集合框架、JVM优化、设计模式等。下面将针对这些关键领域进行详细的...
- 通过Proxy,开发者可以实现类似Java的私有属性、Python的属性装饰器等功能,让JavaScript代码更接近其他编程语言。 10. **框架与库**: - 许多现代前端框架和库,如Vue.js和MobX,利用Proxy实现响应式数据绑定...