java中运算符是什么类型,在java,常见的运算符有哪些
如何解决写爬虫IP受阻的问题?立即使用。
Java运算符可以分为四类:算术运算符、关系运算符、逻辑运算符和按位运算符。
算术运算符
Java的算术运算符分为一元运算符和二元运算符。一元运算符只有一个操作数;二元运算符有两个操作数,运算符位于两个操作数之间。算术运算符的操作数必须是数值类型。
1、一元运算符:
一元运算符有:正()、负(-)、加1()和减1 (-)。
1,减1运算符只允许用于数值类型的变量,不能用于表达式中。1.加减1的运算符可以放在变量之前(如++I),也可以放在变量之后(如I++)。两者的区别是:如果放在变量之前(比如++I),先将变量值加1或减1,再进行其他相应的运算(主要是赋值运算);如果放在变量之后(比如I++),先执行其他相应的操作,然后变量值加1或减1。
例如:
int i=6,j,k,m,n;
j=I;//取原始值,即j=6
k=-I;//取负值,即k=-6
m=I;//首先m=i,然后i=i 1,也就是m=6,i=7
m=I;//首先i=i 1,然后m=i,即i=7,m=7
n=j-;//首先n=j,然后j=j-1,即n=6,j=5
n=-j;//首先j=j-1,然后n=j,也就是j=5,n=5。写的时候也要注意,一元运算符和前后的操作数之间不能有空格,否则编译时会出错。
2、二元运算符
二元运算符有:加法()、减法(-)、乘法(*)、除法(/)和余数(%)。其中,-,*,/完成加减乘除四则运算,%是两个操作数相除后的余数。
%余数运算示例:
A% b=a-(a/b) * b余数运算符可用于两个操作数都是整数的情况,或者两个操作数都是浮点数的情况(或者一个操作数是浮点数)。当两个操作数都是浮点数时,比如7.6% 2.9,结果是:7.6-2 * 2.9=1.8。
当两个操作数都是int类型数字时,a%b的计算公式为:
A%b=a-(int) (a/b) * b当两个操作数都是long类型(或其他整数类型)的数时,可以类比出A%b的计算公式。
当参与二元运算的两个操作数的数据类型不同时,所得结果的数据类型与精度更高(或位数更长)的数据类型一致。
例如:
关系运算符
关系运算符用于比较两个数值之间的大小,其运算结果是数值的逻辑类型。有六种关系运算符:等于(==)和不等于(!=),大于(),大于或等于(=),小于(),小于或等于(=)。
例如:
需要注意的是,对于大于或等于(或小于或等于)关系运算符,只有当大于和等于关系运算都不为真时,结果值才为假,只要有一个(大于或等于)关系运算为真,结果值就为真。例如,对于9=8,9既不小于也不等于8,因此9=8的运算结果为假。对于9=9,因为9等于9,所以9=9的运算结果为真。
逻辑运算符
逻辑运算符要求操作数的数据类型是逻辑的,其运算结果也是逻辑值。逻辑运算符有:逻辑AND()、逻辑OR ()和逻辑NOT(!)、逻辑异或()、逻辑与()、逻辑或()。
真值表是表达逻辑运算功能的直观方法。其具体方法是以表格形式列出逻辑运算的所有可能值。Java语言逻辑运算符的真值表如下:
逻辑运算符的真值表
前两列是逻辑运算涉及的两个逻辑变量,有四种可能,所以表2.5有四行。最后六列是当逻辑变量A和逻辑变量B取不同值时六个逻辑运算符的结果。
需要注意的是,两个逻辑AND (and)的运算规则基本相同,两个逻辑OR ( and )的运算规则也是如此。不同的是:and 运算计算所有逻辑表达式,而and 运算具有短路计算功能。所谓短路计算,就是系统从左到右计算逻辑表达式。一旦确定了计算结果,计算过程就终止。对于一个运算,只要运算符左端的值为假,不管运算符右端的值为真还是假,最终结果都为假。因此,一旦系统确定运算符左端的值为假,系统将终止后续的计算过程;对于运算,只要运算符左端的值为真,不管运算符右端的值为真还是假,最终结果都为真。因此,一旦系统确定运算符左端的值为真,系统将终止后续的计算过程。
例如,有以下逻辑表达式:
(i=1) (i=100)此时,如果I等于0,系统判断i=1的计算结果为假后,系统立即断定该逻辑表达式的最终计算结果为假,因此系统不再继续判断i=100的值。短路计算功能可以提高程序的运行速度。
读者:在编程中使用and 运算符,而不是and 运算符。
使用逻辑AND(),逻辑OR ()和逻辑NOT(!)可以组合各种可能的逻辑表达式。逻辑表达式主要用于if和while等语句的条件组合。
例如:
int I=1;
而(I=1)(I=100)I;//Loop process上述程序段的循环过程将I语句循环100次。
位运算符
位运算是基于二进制位的运算,其操作数和运算结果都是整数值。
有七种按位运算符,分别是:按位AND()、按位OR ()、按位NOT (~)、按位XOR()、右移()、左移()和右移()填充0。
位运算的位与(),位或(),位非(~),位异或()和一个逻辑运算对应运算的真值表完全相同。区别在于位运算的操作数和结果是二进制整数,而逻辑运算的操作数和结果是逻辑值。
位操作示例
示例:
1.有以下程序:
int x=64//x等于0100000的二进制数
int y=70//y等于二进制数的01000110
Int z=xy //z等于二进制数的0100000,即运算结果是z等于二进制数的0100000。按位或、按位非、按位异或的运算方法类似。
2.右移是将一个二进制数按照指定的位数向右移位。移除的数字被丢弃,移入的左边部分要么用0填充(当数字为正时),要么用1填充(当数字为负时)。这是因为整数在机器中是用补码来表示的。正数的符号位是0,负数的符号位是1。例如,对于下面的程序段:
int x=70//x等于二进制数的01000110
int y=2;
Int z=xy //z等于二进制数的00010001,即运算结果是z等于二进制数的0010001,即z等于十进制数17。
对于以下程序段:
int x=-70;//x等于二进制数的11000110
int y=2;
Int z=xy //z等于二进制数的1110110,即运算结果是z等于二进制数的110110,即z等于十进制数-18。为了彻底理解右移位和左移位操作,读者需要掌握整数机器数的补码表示。
3.右移()用0填充,是指无论移动的数字是正还是负,左边移入的部分都会用0填充。
其他运算符
1、赋值运算符与其他运算符的简捷使用方式
赋值运算符可以与二进制算术运算符、逻辑运算符和按位运算符组合成简单运算符,可以简化一些常用表达式的编写。
简单使用赋值运算符和其他运算符
2、方括号[]和圆括号()运算符
方括号[]是数组运算符,方括号[]中的值是数组的下标,整个表达式表示数组中下标位置的元素值。
括号()运算符用于更改表达式中运算符的优先级。
3、字符串加(+)运算符
当操作数是字符串时,用加号()运算符合并两个字符串;当加号()运算符的一边是字符串,另一边是数值时,机器会自动将数值转换成字符串,这在output语句中很常见。对于以下程序段:
int max=100
system . out . println( max= max);电脑屏幕的输出结果是:max=100,即变量max中的整数值100转换成字符串100输出。
4、条件运算符(?:)
条件运算符(?的语法形式是:
表情1?表达式2:表达式3的条件运算符的运算方法是:先计算表达式1的值,当表达式1的值为真时,取表达式2的值作为整个表达式的值;当表达式1的值为假时,将表达式3的值作为整个表达式的值。比如:
int a=1,b=2,max
max=ab?甲:乙;//最大值等于25、强制类型转换符
类型转换可以将表达式的类型转换为指定的数据类型,其语法形式为:
(类型)表达式6、对象运算符instanceof
object instanceof运算符用于测试指定对象是否是指定类(或其子类)的实例,如果是,则返回true,否则返回false。
7、点运算符
点运算符“.”有两个功能:一个是引用类的成员,另一个是指示包的层次级别。
运算符的优先级
Java语言中的所有运算符按以下优先级顺序列出。表格中关联栏的“左和右”表示它们的操作顺序是从左到右,“右和左”表示它们的操作顺序是从右到左。
推荐:java视频教程Java的运算符有哪些?更多详情请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。