大家好,今天来给大家分享一下有关Java的数据类型扩展
只要你看过我之前博客,你就会对java的数据类型有清晰的了解和认识
那么这样的话,今天来给大家分享一下有关Java的数据类型扩展
有关java基本数据类型的扩展
下面给大家直接看我对Java数据类型的扩展代码
public class ShuXi {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0x
int m =10;
int m2 =010; //八进制0
int m3 =0x10; //十六进制0x
System.out.println(m);
System.out.println(m2);
System.out.println(m3);
System.out.println("=================================");//这是为了在控制台上显示各部分的分割线
//=============================================
//浮点数扩展? 对数据精确度要求较高的行业
//float:
// double
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
//上面使用两种不同的数据类型,给变量f 和d赋值
// f=0.1 d=1.0/10=0.1
//那么在算计逻辑上,f和d,是相等的
System.out.println(f==d); //比较f和d 是否相等
//如果条件成立,是true,如果条件不成立,则是false
System.out.println("==================="); //显示分割线
//我们在下面再写一个
float r1 =21212125242545452f; //我们定义r1等于21212125242545452f
float r2=r1+1; //定义r2等于r1的值加上1
//那样在算数逻辑上,r1不等于r2
System.out.println(r1==r2); //判断r1是否等于r2
//我们又一次惊奇的发现,结果显示r1等于r2
//我们惊奇的发现,结果显示它们不相等
//得到结论:float特点:有限,离散。舍入误差,接近但不等于 大约
//最好尽量避免使用浮点数比较
//BigDecimal 我们可以使用这个工具类
//=========================================
//字符扩展:
//================================
System.out.println("============================");
char c1 = 'a'; //以char为数据类型,给我们的自定义变量c1赋值为a
char c2 = '中'; //以char为数据类型,给我们的自定义变量c2赋值为“中 ”
System.out.println(c1); //输出c1对应的赋值
System.out.println((int)c1); //强制转换 (以char为)
System.out.println(c2); //输出c1对应的赋值
System.out.println((int)c2); //强制转换
//这个时候,我们看c1对应的赋值为a ,是英文字符,c2的赋值为中,是中文字符
//所有的字符其实本质上都还是数字
//在本例当中,强制转换将字符转换为数字
//char这个数据类型,它涉及到编码的问题
//编码 Unicode 表 97=a 65=A 2个字节 0-65536 Excel 216=65536
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3); //a
System.out.println("==================="); //显示分割线
//转义2字符
// \t 制表符
// \n 换行
System.out.println("hello\tworld"); //两个单词之间会空格
System.out.println("hello\nworld"); // 两个单词之间会排两行写入
System.out.println("==================="); //显示分割线
//布尔值扩展
boolean flag = true;
if (flag==true){}
if (flag){}
}
}
1.上面的是一个整体的代码, 内容量很大
2.我几乎在每一个部分中都写了注释
3.我会在下面给大家看每一部分代码在控制台的效果
4.我会对里面的很多东西再做解释
第一:
public class ShuXi {
public static void main(String[] args) { //这是开头,是java程序的一个整体的框架 ,其中,class后面跟的是类名,即ShuXi 是类名,必须和java文件名称一致
第二
//整数拓展: 进制 二进制0b 十进制 八进制0x 十六进制0x10
int m =10;
int m2 =010; //八进制0
int m3 =0x10; //十六进制0x
System.out.println(m); //输出m的赋值
System.out.println(m2);//输出m2的赋值
System.out.println(m3);//输出m3的赋值
这是关于整数类型的扩展
1.认识数制不同的表现形式,即写法
2.以自定义变量m ,m2和m3 ,赋值为对应进制的特殊写法
看控制台效果
第二:
浮点数扩展
//浮点数扩展? 对数据精确度要求较高的行业,不要用
//float:
// double
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
//上面使用两种不同的数据类型,给变量f 和d赋值
// f=0.1 d=1.0/10=0.1
//那么在算计逻辑上,f和d,是相等的
System.out.println(f==d); //比较f和d 是否相等
//如果条件成立,是true,如果条件不成立,则是false
//我们惊奇的发现,结果显示它们不相等
System.out.println("==================="); //显示分割线
//我们在下面再写一个
float r1 =21212125242545452f; //我们定义r1等于21212125242545452f
float r2=r1+1; //定义r2等于r1的值加上1
//那样在算数逻辑上,r1不等于r2
System.out.println(r1==r2); //判断r1是否等于r2
//我们又一次惊奇的发现,结果显示r1等于r2
//得到结论:float特点:有限,离散。舍入误差,接近但不等于 大约
//最好尽量避免使用浮点数比较
//BigDecimal 我们可以使用这个工具类
看控制台效果
1.我们写的第一个浮点数代码,在数理逻辑上是对的,结果显示false(错的)
2.我们写的第一个浮点数代码,在数理逻辑上是错的,结果显示true(对的)
3.得到结论:float特点:有限,离散。舍入误差,接近但不等于 大约
4.最好尽量避免使用浮点数比较
第三个:字符扩展
//字符扩展:
//================================
System.out.println("============================");
char c1 = 'a'; //以char为数据类型,给我们的自定义变量c1赋值为a
char c2 = '中'; //以char为数据类型,给我们的自定义变量c2赋值为“中 ”
System.out.println(c1); //输出c1对应的赋值
System.out.println((int)c1); //强制转换 (以char为)
System.out.println(c2); //输出c1对应的赋值
System.out.println((int)c2); //强制转换
//这个时候,我们看c1对应的赋值为a ,是英文字符,c2的赋值为中,是中文字符
//所有的字符其实本质上都还是数字
//在本例当中,强制转换将字符转换为数字
//char这个数据类型,它涉及到编码的问题
//编码 Unicode 表 97=a 65=A 2个字节 0-65536 Excel 216=65536
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3); //a
看控制台效果:
//转义字符
// \t 制表符
// \n 换行
System.out.println("hello\tworld"); //两个单词之间会空格
System.out.println("hello\nworld"); // 两个单词之间会排两行写入
System.out.println("==================="); //显示分割线
看控制台效果:
//布尔值扩展
boolean flag = true; //小菜鸟写的
if (flag==true){}
if (flag){} //高手写的
`
这些数据类型的扩展可能面试常问,需要掌握好java的八大基本数据类型之后,在看这些东西
好了,有关于数据类型的扩展就讲到这里
有问题请私聊,有步骤之处请指教,谢谢大家