综述
在开始学习变量之前,我们思考一下为什么需要使用变量。
首先我们从小开始学习加法减法的时候,后来我们再学更难的东西就是代数,其中的x和y是我们要求解的内容,这些内容就是变量。
变量是人的思维的提升,没有变量就没有真正的程序。
为什么要有数据类型?
使用数据类型可以合理的使用内存
比如我们去购物的时候,如果用小袋子就装小的商品,大的袋子装大的商品。这样可以合理使用袋子的空间。
你想想你每次使用一个只需要表示真和假的0和1都要用8个字节实在是太浪费了。
正文
变量是程序的基本组成单位
变量的数据类型
- 基本数据类型
基本数据类型包括数值型,字符型和布尔类型,数值类型包括整型和浮点型。
整型包括byte short int long
浮点型包括 float 和 double
对于整数类型来说
类型 | 占用存储空间 | 范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -32768~32767 |
int | 4字节 | -2147483648-2147483647 |
long | 8字节 | -263~263-1 |
对于浮点数类型来说,分为指数和尾数,单开一个符号位。
指数位的第一位是指数的符号位。
类型 | 占用的存储空间 | 存储(符号位 指数位 尾数位) |
---|---|---|
float | 4字节 | 1 8 23 |
double | 8字节 | 1 11 52 |
浮点数最大值计算的方法(double同理 1.798E308)
char 类型占用2个字节
boolean 类型一般占用1个字节。
类型 | 占用的存储空间 | 存储 |
---|---|---|
char | 2字节 | 2字节 |
boolean | 1字节 | 硬件1位 |
为什么char 占用两个字节?
Java编译器默认使用Unicode编码,因此2字节可以表示所有字符。
- 引用数值类型
引用数据类型包括类、接口和数组类型。
数据类型的使用
使用数据类型的坑
package chapter01;
public class Main {
public static void main(String[] args) {
byte b = 127;
// byte b = 128 就会报错,java是强类型语言
short s = 32767;
// short s = 32768就会保存
int i = 10;
//int 也有取值范围 如果是2进制就是0b开头
// 如果是8进制就是0开头
// 如果是十六进制就是0x开头
long L = 90L;
// long 可以使用L,也可以不用
float f = 3.14f;
//float 后面必须加f
double d = 3.14;
// double d = 3;也是对的
boolean boo = true;
char ch = 57;
char ch1 = ' ';
//char ch = '';是不对的
}
}