java基础语法笔记
数据类型
一个变量代表一个内存空间,数据的存储在这个空间中,然而由于数据在存储时所需要的容器各有不同,不同的数据就需要分配不同大小的内存空间来存储。在java语言中对不同的数据用不同的数据类型来区分。java语言分为两大类:基本数据类型和引用数据类型。基本数据是有程序设计语言系统所定义的、不可再划分的数据类型。基本数据的数据所占内存的大小固定,与软硬件环境无关。基本数据类型在内存中存入的是数据值本身。引用数据类型在内存中存入的是指向该数据的地址,不是数据本身,它往往是有多个基本数据类型组成。因此,对引用数据类型的使用称为对象引用。
java分为基本的八种数据类型和三种引用类型,如下图:
基本数据类型 | 引用数据类型 |
---|---|
整数型(byte,short,int,long),浮点型(float,double),字符型(char),布尔型(boolean) | 数组,接口,类(包括对象) |
接下来我们来看下八种基本的数据类型的字节:
数据类型 | 字节 | 取值范围 | 包装器类型 |
---|---|---|---|
byte | 1 | -128~127 | Byte |
short | 2 | -32768~32767 | Short |
int(默认) | 4 | -2147483648~2147483647(刚刚超过20亿) | Integer |
long | 8 | -9233372036854775808~9233372036854775807 | Long |
float | 4 | 大约±3.40282347E+ 38F(有效位数为6~7位) | Float |
double(默认) | 8 | 大约±1.79769313486231570E+308(有效位数为15位) | Double |
char | 2 | 0~216-1 | Character |
boolean | - | – | Boolean |
注意:boolean类型所占存储空间的大小没有明确指定,仅定义为能够取字面值true或false。
- float类型的数据有一个后缀F或f(例如:3.14F),而没有后缀的浮点数据(如3.14)总是默认为double类型。当然,也可以在浮点数值后添加后缀D或d(例如:3.14D)。
- long类型的数据有一个后缀L或l(例如:314L),而没有后缀的整型数据(如314)总是默认为int类型。
byte a = 123;
short b = 3344;
int c = 3344;
long d = 2342222222l;
float e = 3.14f;
double f = 3.14;
char g = 'a';
boolean h = true;
类型转换
数值之间的转换,可分为自动类型转换和强制类型转换。在适当的时候,java会将一种数据类型自动转换为另一种。例如,我们为某浮点变量赋以一个整数型,编译器会自动将int自动转换为float。类型转换运算允许我们显式进行这种类型的运算,或者不能自动进行转换的时候强制进行类型转换,但会有精度上的损失。boolean类型不能与其他七种类型进行转换处理。
自动类型转换: 把一个数据范围小的数值或变量赋值给另一个数据范围大的变量。
强制类型转换: 把一个数据范围大的数值或变量赋值给另一个数据范围小的变量。