1.变量的分类
1.1按照数据类型分类
数据类型,分为基本数据类型,和引用数据类型
基本数据类型(primitive type)分为3种类型:
数值型(数值型又分为:整数类型的(byte,short,int,long)和浮点类型(float,double));
字符型(char);
布尔型(Boolean);
引用数据类型(reference type):分为类(class)接口(interface)和数值([])
详细说明:
1.整型:
byte(1字节=8bit)\short(2字节)\int(4字节)\long(8字节)
byte取值范围:是在-128~127之间
short取值范围:是在-32 768~32 767之间
int取值范围:是在-2 147 483 648~2 147 483 647之间
long取值范围:是在-9 223 372 036 854 775 808 ~9 223 372 036 854 775 807之间
注意的一点,在声明long型变量时,必须以"l"或者"L"结尾
通常,定义整型变量时,使用int型
整形的常量,默认类型是:int型
2.浮点型
float(4字节)\double(8字节)
浮点型,表示带小数点的数值
float表示数值的范围要比long还大
取值范围大约:±3.402 823 47E+38F(有效位数为6~7位)
定义float变量时要使用"f"或者"F"结尾
double类型表示这种类型的数值精度是float类型的两倍
double的取值范围大约在:±1.797 693 134 862 315 70 E+308(有效位数是15位)
通常,定义浮点型变量时,使用double型
浮点型的常量,默认为double
3.字符型
char(2个字节)
定义char型变量一般使用一队’ ',内部只能写一个字符
表达方式:1.声明一个字符;2.转义字符;3.直接使用Unicode值来表示字符型常量
**|转义序列 | 名称 |Unicode值**
| \b | 退格 | \u0008
| \t | 制表 | \u0009
| \n | 换行 | \u000a
| \r | 回车 | \u000d
| \" | 双引号 | \u0022
| \' | 单引号 | \u0027
| \\ | 反斜杠 | \u005c
4.布尔型
boolean 取值只有:true 和false两个值
常用于条件判断,循环结构中使用
1.2按声明位置分类(了解)
所有变量分为:成员变量;局部变量
成员变量分为:实例变量(不以static修饰);类变量(以static修饰)
局部变量分为:形参(方法,构造器中定义的变量);方法局部变量(在方法内定义);代码块局部变量(在代码块内定义)
2.定义变量的格式
数据类型 变量名 = 变量值;(int a = 7;)
或
数据类型 变量名;(int a;)
变量名 = 变量值值;(a=7;)
3. 变量使用的注意点
1.变量必须先声明,后使用
2.变量都定义在其作用域内,在作用域内,他是有效的,换句话说,出了作用域,变量就失效了
3.同一个作用域内,不可以声明两个同名的变量
4.基本数据类型变量间的运算规则
数据类型转换规则
涉及到的基本数据类型:除了Boolean之外的其他7种数据类型才能进行相互转换
自动类型转换
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型
byte,char,short --> int --> long --> float --> double
特别的: 当byte,char,short三种类型的变量做运算时,结果为int型
说明:此时的容量大小值得是,表示数的范围的大和小。比如float容量要大于long的容量
强制转换类型
自动类型提升运算的逆运算
1.需要使用强转符: ()
2.需要注意的地方,强制类型转换,可能导致精度损失
String与八种基本数据类型间的运算
1.String属于引用数据类型,翻译为:字符串
2.声明String类型变量时,使用一対 “”
3.String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
4.运算结果仍然是String类型
避免:
String s = 123//编译错误
String s1 = "123";
int i = (int)s1;//编译错误