首先说明一个问题:计算机所有的东西都是由0 1组成的,但是计算机的最小单位是字节,字节是由8位组成的、如果用位的话可操作性太低,所以计算机的最小单位是 字节。
程序运行时会将一部分数据提前存入内存。
数据类型:程序的数据需要存储在内存中、在存储范围内,需要选择合适的大小来存储,这就需要给他划分种类合适的大小。
在Java中普通的赋值是 常量值
数据类型:
1.整数型(必须转成10进制使用):没有小数
byte(不是用来存储数值得):万能型,因为计算机中的最小单位是字节,而byte正是字节型,万能的原因是因为它够底层,只好申请的够多他能存储任何文件,照片,视频、文件等等,网络传播的最小单位也是字节。
short(数值存储为目的:转换10进制,存文件会有数据损坏),没卵用型,作用增大存储范围 (2个字节,16位)
int(数值存储为目的:转换10进制,存文件会有数据损坏)(4字节 32位)
long(数值存储为目的:转换10进制,存文件会有数据损坏)(8个字节 64位)范围 算 程序员算计 字节8位 ,字16位 , 双字32位, 四字 64位。高位为0正 1负数 高位:最高位第一个
0000 0000正数(0) 1111 1111负数(-1)范围结果 负数比正数大1 因为正数从0开始。
2.浮点型:小数型(最好只是寄存数字,不要进行运算因为小数运算会存在误差 )
public class T1 {//这里是小数为啥不能运算得实验说明
public static void main(String []args){
double a=0.1;
for(int i=0;i<10;i++){
a+=0.01;
}
System.out.println(a);//不要忘记将值输出
}
}
public class T1 {//这里是小数运算出错的解决方法
public static void main(String []args){
double a=0.1*100;
for(int i=0;i<10;i++){
a+=0.01*100;//乘100是因为这里乘100才能变成整数
}
System.out.println(a/100);//这里将整数转换成小数
}
}
1.float(32位) 保留后6位小数
2.double(64位)保留后15位小数
3.字符型
C语言char是一个字节,他可以显示ASCLL中的所有符号,但是中文就比较麻烦,中文需要两个字节,一个字节的描述编码有点小,所以Java为了摆脱这种状况,就将char做成2个字节16位这样基本可以容纳所有语言。
char:用来存储文字,Java中用的是unciode文字处理集。
public class T1 {//这里是unciode说明
public static void main(String []args){
for(int i=12352;i<=12447;i++){
System.out.print((char)i);//日文片甲名
}
}
}
4.布尔型 是比较奢侈的数据类型: 他只存储两位,(0 , 1)false(1,假)true(0,真)