大家好,今天来给大家分享一下有关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的八大基本数据类型之后,在看这些东西
好了,有关于数据类型的扩展就讲到这里
有问题请私聊,有步骤之处请指教,谢谢大家