今天学习了Java的常量和进制
在日常生活中,经常使用数据表示事物的某些特性。比如:性别,日期等等,这些数据都是具体的数值。那么在Java中像这样的数据如何描述呢?像这样数值确定的数据,Java中用常量来描述。
1、常量
常量:程序中固定不变化的值。比如:整数1,2,3,小数3.14,false,true等。
2、常量分类:
1、整数常量。所有整数 三类 正整数 零 负整数
2、小数常量。所有小数
3、布尔(boolean)型常量。较为特有,只有两个数值。true false。
4、字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5、字符串常量。将一个或者多个字符用双引号(“ ”)标识。
6、null常量。只有一个数值就是:null.
3、进制:
日常生活中,经常使用十进制运算数据,但是也接触过七进制、十二进制等。那么怎么把生活中的这些数据存放在计算机中,计算机又是如何表示这些数据呢?
任何数据在计算机中都是以二进制的形式存在的。二进制早起由电信号开关演变而来。用开表示某一个数,用关表示某一个数,然后使用不同的开和关组合起来,就可以表示数据了。
一个整数在内存中一样也是二进制的。
二进制:每一个二进制数位用0,1 ;满2进1。
八进制:每一个八进制数位用0,1,2,3,4,5,6,7 ;满8进1。用0开头表示。
十进制:每一个十进制数位用0,1,2,3,4,5,6,7 ,8,9 ;满10进1。 满10进1。
十六进制:每一个十六进制数位用0,1,2,3,4,5,6,7 ,8,9,A,B,C,D,E,F ;满16进1。 满16进1.。用0x开头表示。
4、进制转换
既然知道计算机中存储的都是二进制数据,那么如何将生活中的十进制数据转换成计算机能够识别的二进制数数据呢?
十进制转二进制
十进制转成二进制--->除以2倒取余数
把一个十进制数转成二进制数,使用短除法,不停的除以2,直到商值为0,停止,然后倒着把余数写出来,这个数就是十进制数转后的二进制数。
二进制数转十进制数
二进制转成十进制--->按2的幂数展开并累加
将一个二进制数转成十进制数,使用按权展开,并求累加和。具体说:对于一个二进制数,从最右侧开始,使用当前二进制数位上的数据乘以 2 的 n-1 次幂 (n 为当前这个二进制数从右侧开始的第几位。 ) ,并这将这些数据展开后加起来求和即可得到相应的十进制数。
5、进制规律
计算机中是以二进制数据的形式表示所有数据,并且在计算机中把8个二进制数位当做一组,并“字节”来表示。即:8bit = 1Byte (八个二进制数位为一个字节)。那么一个字节能表示的数据是多大呢?也就是当八个二进制数位上全部是1时能表达多大一个数据呢?
即当1个字节上全部存放的是1时,这个数据即就是255,0-255之间的任何一个正数都可以在用一个字节表示。
小技巧:
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
对于任意一个十进制数,当要转成二进制时,也可以从上图中的128、64、32、16、8、4、2、1这些数据加起来。当有某一个数时,就说明这个二进制数位上一定存放的是1,若没有这个数,就说明这个二进制数位上一定存放的是0.