Java基础 02
1.命名规范[当然,最好这么写,不这么写也不会报错,看起来费劲]
大驼峰:类名
小驼峰:变量名、方法名、文件名、文件夹名
全部大写:常量名字
2. 常量
1bit=1比特; 1B=1字节=8bit
K=2^10-->1024B ; M=2^20-->1024KB ; G=2^30-->1024MB
【8个最基本类型】--(其他的类型都是在这八种的基础上形成的)
byte-8 bit; short-16bit; int-32bit; long-64bit; float-32bit; double-64bit; char-8/16/32bit(根据编码类型决定); boolean-32bit
float和int精度相比:面对大数据int的精度更高,面对小数据float的精度更高;--> float的有效位是6-7位,所以当数据超出6-7位后,超出位的精度不能保证;而int所损失的最大精度是1,即不能存储保证的小数部分
⭐【int和float的精度问题解释:--(float和int的结构组成)】⭐
[整型]:
short z2=123;
123=0000000001111011 正数-->原码=反码=补码
-123=1000000001111011(原)-->1111111110000100(反)-->1111111110000101(补)-->负数的这种存储模式导致浪费了一位0
[浮点型]:
float --32=1+8+23
x范围-指数: (0-255) y 取值范围-数值:(0-2^23-1)
float=(2^(x-127))*y
double=(2^(x-1023))*y
【由上面可知-->int和float两种常量的精度表示图:】
int的精度:| | | | | | |(精度保持不变,为1)
float的精度:||||||| | | | | |(保存数值过大时,就会变得粗糙)
【总结:int和float的精度哪个更优取决于存储数据的大小:大-->int更优点;小-->float更优】
3.进制表示:
整型:2进制 8进制 16进制-->所以以下表示方式均正确 --且大小均为十进制中的38 :
int y1=0b100110;int y2=0xaf82; int y3=07564;
4.计算机的基础单位是1字节-->8bit(存储地址)
不管是什么类型语言数据,最终都被转成了c语言中的6种类型(int,float,short,char,double,long)-->char本质就是byte,boolean类型本质是C语言中的int类型
5.⭐【进制的互相转换】⭐
1000000...
N进制的情况下,1后面有M个0,-->=N的M次方
234/7=33......3
33/7 =4 .......5
4/7 =0 ......4
所以234的7进制为453
453=3+5*7+4*7*7=234
int z1=20 0000 0000; //超范围计算,不会报错,只是会保留右侧的32bit,多出来的去掉
System.out.println(z1*z1);//会输出一个负数--超范围输出