数据类型,变量

不管任何东西在计算机存储都是数字,数据都是数字的形式存储的,而数字转成二进制由内存中和处理器交互。


而内存是有大小的,选择合适的类型可以避免不必要的内存浪费。


整数型(规定必须转成10进制使用)

int(32位,四个字节 )

long(64位,八个字节)

byte   万能型数据类型 一个字节 8位 网络传输的最小单位也是一个字节,计算机的所有文件都能进行存储,是计算机中最小的单位。

short  两个字节16位,因为有正负级计算,在二进制的最高位,0表示正数,1表示负数


字符型:英文用的是 ASCII - 0~127  128个符号 用的是一个字节,而中文要用的是2个字节


char(16位,两个字节) 没有负数寄存,java中文字处理是 unicode 编码


布尔型:boolean(8位,一个字节) 0  false,1  true,实际上存储 只耗去了一位 存储的是逻辑值,true false  真与假。


浮点型(小数):小数类型今后计算的时候不精确,放大成整数再计算,float(32位,4个字节) 后保留 6位小数,double(64位,8个字节) 后保留 15位小数


public class T5{
    public static void main(String args[]){
        System.out.println(0.05+0.01);
        System.out.println(1.0-0.42);
        System.out.println(123.3/100);
    }
};
结果:
0.060000000000000005
0.5800000000000001
1.2329999999999999

解决办法:


public class T5{
    public static void main(String args[]){
    System.out.println(((0.05*100)+(0.01*100))/100);
        System.out.println(((1.0*100)-(0.42*100))/100);
        System.out.println(((123.3*10)/(100*10))/10);
    }
};
0.06
0.58
0.1233

常用的数据类型:整数 int  ,小数  double ,字符 char , 字符串 String ,逻辑值( 布尔值) boolean, 文件(照片,程序,压缩包....) byte


变量,是一个常量值

在程序运行过程中,其值可以改变的量称之为变量,就是声明一个标识指向内存地址,进行操作,变? 我们可以改变内存数据,就有如改变标识中的数据。

变量赋值为什么数值后要加F或者L?


public class T6 {
    public static void main(String[] args) {
        long a=1000000L;告诉java他是long类型的 java默认是类型的
        float b=15.1f;告诉系统他是float类型的 java默认是double
    }
}


常量

常量值:整数  int,小数 double,字符  char,字符串 String,字符串 String,整数后加L 表示为 long类型

声明常量:final 最终,名称最好是全大写,final  数据类型   常量标识名称=值,数据存储在常量区域


类型转换

小的数据类型可以直接转换成大的,因为就是冰箱,你小的可以,但你放个大象肯定是放不进去的啊,

强制类型转换:尽量不要用,会有风险的,从大到小就想是截肢,直接截取一半,正数强制转换成负数


举例
100000000000000001这是负数因为高位为1(16位)
00000001(转换成了正数高位为0)




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章