提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、变量是什么?
变量的概念:
》内存中的一个存储区域
》该区域的数据可以在同一类型范围内不断变化
》变量是程序中的最基本的存储单元。包含变量类型、变量名、存储的值
变量的作用:
》用于在内存中保存数据
二、变量的使用
1.java定义变量的格式:数据类型 变量名 = 变量值;
代码如下(示例):
class VariableTest{
public static void main(String[] args){
int myAge = 12; //变量的定义
System.out.println(myAge); //变量的使用
//int myNumber;变量的声明
//myNumber = 22;变量的赋值
}
}
2.说明:
①变量必须先声明和赋值,后使用;
②变量都定义在其作用域内,在作用域内是有效的,出作用域外失效;
③同一个作用域内,不可以声明两个同名的变量
④使用变量名来访问这块区域的数据
三、变量的分类与使用
1.按数据类型分为基本数据类型和引用数据类型
基本数据类型:整形:byte(1字节) \ short(2字节) \ int(4字节) \ long(8字节)
浮点型:float (4字节)\ double(8字节)
字符型:char(2字节)
布尔型:boolean
引用数据类型:类(class)、接口(interface)、数组(array)
①.整型变量的使用
//整型byte(1字节=8bit)、short(2字节)、int(4字节)、long(8字节)
//byte表数范围: -128~127
//例如b2 = 128; 编译不通过
//long类型变量,必须以大小写“l”或“L”结尾 例如 long a = 1234567l;
//定义整型变量时通常使用int型
②. 浮点型变量的使用
//浮点型:float(4字节)\double(8字节)
//float表示的数值范围比long还大
//注意事项:定义float类型变量时,要以“f”或“F”结尾 例如 float f = 123.5f
//通常定义浮点型变量时,使用double型
③字符型变量的使用
//char(1字符=2字节)
//定义char类型变量,通常使用一对'',只能写一个字符.例如 char c1 = 'a';
④布尔型变量的使用
//布尔型:boolean
//只能取两个值之一:true、false
//常常在条件判断、循环结构中使用
四、变量中基本数据类型之间的运算规则
前提:只讨论7种基本数据类型变量间的运算,不包含boolean类型的。
1.自动类型提升:
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte、char、short-->int-->long-->float-->double
注意事项:当byte、char、short三种数据类型的变量做运算时,结果都应该为int型。
说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量
class VariableTest2{
public static void main(String[] args){
byte i = 2;
char c = 'a';
short s = 10;
int i1 = 22;
int i2 = i + i1;
//byte b2 = i + i1; 编译不通过
//char c2 = i + c;编译不通过
//short s2 = i + s;编译不通过
//char c3 = c + s;编译不通过
System.out.println(i2);
}
}
2.强制类型转换:自动类型提升运算的逆运算
①需要使用强转符:()
②注意点:强制类型转换,可能导致精度损失
class VariableTest{
public static void main(String[] rags){
double d1 = 12.9;
int i1 = (int)d1;
System.out.println(i1);//输出为12,截断操作,出现精度损失
long l1 = 123;
short s2 = (short)l1;//没有精度损失
int i2 = 128;
byte b = (byte)i2;
System.out.println(b);//输出为-128,精度损失
}
}
变量之间运算中容易出现的特殊情况:
class VariableTest{
public static void main(String[] rags){
//情况1:
long l = 123213;
System.out.println(l);//编译通过
long l = 123321321312;//编译失败,需加上“L”或“l”
//整形常量,默认类型为int型
//浮点型常量,默认为double型
//情况2:
float f1 = 12.3;//编译不通过,需加上“F”或“f”
byte b = 12;
byte b1 = b + 1;//编译失败
float f2 = b + 12.3;//编译失败
}
}
总结
这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅介绍了变量、变量分类与使用、变量数据类型之间的运算