开发工具与关键技术:MyEclipse 10,javase
撰写时间:2019年5月5日
Java有两大数据类型,一是基本数据类型;二是引用类型。其中,基本数据类型中又分为六种数据类型,一种浮点型,一种布尔型。
1.byte,默认值为0;占1字节;8位;封装类为Byte
2.short,默认值为0;占2字节;16位;封装类为Short
3.int,默认值为0;占4字节;32位;封装类为Integer
4.long,默认值为0L;占8节;64位;封装类为Long
5.float,默认值为0.0f;占4字节,32位;封装类为Float
6.double,默认值为0.0d;占8字节;64位;封装类为Double
7.boolean,默认值为false;占1字节;8位;封装类为Boolean
8.char,默认值为 \u0000;占2字节;16位;封装类为Character
各种用法如下:
- byte a = 12; byte b = (byte) 129; byte c = (byte) 257;
若输出a,则为12;若输出b,则为-127,;若输出c,则为1;
byte的取值范围在-128到127,以二进制补码表示的整数;
- short a=12; short b=(short) 32768; short c=(short) -32769;
若输出a,则为12;若输出b,则为-32768,;若输出c,则为32767;
short的取值范围在-32768到32767,一个short变量是int型变量所占空间的二分之一;
- int a= 1;
若输出a,则为1;short的取值范围在2,147,483,648到 2,147,483,647,一般整形变量默认为int类型;
- long a = 1L;
若输出a,则为1;long的取值范围在9,223,372,036,854,775,808到 9,223,372,036,854,775,807;
- float a =1.2f;
若输出a,则为1.2;float 在储存大型浮点数组的时候可节省内存空间,同时,浮点数不能用来表示精确的值,如货币;
6.double a =1.2d;
若输出a,则为1.2;浮点数的默认类型为double类型,同时,浮点数不能用来表示精确的值,如货币;
7.boolean a = true;
若输出a,则为true;只有两个取值:true 和 false。它的默认值为false;
8.char a =‘你’;
若输出a,则为“你”,此时只能输入一个中文,int只占两个字节,另外的,char 可以储存任意字符;
各种包装类如下:
- byte——Byte;
- short——Short;
- int——integer;
- long——Long;
- float——Float;
- double——Double;
- booleab——Boolean;
- char——Character;
包装类提供了一系列的适用方法,集合是不允许存放基本数据类型的,存放数字时要用包装类型;
String a ="1223";
int p =Integer.parseInt(a);
int v =Integer.valueOf(a);
System.out.println(a);
同时还涉及到了进制转换
- 十进制转二进制
System.out.println(Integer.toBinaryString(500));
输出结果为:111110100
- 十进制转八进制
System.out.println(Integer.toOctalString(500));
输出结果为:764
…
类型转换:
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为 同一类型,然后进行运算
自动转换时有规律的,小的类型自动转换为大的类型;整数类型可以自动转换为浮点类型,但可能会产生舍入误差,字符也可以自动提升为整数
类型转换包含着强制类型转换,强制类型转换可能会导致溢出或损失精度,要注意的是,浮点数是通过舍弃小数得到的,而不是四舍五入。
例:
当a的值大于128时,则会出现错误,因为byte的取值范围是-128到127;此时需要用到强制类型转换才不会出现错误,如下:
此时输出的结果为-127
布尔值转换为字符串:
boolean bool = true;
String s = String.valueOf( bool );