数据类型
决定数据的类型与内存空间的大小
两大类型:基本类型(值存在栈中) 和 引用类型(值存在堆中)
变量的空间(栈中)
基本类型
8中基本类型
数字
整数
byte(1个字节),可存储的值的区间为[-128,127],负的2的7次方到2的7次方-1;
short(2个字节),[],负2的15次方到正2的15次方 -1 ;
int(4个字节),[],负2的31次方到正2的31次方 -1;
long(8个字节),[],负2的63次方 到 正2的63次方 -1。
小数
float (单精度/浮点 ) (4字节) , 小数点后面不超过8位;
double (双精度) (8个字节), 小数点后面不超过16位。
字符
char:每个字符占两个字节(包括但不限于英文字母和汉字)。
布尔
boolean:只存在两种值,true(真)或者false(假)。
引用类型
除基本类型外的类型都是引用类型。
如:String,数组,类(包括自定义类)等等。
不同类型的变量声明
//整数
byte num = 1;
short num2 =1;
int num3 = 1;
long num4 = 1L; //一般加大写的L , 说明是long类型
//浮点数
float num5 = 0.5f; //一般加小写的f, 说明float
double num6 = 0.5; //可以加小写的d, 也可以省略
// 字符 ,只能写一位,且需要用单引号包起来
char char1 = '男';
//布尔
boolean result = false;
// 引用类型 String 字符串,它的值要用双引号包起来
String name = "Hello";
常量
在java中固定不变量就要常量。在Java中有字面常量和符号常量。
字面常量
如10,123,a,b。这些直接的数字或者字符等等。
符号常量
如圆周率PI等。
常量的定义
在变量的基础上加上final修饰符 (用final所修饰的变量就是常量,final不仅可以修饰变量)。
如:
final double PI = 3.14;
常量不可以修改,
final 数据类型 常量名(全大写) = 值;
final 数据类型 常量名(全大写) ;
常量名 = 值;
定义与赋值可以分开写,但是只能赋值一次。
数据类型的转换
自动转换(隐式转换)
容量小转容量大的。(条件是数据的类型要兼容)
// 自动转换 (小 转 大)
//byte -> int
byte num = 5;
int num2 =num;
//short -> int
short num3 = 3;
int num4 = num3;
// char -> int
char a = 'a';
// 字符 -> ascii -> 十进制 -> 2进制 (ASCLL码字符表)
// '0' => 48
// 'A' => 65
// 'a' => 97
int num5 = a;
System.out.println(num5);
// int -> double
int num6 = 6;
double dnum = num6;
System.out.println(dnum);
// int -> float
int num7 = 6;
float fnum = num6;
System.out.println(dnum);
强制转换(显示转换)
容量大 转 容量小
条件: 数据要兼容
语法: 数据类型 变量名 = (数据类型) 值;