Java基础(之二:数据类型,数据转换)
一、数据类型
字面整数默认为int类型
- 在字面整数后面加 L 或 l 表示long类型
字面小数默认为double类型
- 在字面小数后面加 F 或 f 表示float类型
- 也可以在字面小数后面加 D或 d 表示double类型(没必要)
代码实践
package base;
public class demo1 {
public static void main(String[] args) {
//数据类型
//整数
byte num1 = 10;
short num2 = 20;
int num3 = 30;
long num4 = 40L;//long类型要在数字后面加l
//小数
float num5 = 50.1F;//float类型要在数字后面加F
double num6 = 3.141592657;
//字符
char name = 'a';
//字符串 字符串不是基本类型
String name1 = "chao";
boolean flag = true;
//整数其他 二进制0b 8进制0 16进制0x
int a = 10;
int d = 0b10;
int b = 010;
int c = 0x10;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
//小数其他
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float e = 0.1f;
double f = 1.0/10;
System.out.println(f==e);//false
System.out.println(f);
System.out.println(e);
//字符其他
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制
System.out.println(c2);
System.out.println((int)c2);
//转义字符 \t制表符 \n换行
}
}
二、数据转换
//类型转换从低到高
//byte,short,char->int->long->float->double
-
强转转换的格式为: (类型名) 变量名
-
不能对boolean类型进行类型转换
-
不能把对象类型转换成不相关类的类型
-
在把容量大的类型转换为容量小的类型时必须使用强制类型转换
-
转换的时候可能存在内存溢出,或者精度问题
代码实现
public class demo2 {
public static void main(String[] args) {
//类型转换从低到高
//byte,short,char->int->long->float->double
int i = 128;
byte b=(byte)i;
System.out.println(i);
System.out.println(b);
//强制转换 (类型)变量名 高-》低
//自动转换 低-》高
int i1 = 128;
double b1=i1;
System.out.println(i1);
System.out.println(b1);
/*
1.不能对布尔进行转换
2.不能把对象类型转换为不相干的类型
3.在把高-》低可能会出现内存溢出,或者精度问题
*/
System.out.println((int)22.7 );
}
}