常量与进制
常量:在java程序运行过程中,其值不能够发生改变的量
分类:
字面值常量:
字符串常量:被双引号括起来的字符序列 "java"
字符常量:被单引号括起来的单个字符 'a'
整数常量:所有的整数 100 200 -100
小数常量:所有的小数 1.23 3.14 -1.23
布尔常量:true false
空常量:null []
自定义常量:Student s1 = new Student; s1就是自定义常量
java针对整数常量,提供了4种表现形式
二进制:由0,1构成,逢2进1,由0b开头
八进制:由0,1,2,3,4,5,6,7构成,逢8进1,由0开头
十进制:由0,1,2,3,4,5,6,7,8,9构成,逢10进1,java中整数默认是十进制的
十六进制:由0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f构成,逢16进1,由0x开头
进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
进制之间的转换:
1、其他进制转十进制?
(十进制)12345 -> (十进制)12345
12345 = 10000 + 2000 + 300 + 40 + 5
= 110^4 + 210^3 + 310^2 + 410^1 + 510^0
= 10000 + 2000 + 300 + 40 + 5
= 12345
规律:系数原进制的指数次幂的和
(二进制)100 -> (十进制)4
100 = 12^2 + 02^1 + 02^0
= 4
十六进制转十进制的方法是:把十六进制数按位权展开后相加。
例如,将十六进制数2A转换为十进制:
十六进制中A代表10,则B代表11....
216+101=42
2、十进制转其他进制?
规律:除基取余数,知道商为0,余数反转
(十进制)64 -> (八进制)
64/8=8....0
8/8=1.....0
1/8=0.....1
余数反转:0100
3、十进制与二进制之间的快速转换 8421码
(二进制)10100 -> 12^4 + 1*2^2 = 20(十进制)
一个字节:8位
1byte = 8bit
1kb = 1024byte
1mb = 1024kb
1gb = 1024mb
1tb = 1024gb
1pb = 1024tb
(二进制)1 1 1 1 1 1 1 1
(十进制)128 64 32 16 8 4 2 1
4、其他进制与其他进制(举例:二进制->八进制)
做法1:先转10进制,再转八进制
做法2:从右向左,每3位一组合,最左边的够,用0补齐,算每一组合的进制结果,拼接
10100(二进制) => 20(十进制) => 24(八进制)
注意:
1、默认情况下,idea输出的结果是转化成十进制的结果
2、学习进制的目的是为了学习二进制与十进制的关系,因为2进制是计算机的语言,而10进制是我们人类的语言

浙公网安备 33010602011771号