Java教程

Java数据类型的扩展(附有源码)

本文主要是介绍Java数据类型的扩展(附有源码),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

大家好,今天来给大家分享一下有关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的八大基本数据类型之后,在看这些东西

好了,有关于数据类型的扩展就讲到这里
有问题请私聊,有步骤之处请指教,谢谢大家

这篇关于Java数据类型的扩展(附有源码)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!