Java学习笔记2——数据类型和转换

时间:2022-03-26 10:19:32

前提知识:

1字节=8bit;1bit以一个二极管表示,代表2个状态(0或者1);2bit代表22即4种状态(00,01,10,11),8bit即是28即256种状态,16bit即是65536种状态。

数值范围:1bit=0~1;2bit=-2~0~1;8bit=-128~0~127;16bit=-32768~0~32767。其中2,4,256,65536是总容量,1,128,32767是实际最大容量。

程序员直接输入数值都是整型(int)。

题外知识:

微软计算器:运行->calc。

+既可以是加号,也可以是字符串连接符,具体看使用场景。

转义字符:\\ 反斜杠    \' 单引号    \" 双引号    \n 换行    \f 换页    \b 倒退一格    \r 归位    \t 字符表tab

类型分类:

数据类型分为基本和引用两类。基本分为数值,字符(char)和布尔(boolean)值三种;引用又分为类(class),接口(interface),数组([]),枚举(enum)和注解(@interface)五种;数值有整数(byte,short,int,long)型和浮点(flaot,double)型。 ps. 字符串(String)是引用类型,也可以用作数组(String)。

占用内存:

整数型数值有四种:byte占1字节;short占2字节;int占4字节;long占8字节。ex. 1,2,56...

浮点型数值有两种:float(单精度)占4字节;double(双精度)占8字节。ex. 1.3,2.5......

字符:char占2字节。ex. a,b,l,5,95...

布尔:boolean占1bit。布尔值只代表一种状态(如:true or false,即0或1)所以只占1bit。

输入方式:

int,short,byte型直接输入

输入大类型(long)和浮点数时最好在数值后面加上L,F,B。ex. long=800 实际上输入的800是int型,到long型会有一个转换过程,会占用资源,如果直接输入 long=800L 那么计算机就会直接识别为long型,会减少资源的消耗。要培养优化思想。

运算方式:

小数之间不能直接运算,会丢失精度 ex. 0.7-0.2=0.499...94 。解决方式:放大至整数运算;Java类。

天文数字(超过最大容量)不能直接运算,会越界,出现错误。解决方式:Java类。

byte型在数值等于127的时候,+1的结果不是128而是-128,因为越界了,其他的类似。

转换方式:

自动转换:数据类型从小到大提升,整型向浮点型转换,只要还在范围之内就没有丢失精度,Java会自动转换。

强制转换:由大类型转换为小类型和由浮点型转换为整数型的方法是在数值前面加上(目标类型) ex. int n = (int) 4.5 输出为 n=4;char和boolean不能转换为其他类型。强制转换会丢失精度。