本页面更新日期: 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知识, 可以 点我进入目录页