一.数据类型
整型(4个): byte(字节型)、short(短整型)、int(整型)、long(长整型)
浮点型(2个):float(单精度型/浮点型) 、double(双精度型)
布尔类型:(1个): boolean(布尔类型)
- 声明float类型的数据的时候加f或者F;
- double类型的数据的有效位数 15~16;
- 3.float类型的数据有效位数是 6~7;
补充(在数据类型类型转换过程中可能会遇到相关问题)
1.在java语言中的默认选项
2.在C语言中的默认选项
3.而在Python语言中并不需要讨论精度问题。小数均为float,其没有double数据类型。
1.java中的数据类型转换
1 自动数据类型转换
在java程序中,精度小的数据类型自动转换为精度大的数据类型就是自动数据类型转换。
当我们把精度大的数据类型赋值给精度小的数据类型时,就会报错,反之就会自动就行数据类型转换。
public static void main(String[] args){
char ax = 'a';
int nums = ax;
short ax1 = 100;
int nums1 = ax1;
float ax2 = 100F;
double nums2 = ax2;
2 有多种数据类型混合运算时,系统先将所有的数据转换为容量较大的那种数据类型,然后再进行计算
char a = 'a';
int b = 2;
float c = .12345F;
float d = a+b+c;
3 byte,short ,char三者之间不可以进行数据类型的转换
byte axax = 10;
错误//char axax1 = (byte)axax;
4 byte, short,char 三者之间可以进行运算,但是运算结果会自动转换为int 类型
byte a = 127;
char b = 'a';
short c = 10;
int d = a + b + c;
System.out.println(d);
5 boolean不参与数据类型的转换
补充:
6 强制数据类型转换
//int a = 10*9.1+9*10.0;错误示范
int b = (int)(10*9.1+9*10.0);
System.out.println(b);
7 与String之间的相互转换
public static void main(String[] args) {
byte a = 100;
short b = 200;
int c = 300;
long d = 400;
float e = 500;
char f = 'A';
boolean g = true;
boolean h = true;
String a1 = a +"";
String b1 = b +"";
String c1 = c +"";
String d1 = d +"";
String e1 = e +"";
String f1 = f +"";
String g1 = g +"";
String h1 = h +"";
byte a2 = Byte.parseByte(a1);
short b2 = Short.parseShort(b1);
int c2 = Integer.parseInt(c1);
long d2 = Long.parseLong(d1);
float e2 = Float.parseFloat(e1);
char f2 = f1.charAt(0);//取f1的第一个char
boolean g2 = Boolean.parseBoolean("true");