Java运算符

本文详细介绍了Java中的运算符,包括赋值运算符、算术运算符(如加减乘除、取余)、单目运算符(自增自减)、比较运算符、逻辑运算符(逻辑与、或、非)和位运算符。还讲解了三元运算符、运算符优先级、数据类型转换以及不同类型的运算符实例。

运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。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;

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值