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

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

内容简介: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基本数据类型


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

查看所有标签

猜你喜欢:

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

Reality Is Broken

Reality Is Broken

Jane McGonigal / Penguin Press HC, The / 2011-1-20 / USD 26.95

Visionary game designer Jane McGonigal reveals how we can harness the power of games to solve real-world problems and boost global happiness. More than 174 million Americans are gamers, and......一起来看看 《Reality Is Broken》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具