一,常量
常量的定义:
常量表示不能改变的数值。
常量的分类:
1,整数常量
2,小数常量
3,布尔型(Boolean)常量,值有两个:true,false。
4,字符常量,
定义:将一个(只能是一个)数字、字母、符号用单引号(‘’)标识
5,字符串常量,
定义:将一个或多个字符用双引号(“”)标识
6,null常量,它只有一个数值:null。
二,在计算机中,整数的四种表现形式
二进制:
用0和1表示的计算机能识别的语言,
正数最高位是0,负数最高位是1.
八进制:
用0,1,2,3,4,5,6,7八个数字表示,用0开头表示,
十进制:
用0,1,2,3,4,5,6,7,8,9十个数字表示,一般数字默认为十进制的
十六进制:
用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个数字表示,以0x开头
三,各进制之间的转换
二进制转换成十进制:
是一个乘以2然后相加的过程,从二进制的地位入手,例如:二进制数1011转换成十进制
1*2(0)+1*2(1)+0*2(2)+1*2(3)=11
简单算法:由低到高,1,2,4,8,16,32,64,123……,1位相加,0位不加
十进制转换成二进制:
是一个除以2并获取余数的过程,然后把余数从后往前(从下往上)写下,即为二进制的数值
十进制转换成八或十六进制:
先二后八, 或 先二后十六
四,变量
定义:内存中的一个存储空间。
定义变量的三要素:名字,类型,值。
好处:可以重复作用
什么时候用?
当一个值不确定的时候
五.基本数据类型
Byte(字节型):取值范围 -2(7)——-2(7)-1 即-128——+127。(一个字节,八个二进制位)
Short(短整型):取值范围 -2(15)——-2(15)-1 (两个字节,16个二进制位)
Int(整形):取值范围-2(32)——-2(32)-1 (四个字节,32个二进制位)
Long(长整形):取值范围-2(64)——-2(64)-1 (八个字节,64个二进制位)
取值范围巧记:一两饭,二两饭,四两饭,八两饭(一两的碗只能盛一两的米,四两的碗可以盛 一两的米)
Char(字符型):任何字符都占两个字节。
整数默认为int型,小数默认为double型。所以:
Long和float需分别用L,f 标识(例如: long x=23434L; float y= 3.32f )
六,自动类型提升
1,所有的byte型、short型和char的值将被提升到int型
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
强制类型转换
byte b = 3;
b = b+ 4;//报错
b = (byte)(b+4);//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
七,%(模 取余):例子:4%5=4 5%4=1 -4%5=-4 4%-5=4 -5%4=-5 5%-4=1
X%2(模与2的应用)是%模的最常见应用;
八,赋值运算符
=(等号):把有边赋给左边
+=(加等):把左边和右边的和赋给左边 (强转)
Short s = 4 ;
s=s+5; //编译错误,二两的碗不能放四两的米
s+=5 ; //成功,因为“+=”有强转功能,s+=5 相当于 s=(short) (s+5)
九,逻辑运算符
&:两边的布尔表达式的结果,只要有一个位false,结果为false,只有两边同时位truth,结果为true。
&在二进制中的运算:1为真,0为假。 例如:110 & 101 = 100.
| :两边只要有以个true,结果肯定是true,只有两边都为false结果是false。
^(异或) :两边相同就为false,两边不同就位true。
&和&&(短路与)区别:
&:两边都运算
&&:如果左边为false,右边不运算。
| 和 | | (短路或)区别:
| :两边都运算
|| :当左边位true,右边不运算
十,位运算符
<
左移提高运算效率。(2的倍数的运算)
>>(右移):就是将其二进制值向右移动,最高位是什么,空位就补什么, 算法:被移数除以2的x(移动位数)次幂。
>>>(无符号右移):无论高位是什么,右移出的空位都补0.
取二进制中的数据时比较常用。
例如:60 & 15 取60二进制的后四位,得:12.
60>>>4=3 3&15 取3二进制的后四位,得: 3 。
&: | :
^ (异或):一个数异或同一个数两次,结果还是该数。(加密--解密)6^3^3=6
~ (反码):例子:~6+1=-6 负数的二进制表现形式等于其正数取反加1.
三元运算符:
格式:结果=(条件表达式)?表达式1:表达式2;