JAVA 数据类型

来源:互联网 发布:北大图书馆知乎 编辑:程序博客网 时间:2024/06/06 05:24

本页面更新日期: 2016年06月06日

前言

JAVA语言是强类型语言, 这有两方面含义:

  • 所有变量必需先声明再使用.
  • 指定类型的变量只能接受 类型与之匹配 的值.

这意味着每个变量和表达式都有一个在编译时就确定的类型.
类型限制了一个变量能被 赋予的值.
限制了一个表达式可以 产生的值.
限制了在这些值上可以进行的 操作.

强类型语言可以在编译时进行 严格的语法检查. 从而减少编程时的错误.

声明变量的语法如下, 制定 变量的类型变量名 即可创造一个变量.

type varName = 初始值;
  • type 类型
  • varName 变量名
  • 初始值: 给变量赋值

什么是变量? 变量有什么用?
编程的本质, 就是对 内存中的数据 访问和修改.
程序所用的数据都会保存在 内存中.
程序员需要一种机制来 访问或修改 内存中的数据.
这种机制就是 变量.
每个变量都代表了某一小块内存, 而且变量是有名字的.
程序对变量赋值, 实际上就是把 数据装入该变量所代表的内存区的 过程.
程序读取变量的值, 实际上就是从该变量所代表的内存区 取值的过程.
形象一点的化, 变量相当于一个有名字的容器, 该容器用于装各种不同类型的数据.

延伸: 我们玩电脑游戏时, 用的修改器或者外挂, 其实就是对内存数据的 读取和修改.

JAVA对变量类型的支持有:

  • 基本数据类型
    • boolean(布尔值: true 或 flase)类型, 它只有这两个值.
    • 数值类型
      • 整数类型
        • byte
        • short
        • int
        • long
      • 字符类型
        • char (取值范围: 0-65535) (2个字节)
      • 浮点类型
        • float (4个字节)
        • double (8个字节)
        • 它们俩都是用于表示小数的, 但是小数位精度不同, 后面你会知道.
  • 引用数据类型
    • 接口
    • 数组

关于字节, 点我查看
字节简单来说, 是计算机信息技术用于计量存储容量的一种计量单位.

基本数据类型 – 数值类型 – 整型

整型, 指以下 4 种类型.

  • byte (取值范围: -128 ~127) (1个字节)
  • short (取值范围: -32768 ~ 32767) (2个字节)
  • int (取值范围: -2147483648 ~ 2147483647 ) (4个字节)
  • long (取值范围: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807) (8个字节)

int 是最常用的整数类型, 因此在通常情况下, 直接给出一个整数值默认就会是int 类型.
当然还有特殊情况.

  • 如果直接将一个 较小的 整数值(在 byte 和 short 取值范围内), 系统会自动把这个数值当成 byte 或 short 类型来处理.
  • 如果是一个 巨大的 数值, (超出了 int 的取值范围), JAVA不会自动把这个整数值当成 long 类型来处理. 如果希望系统把这个值当成 long 类型来处理, 你需要在这个整数值后面加个 L .

例如下面 定义一个叫 bigValue 的 long 类型变量:

long bigValue = 9223372036854775807L;

如果数值这么大, 虽然你前面说明了 bigValue的类型是 long类型, 但你后面还得加上 L 才行.你不加 L 是会报错的.

在 JAVA 中你可以以 4种 方式来表示 整数值.
十进制, 二进制, 八进制 和 十六进制.
我们生活中用的是 十进制. 逢十进一 对吧? 其它你可以百度自行了解. 不过一般用不着.
其中:

  • 二进制的整数以 0b 或 0B 开头 (例如 int binValue = 0b11010100; )
  • 八进制的整数以 0 开头 (例如 int octalValue = 013; )
  • 十六进制的整数以 0x 或 0X 开头, 十六进制的 10 ~ 15 用 a~f 来表示, 不区分大小写. (例如 int hexValue = 0x13; )

基本数据类型 – 数值类型 – 字符型

字符型用于表示单个字符, 注意: 字符型不是字符串哦! 字符串以后我们会讲到.
字符型的值, 必需使用 单引号 ’ 括起来.
JAVA 语言使用 16位 的 Unicode字符集作为编码方式, Unicode被设计成支持世界上所有语言的字符, 当然包括中文字符.

那么, 什么是字符集?
由于计算机无法保存电影, 音乐, 图片 等等等内容… 计算机只能保存 二进制码.
因此, 电影, 音乐等等 都需要先转换为二进制码, 然后才能保存.
世界上各种语言, 同样以 二进制码的 方式保存在计算机中.

当计算机要保存某个字符时, 例如想保存中文的 “我” 这个字符.
只要将该字符的编码转换为二进制码, 然后保存起来即可.

所谓字符集, 就是所有字符的编号 的总和. 点我了解更多

字符型的值, 有如下三种表示形式:

  • 直接通过单个字符来指定字符型的值,例如 ‘A’ 、’9’ 、’0’ 等等.
  • 通过转义字符表示特殊字符型的值, 例如 ‘\n’ 、’\t’ 等等.
  • 直接使用 Unicode 的值 来表示字符型的值, 格式是 ‘\uXXXX’, 其中 XXXX 代表一个十六进制的整数.

常用的转义字符

转义字符 说明 Unicode 表示方式 \b 退格符 \u0008 \n 换行符 \u000a \r 回车符 \u000d \t 制表符 \u0009 \” 双引号 \u0022 \’ 单引号 \u0027 \\ 反斜线 \u005c

让我示范一下 字符型(char) 变量的用法. 要自己动手写哦, 新建一个源文件写.

public class CharTest{  public static void main(String[] args)  {    //直接指定单个字符作为 字符的值    char aChar = 'a';    System.out.println(aChar);    //使用转义字符来作为 字符的值    char enterChar = '\r';    System.out.println(enterChar);    //使用Unicode编码的值 来指定 字符的值    char ch = '\u9999';    System.out.println(ch);  }}

之后你先编译, 再运行, 看看效果呦~ 其中 \r 的意义是 回车符, 所以你可能看不到有什么东西在里面, 但有句话说的好, 不管你见与不见, 它就在那里.

延伸: JAVA没有提供表示 字符串 基本数据类型, (悄悄告诉你, 字符串属于引用类型)
而是通过 String类(以后会讲到) 来表示字符串, 由于字符串 是由 多个字符 组合而成, 因此字符串要使用 双引号 ” 括起来. 例如下面代码:

//下面定义了一个 名为 s 的 String 类型变量, 它是一个字符串实例的引用, 所以它是一个引用类型的变量.String s = "曾经沧海难为水";

注意: char类型使用单引号 ’ 而字符串类型使用双引号 ” , 写错的话, 编译器会来大姨妈的.

基本数据类型 – 数值类型 – 浮点型

我一开始看到浮点型的时候, 让我不禁联想到了 套套 -,- 可惜此浮点非彼浮点.
JAVA浮点类型有两种:

  • float
  • double

float 类型代表 单精度浮点数. 占4字节, 32位.
double 类型代表 双精度浮点数. 占8字节, 64位.
抛开字节和占位,单从数字上来看,就能得知 double 比 float 可以保存更多的小数位.

JAVA的浮点数类型 默认是 double 类型
如果你希望JAVA把一个浮点数类型的值 当成float 类型处理, 就需要在这个值的后面加个 F
例如, 5.12 代表一个 double 类型的值, 占64位的内存空间; 5.12F 表示一个 float 类型的值, 占32位的内存空间.

小技巧: 数值中使用下划线 _ 来分隔

当程序中用到数值位数特别多时, 你数起来很麻烦.
这时你可以在数值中使用下划线, 例如4位加一个 下划线 _
举栗:

int bigNum = 2147_4836_47;double pi = 3.14_15_92_65_36;

基本数据类型 – 布尔型

布尔型只有一个 boolean 类型, 用于表示逻辑上的 真 或 假.
在JAVA语言中, boolean 类型的值 只能是 true 或 false.

boolean 类型的值 主要用来进行 流程控制.
流程控制以后我们会讲到.
主要有以下几种:

  • if 条件控制语句
  • while 循环控制语句
  • do 循环控制语句
  • for 循环控制语句
  • 三目运算

以上内容后面会有详解, 暂时不提.

结尾

如果你想学习更多JAVA知识, 可以 点我进入目录页

0 0
原创粉丝点击