Java的基础语法(常量)、进制的转换
一、Java的基础语法
1、常量:①整数常量 ②小数常量 ③字符常量 ④布尔常量 ⑤空常量
字符串常量(由双引号括起来的)
例:"helloworld","奥里给"

②整数常量
例:10,200,300

③小数常量
例:1.2,13.14

④字符常量(用单引号括起来的单个字符)
例:'a','b','0'

⑤布尔常量
例:true,false

⑥空常量
例:null(后面学到面向对象的时候具体讲解)
二、进制(属于整数常量)
1、含义:是一种进位的方式,X进制,逢X进1
2、单位:国际化标准规定,用8个状态表示一个数据,这样数据的单位,称之为字节
3、像10110110表示某一数据,像这样由1和0组成表示的数据,称之为二进制表示法
4、1byte=8bit 1k=1024byte 1M=1024k 1G=1024M 1T=1024G
5、二进制表达数据的形式有点长,需要简化一下,因为用到八进制、十进制、十六进制
6、进制的数据组成
①二进制:由0,1组成,以0b开头
②八进制:由0,1,...,7组成,以0开头
③十进制:由0,1,...,9组成,整数默认是十进制
④十六进制:由0,1,...,9,a,b,c,d,e,f组成,以0x开头

三、进制转换
1、其他进制的数据转为十进制
系数:待转换的每一位数值
基数:待转换进制的单位(二进制的基数就是2,八进制的基数就是8)
幂次:把待转换的数据从右往左开始编号,从0开始编(编号就代表幂次)
转换:每一位上的系数×基数的幂次,然后相加得到是数值
例1:将二进制的100转换为十进制为多少?
100从右向左编号为0,1,2;0,1,2就代表次幂
即:100 = 1×2^2 + 0×2^1 + 0×2^0 = 4 + 0 + 0 =4
例2:将八进制的100转换为十进制为多少?
即:100 = 1×8^2 + 0×8^1 + 0×8^0 = 64 + 0 + 0 =64
例3:将十六进制的100转换为十进制为多少?
即:100 = 1×16^2 + 0×16^1 + 0×16^0 = 256 + 0 + 0 =256
2、将十进制的数转换为其他进制
转换:除基取余,直到商为0,余数反转
例1:将十进制的52转换为二进制为多少?
52÷2=26 .......0
26÷2=13 .......0
13÷2=6 .......1
6÷2=3 .......0
3÷2=1 .......1
1÷2=0 ......1
即:余数反转,二进制为110100
例2:将十进制的52转换为八进制为多少?
52÷8=6 .......4
4÷8=0 ......4
即:余数反转,八进制为44
例3:将十进制的52转换为十六进制为多少?
52÷16=3 .......4
3÷16=0 .......3
即:余数反转,十六进制为34
3、十进制与二进制的快速转换方法(不需要通过计算):8421码
二进制: 1 1 1 1 1 1 1 1
十进制:128 64 32 16 8 4 2 1
例1:二进制转成十进制:二进制的8位数里面,找出1固定位置代表的十进制数值相加
10110110 = 128 + 32 + 16 + 4 + 2 = 182
例2:十进制100转成二进制:
100在128与64之间,128对应的1取不到,二进制第一位为0;
100大于64,64对应的1可以取到,二进制第二位为1;
100减去64等于36,36大于32,因此32对应的1可以取到,二进制第三位为1;
36减去32等于4,4小于16,小于8,所以二进制的第四、五两位为0;
余下的4刚好可以取到4对应的1,所以二进制第六为为1,第七、八为0.
即:十进制100转成二进制为:01100100。
4、任意进制x转换成进制y的转换:
方法1:以十进制为桥梁进行转换
方法2:利用8421码,拆分组合进行转换
(1)方法1:进制x先通过系数×基数的幂次,然后相加,转换为十进制,然后再除基取余,直到商为0,余数 反转,得到进制y
(2)方法2:
例1:将0b10110110转换为八进制(运用3位组合法)
从右往左3位数拆分,到最左边不够3位数,用0补齐,拆分结果为:010 110 110;
选择8421码,第一个组合010在8421码中取2;第二个组合110取4和2,相加等于6;第三个组合取4
和2,相加等于6,将三个组合得到的数值进行组合,所以该八进制为266。
例2:将0b10110110转换为十六进制(运用4位组合法),同理。

浙公网安备 33010602011771号