Java运算符使用、单目、二目运算符、逻辑运算符等

前言:

     Java提供了丰富的运算符,例如算术运算符、关系运算符、逻辑运算符、位运算符等;

     其中又分有单目运算符二目运算符

一、单目运算符:只对单独一个操作元(变量)进行操作;

-------- 其中自增、自减运算符++、--就是典型的单目运算符;

自增、自减运算符的使用特点:

1、他们在使用时可以放在操作元之前,也可以放在操作元之后,不过所蕴含的意义是不一样的;

        --- 当放在操作元之前,如 ++x ; (--x ;) 代表在使用 x 之前,先使 x 的值加 1(减1);以下代码进行演示:

public static void main(String[] args) {
		int x = 1;
		++x;
		System.out.println(x);  //输出x为2
		--x;
		System.out.println(x);  //输出x为1
	        int y = 10;
		System.out.println(y);  //输出y为10
		y = ++x;                //x是先进行加1操作,再将值赋给y;
		System.out.println(y);  //输出y为2
		System.out.println(x);  //输出x为2
	}

        --- 当放在操作元之后,如 x++ ; (x-- ;) 代表在使用 x 之后,再使 x 的值加 1(减1);以下代码进行演示:

public static void main(String[] args) {
		int x = 1;
		x++;
		System.out.println(x);  //输出x为2
		x--;
		System.out.println(x);  //输出x为1
		int y = 10;
		System.out.println(y);  //输出y为10
		y = x++;                //x是先将值赋给y之后,才进行加1操作的;
		System.out.println(y);  //输出y为1
		System.out.println(x);  //输出x为2
	}

2、操作元必须是一个整数类型或者浮点类型的变量,作用都是使变量的值加1或者减1;

二、二目运算符:同时对两个操作元(变量)进行操作;

-------- 二目运算符有:

加减运算符 +,-
乘除运算符 *,/
求余运算符 %
关系运算符 > , < , >= , <= , == , !=
赋值运算符 =

其中需要注意的是:逻辑运算符 && , || , ! 

逻辑运算符中的 && 与 || 是二目运算符 ;

逻辑运算符中的 是单目运算符 ;

算术运算符包括:加减运算符、乘除运算符、求余运算符 ;

加减运算符:+,- ;

1、结合计算的顺序是从左到右的;例如:15+5-5 ; 是先计算15+5,在将20进行减5,最后结果为15;

2、加减运算符的操作元是整数类型或者浮点类型的数据;

3、加减运算符的优先级为4级;

乘除运算符:*,/ ;

1、结合计算的顺序是从左到右的;例如:2*8/4 ; 是先计算2*8,在将16进行除4,最后结果为4;

2、乘除运算符的操作元是整数类型或者浮点类型的数据;

3、乘除运算符的优先级为3级;

求余运算符:%;

1、结合计算的顺序是从左到右的;例如:2*8%2 ; 是先计算2*8,在将16进行求余2,最后结果为0;

2、求余运算符的操作元是整数类型或者浮点类型的数据;

3、求余运算符的优先级为3级;

算术表达式指:用算术运算符和括号连接起来的 符合Java语法规则的式子;

如:x+2*y+10+5*(z+20) ;

关系运算符: > , < , >= , <= , == , != ; (大于、小于、大于等于、小于等于、等于、不等于)

1、关系运算符的运算结果是boolean类型的,不是true,就是false,当运算符对应的关系成立时,则为true,否则为false;

如:  5>10 ; 关系不成立,结果为false ; 5>1 ; 关系成立,结果为true ;

2、关系运算符中,大小关系运算:> , < , >= , <= 的优先级为6 ;

3、关系运算符中,相等关系运算:== , != 的优先级为7 ;

4、结合计算的顺序是从左到右的;

关系表达式指:结果为数值型的变量(x+y)或表达式(4+5)通过关系运算符形成的关系表达式;

如 x+y>4+5 ;

赋值运算符: = ;

1、对于赋值运算符,右边的操作元必须是变量,不能是常量或者表达式;

如:x = 10 ; y = 11 ; 正确, 不能是 10 = x ;11 = y;

2、赋值运算符的优先级为14级;

3、结合计算的顺序是从右到左的;

4、赋值运算符不能跟关系运算符中的 == 等号关系运算符混淆;如 12 = 12 ; 这是错误的;

逻辑运算符:&& , || , ! ; (逻辑与、逻辑或、逻辑非)

 1、逻辑与 (&& )优先级为11,当运算符左右两边的表达式都为真时,整个表达式的值才为真;

如:if( top1>0 && top2>5 )  当 top1>0 为真  ,  top2>5 为真 时 ,则if中表达式的值才为真;

扩展:if( top1>10 && top2<50 )  当 top1>10 为假时  , 则不继续判断 top2<50 ,默认表达式为假 ;以下代码进行演示:

int top1 = 1 , top2 = 2;
if(top1>10 && top2<50){
    System.out.println(top1);  //逻辑表达式为真则输出top1
}else{
    System.out.println(top2);  //逻辑表达式为假则输出top2
}

2、逻辑或 ( || )优先级为12,对于运算符左右两边的表达式,当其中一边的表达式为真时,整个表达式的值也为真;

如:if ( top1>10 || top2>15 )  当 top1>10 为假  ,  则继续对 top2>15 进行判断 ,当top2>15为真,则整个表达式的值为真;

扩展:if ( top1>10 || top2>50 )  当 top1>10 为真时  , 则不继续判断 top1>50 ,默认表达式为真 ;以下代码进行演示:

int top1 = 100 , top2 = 20;
if(top1>10 || top2>50){
    System.out.println(top1);  //逻辑表达式为真则输出top1
}else{
    System.out.println(top2);  //逻辑表达式为假则输出top2
}

3、逻辑非( ! )优先级为2 ,将逻辑表达式的值变成相反的值;

以下代码进行演示:top1>10 为真,使用逻辑非之后 !(top1>10) 则为假,最后结果输出 20 ;

int top1 = 100 , top2 = 20;
if( !(top1>10) ){
    System.out.println(top1);  //逻辑表达式为真则输出top1
}else{
    System.out.println(top2);  //逻辑表达式为假则输出top2
}
发布了26 篇原创文章 · 获赞 7 · 访问量 3058

猜你喜欢

转载自blog.csdn.net/LagerSwan/article/details/104080208