Java入门教程系列【1】Java基本数据类型

栏目: Java · 发布时间: 6年前

内容简介:Java入门教程系列【1】Java基本数据类型

点击上方“ Java知音 ”,选择“置顶公众号”

技术文章第一时间送达!

bug没地儿问? 公众号内回复“加群”,邀你加入微信技术学习群,共同学习!

Java共有八种基本数据类型(可以直接分配内存):六种数字类型(四个整数型:byte、short、int、long,两个浮点型:float、double);一种字符类型(char);还有一种布尔型(boolean)。

注:基本数据类型字长不会因操作系统平台不同而改变

记忆小提示:

  • 位数=字节*8 (因此我们只需要记住所占字节就行了)

  • 四个整数型从小到大依次为(后一种为前一种的2倍):

    byte(1个字节)-> short(2个字节)->int(4个字节)-> long(8个字节)

  • 两个浮点型(后一种为前一种的2倍):

    float(4个字节)-> double(8个字节)

  • 字符型和布尔型:

    char(2个字节)和boolean(1个字节)

四种整数类型:

byte(字节型)

  • byte存储整型数据,占1个字节(8位),有正负,二进制整数

  • 默认值:0

  • 取值范围:-128~ 127

  • 示例: b yte b = 28;

  • 包装类:java.lang.Byte

public static void main(String[] args) {
    //一个常量,保存 byte 类型可取的最大值,即 2^7-1
    System.out.println("最大值:"+Byte.MAX_VALUE);
    //一个常量,保存 byte 类型可取的最小值,即 -2^7
    System.out.println("最小值:"+Byte.MIN_VALUE);
    //用于以二进制补码形式表示 byte 值的位数
    System.out.println("位数:"+Byte.SIZE);
  }

结果为:

最大值:127
最小值:-128
位数:8

注:一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节;一个汉字就是两个字符,占用两个字节

short(短整数)

  • short存储整型数据,占据2个字节(16位),有正负,二进制整数

  • 默认值:0

  • 取值范围:-32768(-2^15)~ 32767(2^15 - 1)

  • 示例: short s = - 2768;

  • 包装类:java.lang.Short

public static void main(String[] args) {
    //保存 short 可取的最大值的常量,最大值为 2^15-1
    System.out.println("最大值:"+Short.MAX_VALUE);
    //保存 short 可取的最小值的常量,最小值为 -2^15
    System.out.println("最小值:"+Short.MIN_VALUE);
    //用来以二进制补码形式表示 short 值的位数
    System.out.println("位数:"+Short.SIZE);
  }

结果为:

最大值:32767
最小值:-32768
位数:16

注:当数据不大时,用short类型可以节省空间

int(整数型)

  • int存储整数类型,占据4个字节(32位),有正负,二进制整数

  • 默认值:0

  • 取值范围:-2147483648(-2^31)~ 2 147 483 647(2^31 - 1)

  • 示例: int i = 6870000;

  • 包装类:java.lang.Integer

public static void main(String[] args) {
    //值为 2^31-1 的常量,它表示int类型能够表示的最大值
    System.out.println("最大值:"+Integer.MAX_VALUE);
    //值为-2^31 的常量,它表示int类型能够表示的最小值
    System.out.println("最小值:"+Integer.MIN_VALUE);
    //用来以二进制补码形式表示int值的比特位数
    System.out.println("位数:"+Integer.SIZE);
  }

结果为:

最大值:2147483647
最小值:-2147483648
位数:32

注:java中默认的整数类型是int,如果要定义为float,可在数字后面加上l或者L,不加也可以,但它会自动把int数据转换为float型,如下:

float l= 7;
System.out.println("l的值为:"+l);

结果为:

l的值为:7.0

long(长整型)

  • long存储整数类型,占据8个字节(64位),有正负,二进制整数

  • 默认值:0L

  • 取值范围:-9223372036854775808(-2^63)~9223372036854775807(2^63 -1)

  • 示例: long qing = 680000000;或者long qing = 680000000l;

  • 包装类:java.lang.Long

public static void main(String[] args) {
    //保持 long 类型的最大值的常量,该值为 2^63-1
    System.out.println("最大值:"+Long.MAX_VALUE);
    //保持 long 类型的最小值的常量,该值为 -2^63
    System.out.println("最小值:"+Long.MIN_VALUE);
    //用来以二进制补码形式表示 long 值的位数
    System.out.println("位数:"+Long.SIZE);  
}

结果为:

最大值:9223372036854775807
最小值:-9223372036854775808
位数:64

两种浮点类型:

float(浮点型)

  • float 数据类型是单精度,占据4个字节(32位),默认值为0.0f

  • 包装类:java.lang.Float

public static void main(String[] args) {
    //保存 float 类型的最大正有限值的常量,即 (2-2^-23)•2^127
    System.out.println("最大值:"+Float.MAX_VALUE);
    //保存 float 类型数据的最小正非零值的常量,即 2^-149
    System.out.println("最小值:"+Float.MIN_VALUE);
    //表示一个 float 值所使用的位数
    System.out.println("位数:"+Float.SIZE);
  }

结果为:

最大值:3.4028235E38
最小值:1.4E-45
位数:32

注:java定义浮点型常量时,默认为double型,如果要声明为float型,则需要在数字后面加上f或者F,如:

float f = 1.89f --是 正确 的定义

float f = 1.89 --是 错误 的定义

(如下图所示)

当没有在数字后添加f时会出现报错提示:

Java入门教程系列【1】Java基本数据类型

添加了f之后错误消失:

Java入门教程系列【1】Java基本数据类型

double(双精度型)

  • double数据类型是双精度,占据8个字节(64位),默认值为0.0d

  • 示例: double d = 163.9;

  • 包装类:java.lang.Double

public static void main(String[] args) {
    //保存 double 类型的最大正有限值的常量,最大正有限值为 (2-2^-52)•2^1023
    System.out.println("最大值:"+Double.MAX_VALUE);
    //保存 double 类型的最小正非零值的常量,最小正非零值为 2^-1074
    System.out.println("最小值:"+Double.MIN_VALUE);
    //用于表示 double 值的位数
    System.out.println("位数:"+Double.SIZE);
}

结果为:

最大值:1.7976931348623157E308
最小值:4.9E-324
位数:64

注:double类型定义变量时,数字后面可不加d,默认为double型数据

字符类型:

char(字符型)

  • char 数据类型可以储存任何字符,占据2个字节(16位)

  • 取值范围:'\u0000'(0) ~ '\uffff'(65535)

  • 示例: char qing='c';或者char qing='汉';

  • 包装类:java.lang.Character

public static void main(String[] args) {

    //此字段的常量值是 char 类型的最大值,即 '\uFFFF'
    System.out.println("最大值:"+(int)Character.MAX_VALUE);
    //此字段的常量值是 char 类型的最小值,即 '\u0000'
    System.out.println("最小值:"+(int)Character.MIN_VALUE);
    //用来以无符号二进制形式表示 char 值的位数
    System.out.println("位数:"+Character.SIZE);
  }

结果为:

最大值:65535
最小值:0
位数:16

注:需要用单引号括起来,只能为单个字符

布尔型:

boolean(布尔型)

  • boolean只有两个取值:true(真)和 false(假),默认值是 false,仅占1个字节

  • 示例: boolean b=true;

  • 包装类:java.lang.Boolean

注:不可以用0和非0数代替true和false

基本数据类型的自动转换:

byte -> short

char -> int -> long

int -> float

float -> double

long -> double

注:占字节少的可转换为占字节大的,反之则会失去数据精度

一些特殊的转义字符

转义字符  含义
\n     换行
\r     回车
\f     换页
\b     退格
\s     空格
\t     tab
\"     双引号
\'     单引号
\      反斜杠
\ddd    八进制字符
\uxxxx   十六进制UNICODE字符

推荐

技术文章:Java中的 设计模式 小结

源码分享:Javaweb练手项目下载

Java入门教程系列【1】Java基本数据类型


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机网络

计算机网络

Andrew S. Tanenbaum / 潘爱民 / 清华大学出版社 / 2004-8-1 / 60.00元

《计算机网络(第4版)》全书按照网络协议模型(物理层、数据链路层、介质访问控制子层、网络层、传输层和应用层),自下而上系统地介绍了计算机网络的基本原理,并给出了大量实例。在讲述各网络层的同时,还融合进了近年来迅速发展起来的各种网络技术,如Internet、SONET、A DSL、CDMA、WLAN和蓝牙等。另外,针对当前计算机网络的发展现状以及计算机安全的重要性,本书用了一整章的篇幅对计算机安全进......一起来看看 《计算机网络》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码