Java运算符

表达式

        表达式: 所谓的表达式,指的是用运算符连接变量所形成的式子。

运算符

简介

        计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富v的运算符来操纵变量,用于数学运算、逻辑运算、数据处理。

运算符的分类即简单描述

在这里插入图片描述

运算符详解

赋值运算符

        语法:变量名=值;

        具体内容即含义如下表

赋值运算符含义示例
=对变量进行赋值int a=4;int b=2
+=加等于a+=b;//即a=a+b
-=减等于a-=b;//即a=a-b
*=乘等于a*=b;//即a=a*b
/=除等于a/=b;//即a=a/b

        使用示例

		//赋值运算符
		
		int money=1000;
		money = 20;
		System.out.println(money);
		
		String name = "青素";
		System.out.println(name);
		
		int a=4;
		int b=2;
		a+=b;
		System.out.println("此时a的值为:"+a);
		a-=b;
		System.out.println("此时a的值为:"+a);
		a*=b;
		System.out.println("此时a的值为:"+a);
		a/=b;
		System.out.println("此时a的值为:"+a);

算数运算符

        具体内容即含义如下表

算数运算符含义示例
+加法1+1
-减法1-1
*乘法2*3
/除法5/5
%取余15%10
++自增++1
--自减--3

示例

		//算数运算符
		System.out.println(1+1);
		System.out.println(1-1);
		System.out.println(2*3);
		System.out.println(5/5);
		System.out.println(15%10);
		
		//++i 和 i++的区别分析	
		int i=0;
		System.out.println("i++的输出结果为"+(i++)+"\t 此时i的值为"+i);// i++在输出时先进行输出然后进行运算 即先用后加
		System.out.println("++i的输出结果为"+(++i)+"\t 此时i的值为"+i);// ++i在输出时先进行运算然后进行输出 即先加后用
		System.out.println("i--的输出结果为"+(i--)+"\t 此时i的值为"+i);// i--在输出时先进行输出然后进行运算 即先用后加
		System.out.println("--i的输出结果为"+(--i)+"\t 此时i的值为"+i);// --i在输出时先进行运算然后进行输出 即先加后用
		
		//++ 或 -- 放置 位置不用作用发生变化
		//++ -- 在变量后面 先输出 后运算 i++ i--
		//++  -- 在变量前面 先运算 后输出 ++i --i
		

关系运算符

        关系运算符的返回值为boolean型。用于比较变量或数值之间的关系
        具体内容即含义如下表

关系运算符含义示例
>判断是否大于2 >1 //返回真
<判断是否大于2 <1 //返回假
==判断是否等于2==2 //返回真
!=判断是否不等于2!=2 //返回假
>=判断是否大于等于2>=2 //返回真
<=判断是否小于等于2<=1 //返回假

示例

		//关系运算符
		
		//关系运算符  比较运算符
		//> < >= <= == !=
		//结果为真 返回true 结果为假 返回false
		System.out.println(2>1);
		System.out.println(2<1);
		System.out.println(2==2);
		System.out.println(2!=2);
		System.out.println(2>=2);
		System.out.println(2<=1);
		
		//其返回值可以直接赋值给boolean型变量
		boolean b=2!=3;
		System.out.println("\n"+ b);

逻辑运算符

        具体内容即含义如下表

逻辑运算符表达式含义
&&条件1&&条件2(短路与)当两个或多个条件同时为真时结果为真
||条件1||条件2(短路或)只要其中一个条件为真结果为真
!条件(逻辑非)条件为真时,结果为假;条件为假时,结果为真
&条件1&条件2(逻辑与)当两个或多个条件同时为真时结果为真
|条件1|条件2(逻辑或)只要其中一个条件为真结果为真
^条件1|条件2(逻辑异或)同真为假 同假为假 有真有假为真

示例

		//逻辑运算符 && ||  |  & ! ^
		
		//& 逻辑与 全部为真 结果为true  (只要有一个假,结果就是false)
		System.out.println(true&&true);
		System.out.println(true&&false&&false);
		
		System.out.println(true&true);
		System.out.println(true&true&false);
		
		//| 逻辑或  (只要有一个true 其结果就是true)
		System.out.println(false||false);
		System.out.println(true||true||false);
				
		System.out.println(false|false);
		System.out.println(true|true|false);
		
		
		//&&和& 结果分析 区别介绍
		//& 和&& 运算结果是一模一样 
		//&&完成目的之后就会结束后面的逻辑运算 &则需要所有逻辑比较完成后才会给出结果 
		//比如true&&false&&false中 true&&false返回假就不会再同后面的true进行比较
		//因此再实践中我们通常使用 &&和 || 来节约计算资源
		
		//取反 逻辑非
		System.out.println(!true);
		
		//逻辑异或
		System.out.println(true^false);
		System.out.println(true^true);
		System.out.println(false^false);

三目(三元)运算符

        语法:数据类型 变量名= 布尔类型表达式?结果1:结果2
        返回值:布尔类型表达式为真返回结果1为假返回结果2

示例

		System.out.println(5>3?500:600);
		System.out.println(false?500:600);

        一元二元三元解释

        一元运算符:只需要一个操作数就可以进行操作的运算符。例:取反!、自增++

        二元运算符:需要两个操作数才可以进行操作的运算符。例:加法+、赋值=

        三元运算符:需要三个操作数才可以进行操作的运算符。

位运算符(可以使用但是在Java开发规范中一般不使用)

按位或
位运算符含义运算规则
<<左移<< 几位,就乘以 2 的 几次方;二进制补码左移 n 位,右边补 0
>>右移>> 几位,就除以 2 的几次方;二进制补码右移 n 位,左边补0还是1,看最高位
>>>无符号右移二进制补码右移n位,左边补0;对于负数来说,移完后,变为正数
&按位与1 & 1 结果1;1 &0 结果0;0 & 1 结果0;0&0 结果0
|1 |1 结果1;1 |0 结果1;0 | 1 结果1;0|0 结果0
^按位异或1 ^ 1 结果0;1 ^ 0 结果1;0 ^ 1 结果1;0 ^ 0 结果0
~按位取反  ~1 为 0 ; ~0 为 1

Java优先级

运算符的优先级决定了表达式中运算执行的先后顺序。通常优先级由高到低的顺序是:
  
增量和减量运算
算数运算
位运算
关系运算
逻辑运算
赋值运算

具体优先级如下表

优先级描述运算符
1括号()[].
2一元运算符!、+(正)、-(负)~ 、++、--
3乘、除、模*、/、%
4加减+、-
5移位运算<<、>>、>>>
6比较运算<、<=、>、>=、instanceof
7比较是否相等==、!=
8按位与运算&
9按位异或运算^
10按位或运算|
11逻辑与运算&&
12逻辑或运算||
13三元运算符? :
14赋值运算符=、*=、/= 、%=
15复合赋值运算符+=、-=、<<=、>>=
16扩展赋值运算符>>>=、&=、^=、|=

小技巧:在不确定优先级时使用()来确定运算的优先级!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值