前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java ---基本类型(1)

Java ---基本类型(1)

作者头像
haoming1100
发布2018-10-11 10:05:42
4750
发布2018-10-11 10:05:42
举报
文章被收录于专栏:步履前行

Java是强数据类型,在声明的时候必须注明所使用的数据类型是什么,下面,我们来了解一下

Java的类型分为基本类型(或者成为内置的的数据类型)和引用类型,其中,基本类型主要有8+1种,分别是:6种数字类型和一个boolean类型,一个字符类型。一个null。请看下面

  • byte
    •   字节型
    •   占一个字节(8bit),数据范围是-128~+127
    •   1个字母(比如 A B C D)等于一个字节,又等于8bit

在我们编码的时候,byte只能赋值上述的数据范围,一旦超出,输出会特别的有意思,哈哈哈。比如

代码语言:javascript
复制
        byte b = (byte)128;
        System.out.println(b);
        //输出=> -128
        byte b = (byte)129;
        System.out.println(b);
        //输出=> -127
        byte b = (byte)131;
        System.out.println(b);
        //输出=> -125

        byte b = (byte)-129;
        System.out.println(b);
        //输出=> 127     
  • char
    • 字符型
    • 占2个字节,范围是0~65535 
    • char是一个16位二进制的Unicode字符,在java中,用char来表示一个字符。
    •  其中char可以用来表示汉字,而byte则不可以。
    • 汉字占多少字节,(经各种搜索资料了解)汉字字节取决于编码,在GBK中,除了ASCII编码外,占2个字节,而UTF-16`通常`占2个字节;而在UTF-8中,为了进行兼容ASCII编码,设计成了1~4个字节,大多数汉字占3个字节

 又由于char是无符号类型的,在表示正整数和负数 的情况时 比如

代码语言:javascript
复制
char c= (char)-1;
System.out.println(c);

在Java8中输出的是 口(这是一个特殊字符) 然而在正整数下,

代码语言:javascript
复制
char c = (char) 10;
System.out.println(c);

则是什么都没有输出,在debug模式下 可以看到c为\n 10,仅此。 在汉字模式下比如

  • char c = '中'; System.out.println(c);

会直接输出 中

  • double
    • 双精度64位
    • `浮点数默认为double类型`,且默认值是`0.0d`
    • double不能表示精确的数值
  • float
    • 单精度 32位
    •  float 在存储大型浮点数组的时候节省空间
    • 默认值是`0.0f`

我们来对double和float做个探讨,在double和float定义的时候,我们千万要记得加末尾的`d`或者是`f`,否则会超出我们的预想范围哦

代码语言:javascript
复制
double t = 23.1d;
double t1 = 23.1;
System.out.println(t);
System.out.println(t1);
//因为没有后缀类型的数值,默认是double

System.out.println(1/3);
System.out.println((1/3d));
System.out.println((1/3f));
//输出
//0
//0.3333333333333333
//0.33333334

由上,可以看出其中的差异 还有一个陷阱等着,

代码语言:javascript
复制
System.out.println( 0.99999999f==1f);
System.out.println(0.9f==1f);
//输出竟然是
//true
//false

请等待Java的数据类型系列二


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档