运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。Java中提供了丰富的运算符,如赋值运算符、算术运算符、比较运算符等。
1.赋值运算符(“=”):赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方的操作数。
2.算术运算符:“+”(加)、“-”(减)、“*”(乘)、“/”(除)、“%”(取余)
3.单目运算符:自增、自减 (++a、a++、--a、a--) 自增与自减都是相对于操作元i和表达式而言的
++a(--a) //表示在使用变量a之前,先使a的值加(减)1
a++(a--) //表示在使用变量a之后,先使a的值加(减)1
粗略地分析,++a与a++的作用都相当于a=a+1.假设a=4,则:
b=++a;//先将a的值+1,然后赋值给b,此时a的值为5,b的值为5
在看另一个语法,同样假设a=4,则:
b=a++;//先将a的值赋值给b,再将a的值+1,此时a的值为5,b的值为4
4.比较运算符:比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息质检的比较。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算结果为true,否则为false。所有比较运算符通常为判断的依据用在条件语句中。比较运算符共有6个:
> 大于
< 小于
== 等于
>= 大于等于
<= 小于等于
!= 不等于
5.逻辑运算符:返回类型为布尔值的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式。这是通过逻辑运算符来实现的。逻辑运算符的操作元必须是boolean类型数据,逻辑运算符包括以下几个:
&(&&) 逻辑与
|| 逻辑或
! 逻辑非
6.位运算符:位运算符除“按位与”和“按位或”运算符外,其他只能用于处理整数的操作数。位运算是完全针对位方面的操作。整形数据在内存中以二进制的形式表示,如int型变量7的二进制表示是 00000000 00000000 00000000 00000111。
左边最高位是符号位,最高位是0表示正数,若为1则表示负数。负数采用补码表示,如-8的二进制表示为 11111111 11111111 11111111 11111000。这样就可以对整型数据进行按位运算。
7.三元运算符:
使用格式为 条件式?值1:值2
三元运算符的运算规则为:若条件式的值为true,则整个表达式取值1,否则取值2.例如:
boolean b=20<45? true:false;
如上例所示,表达式“20<45”的运算结果返回真,那么boolean型变量b取值为true,反之,b取值为false
8.运算符优先级:Java中的表达式就是使用运算符连接起来的符合Java规则的式子。运算符的优先级决定了表达式中运算执行的先后顺序。通常优先级由高到低的顺序依次是
增量和减量运算-》算术运算-》比较运算-》逻辑运算-》赋值运算
如果两个运算有相同的优先级,那么左边的表达式要比右边的表达式先被处理。
9.数据类型转换:类型转换是将一个值从一种类型更改为另一种类型的过程。例如,可以将String类型数据“457”转换为一个数值型,而且可以将任意类型的数据转换为String类型。如果从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的;而把高精度数据类型向低精度数据类型转换则必然会有信息丢失,有可能失败。
数据类型转换有两种方式,即隐式转换与显式转换。
隐式类型转换:从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作。这种类型的转换称为隐式转换。下列基本数据类型会涉及数据转换,不包括逻辑类型和字符类型。这些类型按照精度从低到高的顺序为 byte<short<int<long<float<double。
int x=50; //声明int型变量x
float y=x; //将x赋值给y
此时执行输出语句,y的结果将是50.0。
显示类型转换:当把高精度的变量的值给低精度的变量时,必须使用显式类型转换运算(又称强制类型转换)。语法:(类型名)要转换的值
例:
int a=(int)45.23; //此时输出a的值为45
long y=(long)456.6F; //此时输出y的值为456
int b=(int)"d"; //此时输出b的值为100
注:当把整数赋值给一个byte、short、int、long型变量时,不可以超出这些变量的取值范围,否则必须进行强制类型转换。例如:byte b=(byte)129;
本文详细介绍了Java中的运算符,包括赋值运算符、算术运算符(如加减乘除、取余)、单目运算符(自增自减)、比较运算符、逻辑运算符(逻辑与、或、非)和位运算符。还讲解了三元运算符、运算符优先级、数据类型转换以及不同类型的运算符实例。
3160

被折叠的 条评论
为什么被折叠?



