Java—变量

一、变量的分类

1.1 按数据类型分类

1.1.1 基本数据类型(四类八种)

☛ 引用数据类型的特点

存的是地址值,可以为null值

☛ 基本数据类型的特点

存的是具体的值,不可以是null值

☛ 整型

整型 取值范围 字节数
byte(字节) -128 ~ 127 1byte
short(短整型) - 2byte
int(默认整型) - 4byte
long(长整型) 12345678L 8byte
☛ 浮点
浮点数 字节数 例子
---- ---- ----
float(单精度) 4byte 0.98f
double(双精度)默认 8byte 0.98
☛ 布尔

boolean(true/false)   1/8byte

☛ 字符

char   0~655352byte

注:需要注意这8种在内存中的存储大小,便于后续的性能调优工作。


1.1.2 计算机的组成原理&程序的运行原理

1.1.2.1 计算机的组成(冯 • 诺依曼计算机)

存储器:

内存条(RAM)   ==>  临时性存储数据   ==>  断电,数据丢失

硬盘(ROM)   ==>  持久性存储数据   ==>  断电,数据不丢失


1.1.2.2 程序的执行原理

由硬盘的程序加载到内存中,由cpu调配

cpu:中央处理器   ==>  运算和存储数据

gpu:显卡   ==>  读取图片等


1.1.2.3 程序的性能调优

☞ 处理多大的数据,就用多大的容器(即变量/对象)存储;

  不要无节制地创建容器

☞ 程序是自上而下执行的,没有执行必要的代码,要想方设法地结束程序

☞ 只需要一个引用类型开辟的内存空间,那么要注意不要被多次重新创建

1.2 按声明的位置分类

二、变量的写法

① <数据类型> <变量名> = <值>;

② <数据类型> <变量名>;

   <变量名> = <值>;

③ <数据类型> <变量名1> = <值1>, <变量名2> = <值2>...;

④ <数据类型> <变量名1> , <变量名2> ...;


三、数据类型转换

① 隐式数据类型

byte b = 123;

解析:先判断int类型的123是否超出了byte类型的取值范围,没有超出,则把int 123 转为 byte 123,再赋值给变量b

② 自动类型提升

double d = 12563L;

结论:容量(取值范围)小的数据类型可以自动提升为容量大的,byte到double的提升:

byte、short、char —> int —> long —> float —> double

③ 强制类型转换(自动类型提升的逆过程)

byte b = (byte) 128;

结论:容量大的数据类型需要强制转换为容量小的。

注:强制类型转换,有可能损失精度。

原文地址:https://www.cnblogs.com/nadou/p/13963650.html