//
注
: 在一个JAVA文件中,可以有多个类,但是,public公开的类只能有一个,而且公开的类要与文件名保 持一致。
一、运算符的具体分类及用法
1.算术运算符( + 加 、- 减 、* 乘 、/ 除 、% 模运算)
注意:‘ + ’可表示连接符号。
‘ % ’在java中( 浮点型 )有三个固定值: (整数/0) 正无穷大(POSITIVE_INFINITY)
(负数/0) 负无穷大(NEGATIVRE_INF INITY), (非数)NaN
% 模运算的结果符号,跟左边的第一个操作数相关
例如:a=b+c; c=d*a; a= a-c; a=b/f;
2.赋值运算符以及扩展赋值运算符(=、+=、-=、*=、-=、%=、&=、|=、^=、~ = ......)
例如:int a =10; a+=20; --> a=a+20;-->a=30;
3.关系运算符(>、>=、<、<=、==、!=)
关系运算符的结果是boolean 类型 即 true、false
4.逻辑运算符(&&,&,||,|,!,^)
// 逻辑与 ( & ) 操作符 左边和右边都为真,才为真。
// 短路与( && )如果短路与&& 发现左边的表达式 为假,不再计算第二个。
// 逻辑或( | ) 是指 两个条件中,只要有一个为真,那么结果为真。
// 只要左边的表达式为真, 那么即可以证明整个表达式为真,所以不再计算右边的表达式。
// 异或( ^ )着眼于 异字,只要是异(不同的), 那么代表结果为真。
// 非 ( !) 取反 例如:(!true)其值为false
难点: 容易把几种情况记混,弄不清楚几种的规则。要牢记各个符号所代表的意思。
5.位运算(&,|,^,~,)
// 按位异或 ^ 一个操作数A ,对同一个一个操作数B 连续异或两次,可以得到原本的操作数A。
// 计算机中用补码 存储数据, 因为正数的补码 和 原码是一样的,但是负数的 补码 和 原码是不一样 的, 所以我们遇到负数,要转换对6取反之后,获取到的数据,最高位 是1, 代表是负数。
负数是 补码存储, 因此要求出原码,
反码 = 补码 -1
原码 = 对反码 再取反 (过程中注意 最高位是符号位,不要取反)
最后再将原码 转换为 十进制,即可。
位运算就是二进制的按照位来进行运算。
位运算符 &(按位与), |, ^, ~, << >> >>>
6.单目运算符(++、--、)
++a代表是先自增,在赋值。 a-- 是先赋值,后自增
7.进制的转换,四种形式的进制表示方式
int a = 10; ( 默认就是十进制 )
int b = 010;( 前缀0.八进制 )
int c = 0x10; ( 前缀0x, 十六进制 )
一、运算符的具体分类及用法
1.算术运算符( + 加 、- 减 、* 乘 、/ 除 、% 模运算)
注意:‘ + ’可表示连接符号。
‘ % ’在java中( 浮点型 )有三个固定值: (整数/0) 正无穷大(POSITIVE_INFINITY)
(负数/0) 负无穷大(NEGATIVRE_INF INITY), (非数)NaN
% 模运算的结果符号,跟左边的第一个操作数相关
例如:a=b+c; c=d*a; a= a-c; a=b/f;
2.赋值运算符以及扩展赋值运算符(=、+=、-=、*=、-=、%=、&=、|=、^=、~ = ......)
例如:int a =10; a+=20; --> a=a+20;-->a=30;
3.关系运算符(>、>=、<、<=、==、!=)
关系运算符的结果是boolean 类型 即 true、false
4.逻辑运算符(&&,&,||,|,!,^)
// 逻辑与 ( & ) 操作符 左边和右边都为真,才为真。
// 短路与( && )如果短路与&& 发现左边的表达式 为假,不再计算第二个。
// 逻辑或( | ) 是指 两个条件中,只要有一个为真,那么结果为真。
// 只要左边的表达式为真, 那么即可以证明整个表达式为真,所以不再计算右边的表达式。
// 异或( ^ )着眼于 异字,只要是异(不同的), 那么代表结果为真。
// 非 ( !) 取反 例如:(!true)其值为false
难点: 容易把几种情况记混,弄不清楚几种的规则。要牢记各个符号所代表的意思。
5.位运算(&,|,^,~,)
// 按位异或 ^ 一个操作数A ,对同一个一个操作数B 连续异或两次,可以得到原本的操作数A。
// 计算机中用补码 存储数据, 因为正数的补码 和 原码是一样的,但是负数的 补码 和 原码是不一样 的, 所以我们遇到负数,要转换对6取反之后,获取到的数据,最高位 是1, 代表是负数。
负数是 补码存储, 因此要求出原码,
反码 = 补码 -1
原码 = 对反码 再取反 (过程中注意 最高位是符号位,不要取反)
最后再将原码 转换为 十进制,即可。
位运算就是二进制的按照位来进行运算。
位运算符 &(按位与), |, ^, ~, << >> >>>
6.单目运算符(++、--、)
++a代表是先自增,在赋值。 a-- 是先赋值,后自增
7.进制的转换,四种形式的进制表示方式
int a = 10; ( 默认就是十进制 )
int b = 010;( 前缀0.八进制 )
int c = 0x10; ( 前缀0x, 十六进制 )
int d = 0b10; ( 前缀0b,二进制 )
8.运算的优先级问题
优先级从高到低的
1.分隔符(; (),{}) 小括号的优先级最高
2.单目运算符 ++ -- ~ !
3.强制类型转换符 type a =(type)b byte a = (byte)128;
4.乘法,除法,模运算%
5.加法 和 减法运算
6.位运算的 移位运算 << >> >>>
7.关系运算符的 比较运算符 > >= < <=
8.关系运算符的等价符 == 和 !=
9.位运算的按位与 &
10.位运算的按位异或 ^
11.位运算的 按位或
12.短路与 &&
13.短路或 ||
14. 三目运算符
15.赋值运算符
注意:牢记运算符的先后顺序,在计算中记不住先后顺序,那么计算出来的结果就是错误的
9.三目运算符
跟结果是一个类型的数据 = 表达式 ?成立就是这个结果 :否则就是这个结果;表达式 最终的结果 是一个boolean 类型的,表达式的类型也必须一样。