1、java的整型(int)最高位为符号位
2、长整型 后缀L 4000000000000000L
十六进制 前缀0x 0xCAFE
八进制 前缀0
二进制 前缀0b
3、float 4字节 有效位数6-7位
double 8字节 有效位数15位
3.14f float型 3.14double型
4、\b 退格 \t 制表
\n 换行 \r 回车
\" 双引号 \'单引号
\\ 反斜杠
5、关系运算符 && || !
位运算符 &(与) |(或) ^(异或) ~(非)
以上是两种完全不同的运算符
6、移位运算符
左移运算符 << 将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补0。其实,向左移n 位,就相当于乘上2 的n 次方
右移运算符 >>> 是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0,其实右移n 位,就相当于除上2 的n 次方
带符号的右移运算符 >> 是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1
没有<<
7、java中负数的表示方法(java中的负数的二进制都是用补码的形式表示)
计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码, 补码=反码+1
最高位为符号位,最高位为 1 代表负数,最高位为 0 代表正数
那么根据十进制的数字,我们如何将负数(-16)转换为二进制呢?
以负数-16为例:
1.先将-16的绝对值转换成二进制,即为0001 0000;
2.然后求该二进制的反码,即为 1110 1111;
3.最后将反码加1,即为:1111 0000
以-16>>2为例讲解带符号的右移运算符:
1、-16的二进制表示(补码):1111 0000
2、带符号的右移2位:1111 1100 (若为负数,则在高位补1)
3、将补码1111 1100转换成反码:1111 1011(最低位-1)
4、将反码1111 1011转换成原码:0000 0100
5、将原码转换成10进制:4
6、由于是负数,加上符号:-4
8、Math函数
(1)在java中没有冥函数,Math.pow(a, b)表示冥函数
9、强制类型转换
(byte)300 先将300转换成二进制1 0010 1100,然后取后8位,即为0010 1100,再转换成十进制:44,即int i=(byte)300,则i=44
(byte)-300 则为-44
10、枚举类型
enum Size{SMALL,MEDIUM,LARGE};
Size s=Size.MEDIUM;
Size类型的变量只能存储这个类型申明中给定的某个枚举值,或者为null
11、String
(1)不能用==判断两个字符串是否相等,他只能判断两个字符串是否在同一个位置,判断是否相等用equals()
(2)String类型的字符串有空串(“”)和null两种值,两个不是同种情况,所以有时候需要同时判断:str.length()!=0&&str!=null 才能保证str是有值的
12、大数值
BigInteger;实现任意精度的整数运算
BigDecimal:实现任意精度的浮点数运算
BigInteger a=BigInteger.valueOf(100),将一个int类型数据转换成BigInteger类型
注意:不能使用算术运算符(+,-,*,/)处理大数值,必须使用大数值类中的add()和multiply()等方法