您好、欢迎来到现金彩票网!
当前位置:秒速牛牛 > 条件运算符 >

java都有哪些运算符及其用法

发布时间:2019-07-07 06:17 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部Java的运算符可分为4类:算术运算符、关系运算符、逻辑运算符和位运算符。

  Java的算术运算符分为一元运算符和二元运算符。一元运算符只有一个操作数;二元运算符有两个操作数,运算符位于两个操作数之间。算术运算符的操作数必须是数值类型。

  加1、减1运算符只允许用于数值类型的变量,不允许用于表达式中。加1、减1运算符既可放在变量之前(如++i),也可放在变量之后(如i++),两者的差别是:如果放在变量之前(如++i),则变量值先加1或减1,然后进行其他相应的操作(主要是赋值操作);如果放在变量之后(如i++),则先进行其他相应的操作,然后再进行变量值加1或减1。

  在书写时还要注意的是:一元运算符与其前后的操作数之间不允许有空格,否则编译时会出错。

  二元运算符有:加(+)、减(-)、乘(*)、除(/)、取余(%)。其中+、-、*、/完成加、减、乘、除四则运算,%是求两个操作数相除后的余数。

  取余运算符既可用于两个操作数都是整数的情况,也可用于两个操作数都是浮点数(或一个操作数是浮点数)的情况。当两个操作数都是浮点数时,例如7.6 % 2.9时,计算结果为:7.6 - 2 * 2.9 = 1.8。

  当两个操作数都是long类型(或其他整数类型)数时,a%b的计算公式可以类推。

  当参加二元运算的两个操作数的数据类型不同时,所得结果的数据类型与精度较高(或位数更长)的那种数据类型一致。

  7.0 / 3 //除法,运算结果为2.33333,即结果与精度较高的类型一致

  关系运算符用于比较两个数值之间的大小,其运算结果为一个逻辑类型的数值。关系运算符有六个:等于(==)、不等于(!=)、大于()、大于等于(=)、小于()、小于等于(=)。

  要说明的是,对于大于等于(或小于等于)关系运算符来说,只有大于和等于两种关系运算都不成立时其结果值才为false,只要有一种(大于或等于)关系运算成立其结果值即为true。例如,对于9 = 8,9既不小于8也不等于8,所以9 = 8 的运算结果为false。对于9 = 9,因9等于9,所以9 = 9的运算结果为true。

  逻辑运算符要求操作数的数据类型为逻辑型,其运算结果也是逻辑型值。逻辑运算符有:逻辑与(&&)、逻辑或()、逻辑非(!)、逻辑异或(^)、逻辑与(&)、逻辑或()。

  真值表是表示逻辑运算功能的一种直观方法,其具体方法是把逻辑运算的所有可能值用表格形式全部罗列出来。Java语言逻辑运算符的真值表如下:

  前两列是参与逻辑运算的两个逻辑变量,共有4种可能,所以表2.5共有4行。后6列分别是6个逻辑运算符在逻辑变量A和逻辑变量B取不同数值时的运算结果值。

  要说明的是,两种逻辑与(&&和&)的运算规则基本相同,两种逻辑或(和)的运算规则也基本相同。其区别是:&和运算是把逻辑表达式全部计算完,而&&和运算具有短路计算功能。所谓短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。对于&&运算来说,只要运算符左端的值为false,则因无论运算符右端的值为true或为false,其最终结果都为false。所以,系统一旦判断出&&运算符左端的值为false,则系统将终止其后的计算过程;对于 运算来说,只要运算符左端的值为true,则因无论运算符右端的值为true或为false,其最终结果都为true。所以,系统一旦判断出 运算符左端的值为true,则系统将终止其后的计算过程。

  此时,若i等于0,则系统判断出i=1的计算结果为false后,系统马上得出该逻辑表达式的最终计算结果为false,因此,系统不继续判断i=100的值。短路计算功能可以提高程序的运行速度。

  用逻辑与(&&)、逻辑或()和逻辑非(!)可以组合出各种可能的逻辑表达式。逻辑表达式主要用在 if、while等语句的条件组合上。

  位运算符共有7个,分别是:位与(&)、位或()、位非(~)、位异或(^)、右移()、左移()、0填充的右移()。

  位运算的位与(&)、位或()、位非(~)、位异或(^)与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值。

  即运算结果为z等于二进制数01000000。位或、位非、位异或的运算方法类同。

  (2)右移是将一个二进制数按指定移动的位数向右移位,移掉的被丢弃,左边移进的部分或者补0(当该数为正时),或者补1(当该数为负时)。这是因为整数在机器内部采用补码表示法,正数的符号位为0,负数的符号位为1。例如,对于如下程序段:

  即运算结果为z等于二进制数11101110,即z等于十进制数-18。要透彻理解右移和左移操作,读者需要掌握整数机器数的补码表示法。

  (3)0填充的右移()是不论被移动数是正数还是负数,左边移进的部分一律补0。

  赋值运算符可以与二元算术运算符、逻辑运算符和位运算符组合成简捷运算符,从而可以简化一些常用表达式的书写。

  方括号[]是数组运算符,方括号[]中的数值是数组的下标,整个表达式就代表数组中该下标所在位置的元素值。

  当操作数是字符串时,加(+)运算符用来合并两个字符串;当加(+)运算符的一边是字符串,另一边是数值时,机器将自动将数值转换为字符串,这种情况在输出语句中很常见。如对于如下程序段:

  计算机屏幕的输出结果为:max = 100,即此时是把变量max中的整数值100转换成字符串100输出的。

  条件运算符的运算方法是:先计算表达式1的值,当表达式1的值为true时,则将表达式2的值作为整个表达式的值;当表达式1的值为false时,则将表达式3的值作为整个表达式的值。如:

  强制类型转换符能将一个表达式的类型强制转换为某一指定数据类型,其语法形式为:

  对象运算符instanceof用来测试一个指定对象是否是指定类(或它的子类)的实例,若是则返回true,否则返回false。

  以下按优先级从高到低的次序列出Java语言中的所有运算符,表中结合性一列中的“左右”表示其运算次序为从左向右,“右左”表示其运算次序为从右向左。

  加1、减1运算符只允许用于数值类型的变量,不允许用于表达式中。加1、减1运算符既可放在变量之前(如++i),也可放在变量之后(如i++),两者的差别是:如果放在变量之前(如++i),则变量值先加1或减1,然后进行其他相应的操作(主要是赋值操作);如果放在变量之后(如i++),则先进行其他相应的操作,然后再进行变量值加1或减1。

  在书写时还要注意的是:一元运算符与其前后的操作数之间不允许有空格,否则编译时会出错。

  二元运算符有:加(+)、减(-)、乘(*)、除(/)、取余(%)。其中+、-、*、/完成加、减、乘、除

  当两个操作数都是long类型(或其他整数类型)数时,a%b的计算公式可以类推。

  7.0 / 3 //除法,运算结果为2.33333,即结果与精度较高的类型一致

  关系运算符用于比较两个数值之间的大小,其运算结果为一个逻辑类型的数值。关系运算符有六个:等于(==)、不等于(!=)、大于()、大于等于(=)、小于()、小于等于(=)。

  要说明的是,对于大于等于(或小于等于)关系运算符来说,只有大于和等于两种关系运算都不成立时其结果值才为false,只要有一种(大于或等于)关系运算成立其结果值即为true。例如,对于9 = 8,9既不小于8也不等于8,所以9 = 8 的运算结果为false。对于9 = 9,因9等于9,所以9 = 9的运算结果为true。

  是表示逻辑运算功能的一种直观方法,其具体方法是把逻辑运算的所有可能值用表格形式全部罗列出来。Java语言逻辑运算符的

  前两列是参与逻辑运算的两个逻辑变量,共有4种可能,所以表2.5共有4行。后6列分别是6个逻辑运算符在逻辑变量A和逻辑变量B取不同数值时的运算结果值。

  (和)的运算规则也基本相同。其区别是:&和运算是把逻辑表达式全部计算完,而&&和运算具有短路计算功能。所谓短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。对于&&运算来说,只要运算符左端的值为false,则因无论运算符右端的值为true或为false,其最终结果都为false。所以,系统一旦判断出&&运算符左端的值为false,则系统将终止其后的计算过程;对于 运算来说,只要运算符左端的值为true,则因无论运算符右端的值为true或为false,其最终结果都为true。所以,系统一旦判断出 运算符左端的值为true,则系统将终止其后的计算过程。

  此时,若i等于0,则系统判断出i=1的计算结果为false后,系统马上得出该逻辑表达式的最终计算结果为false,因此,系统不继续判断i=100的值。短路计算功能可以提

  用逻辑与(&&)、逻辑或()和逻辑非(!)可以组合出各种可能的逻辑表达式。逻辑表达式主要用在 if、while等语句的条件组合上。

  (^)与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值。

  即运算结果为z等于二进制数01000000。位或、位非、位异或的运算方法类同。

  (2)右移是将一个二进制数按指定移动的位数向右移位,移掉的被丢弃,左边移进的部分或者补0(当该数为正时),或者补1(当该数为负时)。这是因为整数在机器内部采用

  (3)0填充的右移()是不论被移动数是正数还是负数,左边移进的部分一律补0。

  方括号[]是数组运算符,方括号[]中的数值是数组的下标,整个表达式就代表数组中该下标所在位置的元素值。

  当操作数是字符串时,加(+)运算符用来合并两个字符串;当加(+)运算符的一边是字符串,另一边是数值时,机器将自动将数值转换为字符串,这种情况在输出语句中很常见。如对于如下程序段:

  计算机屏幕的输出结果为:max = 100,即此时是把变量max中的整数值100转换成字符串100输出的。

  的运算方法是:先计算表达式1的值,当表达式1的值为true时,则将表达式2的值作为整个表达式的值;当表达式1的值为false时,则将表达式3的值作为整个表达式的值。如:

  对象运算符instanceof用来测试一个指定对象是否是指定类(或它的子类)的实例,若是则返回true,否则返回false。

  从高到低的次序列出Java语言中的所有运算符,表中结合性一列中的“左右”表示其运算次序为从左向右,“右左”表示其运算次序为从右向左。

http://scare666.com/tiaojianyunsuanfu/603.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有