Java笔记名晨总结02-Java 运算符

Notepad++的编码修改为 ANSI编码(中文)
变量注意事项
作用域(有效范围):定义在哪个大括号内,就在哪个大括号内有效。不能同名在同一 个作用域里面。
在使用之前初始化
一行可以定义多个变量,两种写法
一行多条语句
一行一条语句
常量
在运行期间一直不会改变的量成为常量!一、字面值常量,二、自定义常量
怎么自定义常量(一般常量名称都全部大写)
final 数据类型 常量名称 = 值。
定义long或者float类型的时候要加上l(L)和f(F)
定义byte或者short的时候要保证给的值在类型的范围内
char是否可以存储汉字
可以的,因为char占有两个字节,每个汉字也是占用两个字节的
运算符
赋值运算符
= += -= *= /= %=

a = 3;a = a + b;
x = y = z = 7;//不建议
a x= b; ======> a = a x b; x代表 + - * / %

算术运算符(可以对常量和变量进行操作)
规则: 操作数1 运算符 操作数2 int b = a + c;
+
可以对整数和浮点数做加法操作

可以对整数和浮点数做减法操作
*
可以对整数和浮点数做乘法操作
/
可以对整数和浮点数做除法操作
(两个整数相除得到的还是整数 = 略去小数部分)
如果想要得到小数,需要将其中一个转成浮点数
%
可以对整数和浮点数做求余操作
特殊一:
使用浮点数做运算的时候的不精确性
5.3-4.2
0.08f + 0.01f
6.9*7
7.6%2.0
原因:double 和 float两个类型在java中本身就是非精确存储的,再用两个近 似值去做计算,得到的结果就只能是一个近似值了。
特殊二:
可以使用+对字符串进行组拼,任何类型和字符串相加都会把数据转成字符串,再 进行组拼
a+b+”Hello”
“Hello”+a+b
特殊三:
使用字符做算术运算的时候,会自动把字符转换成对应的数字,然后进行数学运算

自增和自减运算符
++
两种用法:放在前面或者放在后面

两种用法:放在前面或者放在后面

比较运算符
结果为boolean类型(true/false)
<
<=

=
==
!=
注意区分 == 和 =
System.out.println(a==b); System.out.println(a=b);

逻辑运算符(两边的操作数必须是boolean类型的)
规则: 操作数1 运算符 操作数2
&& (短路 与)
|| (短路 或)
&
|
^ 异或
!非(取反)
与:两边同时满足条件的时候为true(其他情况为false)
或:两边只要满足一个条件结果为true(其他情况为false)
异或:两边结果不一样的时候结果为true(其他情况为false)

短路和不短路的区别
当可以通过操作数1判断出来结果的时候,是否运算操作数2(短路表示不运算操 作数2)

注意:
1<x<9 1<x && x<9

位运算符
计算机是二进制的,所有的数据使用二进制来存储。对于每个二进制来说都有原码、反码和补码。计算机存储数据的时候,使用第一位表示数字的正负,0代表正数,1代表负数。计算机存储正数的时候直接存储正数的原码,存储负数的时候存储负数的补码。(为什么存储补码,而不是原码,这个是为了方便进行数学运算,具体不解释了)
正数:原码、反码和补码相同。
负数:
原码(符号位为1)
反码(符号位不变,其余位数取反)
补码(反码+1)

只针对二进制来说的,所以在进行运算之前会转换成二进制,再运算。
& 按位与:对应位都是1才是1
| 按位或:对应位有一个1,就是1
~ 按位取反:1变0,0变1
^ 按位异或:对应位不一样才是1
<< 左移(高位抛弃,低位补0)

右移(高位按照符号位补齐,低位抛弃)

无符号右移(忽略符号位,高位补0,低位抛弃)

三元运算符
?:
规则: 布尔表达式?表达式1:表达式2
如果布尔表达式的结果为true,返回表达式1的结果
如果布尔表达式的结果为false,返回表达式2的结果
案例:
取最大值(两个整数和三个整数)

运算符优先级
默认优先级
通过()控制优先级

数据类型转换
隐式类型转换
小类型到大类型会自动转换:byte->short,char->int->long->float->double
虽然float比long小,但是因为存储方法不一样导致float里面可以存储的数据 范围比 long要大(浮点型来说,有一部分是用来表示有效位数的,有一部分是 用来表示多少次方。)
使用情况:
1、赋值语句
2、算术表达式中
显式类型转换(也叫做强制类型转换)
把一个大类型赋值给小类型,需要进行前置类型转换
int i = (int)3.3;
long j = (long)3.4f;
int c = ‘a’;//隐式转换

如果喜欢名晨的笔记就来个小心心,加个关注吧~

猜你喜欢

转载自blog.csdn.net/qq_33961136/article/details/108563605