文章目录
- 数据类型
- 释义
- 分类
- 基本数据类型
- 整型
- 浮点型
- 布尔型
- 字符型
- 引用数据类型
- 基本类型转换
数据类型
释义
数据类型是为了把数据分成所需内存大小不同的数据,编程的时候需要用大的数据才申请大内存,这样可以充分利用内存。
Java语言是一种强类型语言,要求所有变量先声明后使用。目的就是为了保证变量或者表达式在编译时就能够确定其类型,并为其分配相应的内存。
分类
基本数据类型
整型
- Java整型
byte/short/int/long
- 整型取值范围
类型 | 占用存储空间字节数 | 数值范围 |
byte | 1 | -128~127 |
short | 2 | -2的15次方2的15次方-1(-3276832767) |
int | 4 | -2的31次方~2的31次方-1 |
long | 8 | -2的63次方~2的63次方-1 |
- Java整型常量的三种表示方法
十进制:如123=1100+210+31=123
八进制,八进制0开头:如:013=18+31=11
十六进制,十六进制0x开头:如:0x23=216+3*1=35
【进制转换】
- 10进制到二进制
示例:求十进制数10的二进制
6/2=3 余 0
3/2=1 余 1
1/2=0 余 1
将余数逆序输出就是6的二进制表示:110,位数不够补零
- 二进制到十进制
示例:求二进制110的十进制 规则:取出最后一位,从2的0次方开始乘,将得到的结果相加即可
02的0次方=0
12的1次方=2
1*2的2次方=4
110的十进制为:0+2+4=6
- 八进制与二进制、十进制转换类同
浮点型
- Java浮点型
float/double
- 两种表示形式
十进制形式:例如:123.456 0.314 科学计数法:例如:1.23456E2 3.14E-1
- Java浮点型取值范围
浮点声明默认是double类型,若要是float,请在尾部添加f或是F。如:float myFloat=1.23
float myFloat = 1.23f;
类型 | 占用存储空间字节数 | 数值范围 |
float | 4 | -3.4E38 ~ 3.4E38 |
double | 8 | -1.7E308~ 1.7E308 |
布尔型
适用于逻辑运算,用于程序流程控制
只允许取值为true,false,不可以任何其它形式代替
boolean real = true; // 正确
boolean notReal = false; // 正确
boolean read2 = 1; // 错误
boolean notReal2 = 0; // 错误
字符型
Java字符型
- 通常意义上的字符,用单个引号括起来的单个字符
如’1’,‘a’,'b’等等 - Java采用Unicode编码(即为全球统一语言编码),均可以用十六进制表示编码值
char c = '\u0012';
- 转义字符,用’\n’来表示,即为转变之前的意义,但依然是个字符
char c = '\n'; // 表示换行符
引用数据类型
类(class、abstract)
接口(interface)
数组(array)
基本类型转换
Java中八种基本数据类型中 除了 boolean类型以外,其他的都可以进行类型转换
小容量到大容量是自动类型转换( 隐式转换 )
容量大小排序为:byte,char,short<int<long<float<doubleByte
short char 三者之间 不能相互转换
但是 byte b = 1 ; short s = b ; 这种转换是没有问题的
大容量到小容量是强制类型转换( 显式转换 )
强制类型转换 需要用 (类型)
int i_1 = 0;
Byte b = (byte) i_1;
强制类型转换会有损精度,并且数据可能出错
!!! 注意 byte,short,char,int 任意 一种或多种在进行运算时 结果为 int值
如果运算中有大于 int类型的数据时,结果为类型最大的这个类型