Java基础笔记_2_运算符

这篇博客详细介绍了Java中的运算符,包括运算符的分类、优先级、算数运算符、赋值和扩展运算符、关系运算符、逻辑运算符、位运算符以及条件运算符。对于每种运算符,都给出了具体的使用规则和示例。
摘要由CSDN通过智能技术生成

目录

一 运算符分类

二 运算符的优先级

三 算数运算符

四 赋值和扩展运算符

五 关系运算符

六 逻辑运算符

七 位运算符

八 条件运算符


一 运算符分类

算术运算符二元运算符+,-,*,/,%
一元运算符++,--
赋值运算符=
扩展运算符+=,-=,*=,/=
关系运算符>,<,>=,<=,==,!=  instanceof
逻辑运算符&&,||,!,^
位运算符&,|,^,~ , >>,<<,>>>
条件运算符? :
字符串连接符+

二 运算符的优先级

优先级运算符结合性
1()、[]、{}从左向右
2!、+、-、~、++、--从右向左
3*、/、%从左向右
4+、-从左向右
5«、»、>>>从左向右
6<、<=、>、>=、instanceof从左向右
7==、!=从左向右
8&从左向右
9^从左向右
10|从左向右
11&&从左向右
12||从左向右
13?:从右向左
14=、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>=从右向左

三 算数运算符

运 算 符名 称说 明例 子
+

求 a 加 b 的和

还可用于 String 类型,进行字符串连接操作

a + b
-求 a 减 b 的差a - b
*求 a 乘以 b 的积a * b
求 a 除以 b 的商a / b
%取余求 a 除以 b 的余数 a % b
取反符号取反运算b=-a
++自加一先取值再加一,或先加一再取值a++ 或 ++a
--自减一先取值再减一,或先减一再取值a-- 或 --a

整数运算:

  1. 如果两个操作数有一个为Long, 则结果也为long。

  2. 没有long时,结果为int。即使操作数全为short,byte,结果也是int。

浮点运算:

  3. 如果两个操作数有一个为double,则结果为double。

  4. 只有两个操作数都是float,则结果才为float。

int x=4;
int y=3;
float z1 = x/y;
System.out.println("z1="+z1); //输出:1.0

float z2 = (float) x/y;
float z3 = x/(float) y;
float z4 = (float) x/(float) y;
System.out.println("z2="+z2); //输出:1.3333334
System.out.println("z3="+z3); //输出:1.3333334
System.out.println("z4="+z4); //输出:1.3333334

int x1 = 3;
int x2 = x1++;   //先给x2赋值,x1再自增
System.out.println("x1="+x1); // 输出4
System.out.println("x2="+x2); // 输出3
int y1 = 3;
int y2 = ++y1;   //y1先自增,再给y2赋值
System.out.println("y1="+y1); // 输出4
System.out.println("y2="+y2); // 输出4

四 赋值和扩展运算符

运算符用法举例等效的表达式
+=a += ba = a+b
-=a -= ba = a-b
*=a *= ba = a*b
/=a /= ba = a/b
%=a %= ba = a%b

五 关系运算符

运算符含义示例
==等于a==b
!=不等于a!=b
>大于a>b
<小于a<b
>=大于或等于a>=b
<=小于或等于a<=b

==、!= 是所有(基本和引用)数据类型都可以使用
> 、>=、 <、 <= 仅针对数值类型(byte/short/int/long,float/double)以及char

六 逻辑运算符

运算符说明
逻辑与&( 与)两个操作数为true,结果才是true,否则是false
逻辑或|(或)两个操作数有一个是true,结果就是true
短路与&&( 与)只要有一个为false,则直接返回false
短路或||(或)只要有一个为true, 则直接返回true
逻辑非!(非)取反:!false为true,!true为false
逻辑异或^(异或)相同为false,不同为true
boolean a = 1>2 && 2>(3/0);
System.out.println(a); 
//1>2的结果为false,那么整个表达式的结果即为false,将不再计算2>(3/0)

 boolean b = 1>2 & 2>(3/0);
System.out.println(b); 
//1>2的结果为false,但还要计算2>(3/0),因为0不能做除数,所以会输出异常信息

七 位运算符

Java 定义的位运算直接对整数类型的位进行操作,这些整数类型包括byte,short,int,long和char

位运算符主要用来对操作数二进制的位进行运算。按位运算表示按每个二进制位(bit)进行计算,其操作数和运算结果都是整型值

详见:http://c.biancheng.net/view/784.html

八 条件运算符

result = <expression> ? <statement1> : <statement3>;
// expression 是一个布尔表达式
// 当 expression 为真时,执行 statement1, 否则就执行 statement3


int x,y,z;
x = 6;
y = 2;
z = x>y ? x-y : x+y;
System.out.println(z);
// 输出4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值