变量
变量:程序中的基本存储单元,其定义包括变量名、变量类型和作用域几个部分,存储数据的容器
计算机中的数据 :二进制数
为什么进行数据类型划分
不同的变量有不同的用途,例如,可以用变量来表示年龄,或者用变量来表示成绩。而年龄只能是整数,而成绩却可能出现小数;
如果不把数据划分为不同的类型,那么就没有办法区分出数据之间的差别;
计算机可以根据不同的数据类型,把数据“合理”地存放到内存中;
计算机从内存中读取数据时,也可以根据其数据类型就能确认取到的数据的特征,从而正确地去处理;
数据类型树
Java语言是强类型语言,任何一个变量或常量在Java中必须有确定的数据类型;
Java语言的数据类型有两种,即基本数据类型和引用类型
内存介绍
数据都是存放在内存中,了解Java内存的基本结构有助于深入理解数据类型;
Java内存大体可以分为堆、栈、常量池、方法区
先“粗略”了解基本区别:基本数据类型存储在栈中;引用类型存储在堆中;
以上的“基本区别”可以稍加细化:
在函数(方法)中定义的基本数据类型变量存储在栈中;
引用类型实例的引用(reference)也是存储在栈中;
引用类型实例的成员变量,存储在堆中;
如何定义变量
数据类型+变量名称;
变量赋值:变量名称 = 值; a=10; 将10这个值赋值给变量a
可以定义并赋值
数据类型 变量名称= 值;
用“=”可以为任何一种基本数据类型的变量赋值;
赋值时主要不要超过表示范围,否则将出现编译错误参考基本数据类型范围
char类型使用’’引用单个字符赋值;也可以使用非负整数进行赋值;
基本数据类型
Java语言中的基本数据类型可以分为数值型、字符型、布尔型三大类,具体包含8个类型;
每种具体类型使用一个关键字表示;
byte:字节型
short:短整型
int:整型
long:长整型
float:单精度浮点型
double:双精度浮点型
char:字符型
boolean:布尔型 true false
每种数据类型在内存中占有不同的长度;
计算机存储设备的最小信息单元叫“位(bit)”,又称之为“比特位”;
连续的8个位成为1个“字节(byte)”;
操作系统分配内存最少1个字节,即8 个位,而不是1个位;
长度越长,所表示的范围就越大;
基本数据类型默认值
每种具体类型都有不同的默认值;
当没有为一个属性变量赋值时,会根据类型为其赋值为默认值;
注意:char的默认值是\u0000,等同于一个空字符;boolean的默认值是false
数据之间的转换
不同的基本数据类型之间可以进行转换;
从表示范围小的类型转换为表示范围大的类型,可以直接转换,称为隐式转换;
从表示范围大的类型转换为表示范围小的类型,需要强制转换,称为显式转换;
int i=20;
byte b=(byte)i;
虽然类型之间可以进行强制的隐式转换,但是也需要有一定的前提;
数值类型和boolean类型之间就不能转换;强制也不可以;
小数默认是double类型;
使用f/F后缀显式表示float类型;使用d/D后缀显式使用double类型;
float f=20.5F;
double d=20.5d;
boolean型的只有true和false两个值
比较运算符
==:是否相等
!=:是否不等于
>:大于
<:小于
>=:大于等于
<=:小于等于