1:优先级
优先级是指同一式子中多个运算符被执行和次序,同一级里的操作符具有相同的优先级,相同优先级得操作符号相遇是,根据结合性决定运算次序,下面从高到低的优先级列出了运算符。同一行中的运算符优先级相同。
. [] () 结合性从左到右
++ -- ! ~ 结合性从左到右
* / % 结合性从左到右
+ - 结合性从左到右
<< >> >>> 结合性从左到右
< > <= >= 结合性从左到右
== != 结合性从左到右
& 结合性从左到右
^ 结合性从左到右
&& 结合性从左到右
|| 结合性从左到右
?: 结合性从右到左
= 结合性从右到左
例如对于表达式:a=b+c*d/(c^d),因为括号优先级最高,所以先计算c^d,接着是c*d,然后除以c^d,最后,把上述结果与b的和存储到变量a中。
2:整型运算符
整型运算符按操作数的多少可分为一元和二元两类,一元运算符一次对一个变量进行操作,二元运算符一次对两个变量进行操作。对于运算来说,如果
有一个变量或操作数是长整型的,那么结果就肯定是长整型的,否则即使操作数还没有确定是字节型、短整型或字符型,运算结果都是整型,下表是一元运算符。
运算符 实际操作 例子
- 改变整型数符号 -i
~ 位运算:非 ~i
++ 加1 i++
-- 减1 i--
注:一元取反运算符(-)用来改变整数的正负号,逐位求反把所变量所有是1的位变成0,是0的位变成1,加加和减减(++,--)把变量的值加1或减1。
以下是一个具体例子:
int i=0;
int j=1;
for (i=1;i<10;i++)
{
j--;
System.out.println(i+""+j+"");
}
一元运算符执行的方式是改变它们所作用的变量的值,对一元取反和逐位求反来说,变量的值并不改变,而对加和减运算(++,--)来说,就量的值被改变了,例如:
int i=10,j=10,k=10,l=10;
System.out.println(i+""+j+""+k+""+l+"");
j++;
i--;
~k;
-l;
System.out.println(i+""+j+""+k+""+l+"");
注意:j和i被改变并打印出它们的新值,可是k和l仍然为原来的数值,当在复合表达式中使用一元取反和逐位求余运算时,你实际上是在用一个临时存贮操作数的新值。
++和--既是前置运算符也是后置运算符,这就是说,它们既可以放在操作数前面(++x),也可以放在后面(x++),如果它们被用在复合语句中如:
i=x++; 或 i=++x;
那么第一个语句中x把值赋给i以后再加1,而第二个语句先把x加1,再把新的x值赋给i。
整型运算符的第二种类型是二元运算符,这种运算并不改变操作数的值,而是返回一个必须赋给变量的值,下表列出了二元运算符。
运算符 实际操作 例子
+ 加运算 a+b
- 减运算 a-b
* 乘运算 a*b
/ 除运算 a/b
% 取模运算 a%b
& 与运算 a&b
| 或运算 a|b
^ 异或运算 a^b
<< 左移 a<<b
>> 右移 a>>b
>>> 右移 a>>>b
注意:>>与>>>的基本功能都是右移,但>>是用符号位来填充右移后所留下的空位,而>>>则是用零来填充右移后所留下的空位。
还有一类运算,它们形如:j-=i,这里-=是二元运算-和赋值运算=的复合运算,它等价于j=j-i,这种复合方式适用于所有的二元运算符。
这里有几点关于整型运算进一步说明,首先,整数除法向靠近0的方向取整;其次,如果你除以0或者对0取模,程序就会在运行时被强行中止,如果你的运算结果超出最小极限,或者说是下溢,结果将为0,如果超出了最大极限,就将会导致结果的回绕。
3:布尔运算符
另外还有一些运算符能产生布尔类型的结果,我们把它们称为布尔运算符,下表列出了这些运算符。
运算符 实际操作 例子
< 小于 a<b
> 大于 a>b
<= 小于等于 a<=b
> 大于等于 a>=b
== 等于 a==b
!= 不等于 a!=b
在这里要指出的是相等运算符==可能会给你带来许多麻烦,很多人在比较两个值时往往错用了等号=,以致于变成了赋值操作,所以在编程中一定要
注意你在比较数值时用的是==。布尔类型本身还有几个逻辑运算符,它们可以对布尔类型的数据进行运算:!,&&,//
其实如果你把布尔类型的值true等效地看成1,false看成0,那么对于相同的运算符,整型运算的法则对布尔类型也是适用的。
布尔运算符中还有一种三元运算符,它的格式如下:
Operand ? Statement1:Statement2
在这个式子中,先计算Operand的真假,若为真,则执行Statement1,若为假,则执行Statement2。下面的代码给出了这种运算的一个例子:
(a>b)?a:b;
这个表达式将返回a和b中较大的那个数值。
4:浮点型运算符
传统的浮点型二元运算除了赋值运算符(+=,-=.*=./)取模(%)和取模赋值(%=0)使浮点数值等价于整数除法,同样,++和--使变量的值增加或减小1。
同整型变量相似,结果被放在最大长度的类型里,如果运算包括两个浮点类型,结果也是个浮点类型,如果有一个或几个是双精度浮点型,结果就是双
精度浮点型,当你使用关系运算符:>、<、>=、<=、==和!=时,注意浮点变量与整型的不同,只有a==b成立并不能说明
a<b和a>b不成立,这是因为浮点类型数值次序同整型不同,当你写程序,对浮点型数值进行假设时要小心,浮点型数值也包括inf,代表无穷
大,溢出产生无穷大inf,下溢产生0。
5:字符串运算符
+运算符可以把字符串并置起来,如果哪一个操作数不是字符串,在并置之前它会被转换成字符串,另外,+=运算符把两个字符串并置的结果放进第
一个字符串里,在前面的例子里,当你想把几项打印在同一行里时使用的是+运算符,试着在解释器里用System.out.println和+运算符来造成
不同的组合输出。
分享到:
相关推荐
以下是一些主要的Java算术运算符: 1. 加法运算符 (+): 它用于将两个数值相加。例如,`int a = 5; int b = 3; int c = a + b;` 这里,c的值将是8。 2. 减法运算符 (-): 用于从一个数值中减去另一个数值。如 `int a...
* 运算符:包括算术运算符(如 +、-、*、/ 等)、比较运算符(如 ==、!=、>、等)、逻辑运算符(如 &&、||、! 等)等 * 表达式:由运算符和操作数组成的式子,例如 2+3*4 等 知识点三:选择语句的使用 * if 语句:...
Java是一种广泛使用的面向对象的编程语言,其语法严谨且功能强大。在Java中,运算符是编程中的关键元素,它们用于执行特定的算术、逻辑、比较和其他操作。本资料包"java学习-java的运算符"是针对Java运算符的学习...
Java是一种广泛使用的面向对象的编程语言,其语法中包含了丰富的运算符来支持各种计算和逻辑操作。本篇文章将深入探讨Java中的各种运算符,帮助你更好地理解和应用它们。 1. **算术运算符**: - 基本算术运算符...
7. 关系运算符和逻辑运算符: 关系运算符和逻辑运算符是 Java 语言中的重要组成部分。了解这些运算符的应用场景和优先级是编写正确的 Java 代码的关键。 8. 选择语句: 选择语句是 Java 语言中的重要控制结构。if...
当我们将一个数据类型转换为另一个兼容的数据类型时,Java会自动进行这种转换,无需额外的语法。例如,将较小的数据类型(如int)赋值给较大的数据类型(如long)时,Java会自动完成转换: ```java int anInt = 10;...
Java 语言中的修饰符和运算符是编程的基础元素,它们在构建程序时起着至关重要的作用。理解并熟练掌握这些概念对于编写高效、可维护的代码至关重要。 首先,我们来看 Java 的访问控制修饰符。Java 提供了四种不同的...
### Java入门教程:数据类型与三目运算符详解 #### 数据类型概述 Java是一种静态类型的编程语言,这意味着在编译时必须明确指定每个变量的数据类型。Java提供了多种内置的数据类型来满足不同的需求,包括整型(如`...
JAVA语法大全是指JAVA的基本语法,包括关键字、词法规则、数据类型、常量与变量、运算符和表达式、语句、数组和字符串等方面的知识点。 一、词法规则 词法规则是JAVA程序的基本组成部分,它规定了JAVA程序的词法...
Java编程语言提供了丰富的语法结构,其中之一就是条件运算符,也被称为三元运算符。这个运算符在编程中常用于简洁地实现条件判断,并根据条件的结果返回一个表达式的值。在这个主题中,我们将深入探讨Java中的条件...
3. 运算符:Java中的运算符用于执行特定的数学或逻辑操作。主要有算术运算符(+,-,*,/,%),关系运算符(==,!=,<,>,,>=),逻辑运算符(&&,||,!),位运算符(&,|,^,~, ,>>,>>>),赋值运算符(=,+...
10. Java基本语法:该计算器使用了Java基本语法,如变量声明、赋值、条件语句、循环语句等。 11. 可判断运算符的优先级:该计算器可以判断运算符的优先级,即可以正确地计算含有多个运算符的表达式。 12. 图形用户...
2. **文法定义**:项目可能包含一个形式化的Java语法规则定义,例如使用EBNF(扩展巴科斯范式)。 3. **抽象语法树(AST)**:构建AST是语法分析的关键,因为它直观地展示了代码的结构。每个节点代表一个语法构造,...
Java是一种广泛使用的面向对象的编程语言,其语法严谨,对变量和运算符的管理有明确的规定。在这篇文章中,我们将深入探讨Java中的变量与运算符,帮助你更好地理解和运用这些核心概念。 首先,我们来谈谈Java中的...
- 运算符:赋值运算符、算术运算符、比较运算符和逻辑运算符。 - 控制流:if条件语句、switch语句、for, while, do-while循环。 2. **Chapter 2:类与对象** - 类的定义:包括属性(fields)和方法(methods)。...
学习Java语法是为了快速理解和掌握编程的基本概念,为后续的面向对象编程打下基础。 首先,Java语言的基本组成包括标识符、关键字和分隔符。标识符是用于命名常量、变量、方法和类的名称,它们必须以字母、下划线或...
3. Java 运算符: Java 中有多种运算符,如算术运算符、比较运算符、逻辑运算符、赋值运算符等。 例如,算术运算符有 +、-、*、/、% 等;比较运算符有 ==、!=、>、等。 4. Java 控制流语句: Java 中有多种控制流...
### Java 三目运算符详解 #### 一、基本概念 在Java编程语言中,三目运算符(也称为条件运算符)是一种简洁且高效的方式来根据条件选择两个可能的值中的一个。它由三个操作数组成,因此得名“三目”运算符。 ####...
* 运算符:Java 支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等。 * 控制流程语句:Java 的控制流程语句包括 if 语句、switch 语句、循环语句等。 第一个 Java 程序 下面是一个简单的 Java 程序,用于...
Java语法基础知识点: 1. 标识符与关键字: Java中的标识符是由字母、下划线(_)、数字或美元符号($)构成的有效字符序列,但标识符的第一个字符不能是数字,且区分大小写。标识符用于类名、变量名、方法名等命名。...