咸鱼带你学Java—变量的使用

目录

一、变量

1.概念

2.作用

3.定义变量格式

4.使用变量注意点

二、变量的分类

1.按数据类型分类

2.按声明的位置分类(了解)

三、基本数据类型变量间运算规则

1.自动类型转换

2.强制类型转换

3.String与8种基本数据类型间的运算


一、变量

1.概念

  • 内存中的一个存储区域
  • 该区域的数据可以在同一类型范围内不断变化
  • 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

2.作用

用于在内存中保存数据

3.定义变量格式

//第一种方式
//数据类型  变量名 = 变量值;
int age = 20;

//第二种方式
//数据类型  变量名; 
//变量名 = 变量值; 
int age;//声明变量名
age = 20;//使用变量

4.使用变量注意点

  • Java中每个变量必须先声明,后使用
  • 使用变量名来访问这块区域的数据
  • 变量的作用域:其定义所在的一对{ }内
  • 变量只有在其作用域内才有效
  • 同一个作用域内,不能定义重名的变量 

二、变量的分类

1.按数据类型分类

对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间。

对基本数据类型详细说明,引用数据类型将在后面的学习中介绍。

1、整数类型:byte(1字节=8bit) \ short(2字节=16bit) \ int(4字节=32bit) \ long(8字节=64bit)【依次增加一倍】
     ① byte范围:-128 ~ 127
     ② 声明long型变量,必须以"l"或"L"结尾
     ③ 通常,定义整数类型变量时,使用int型。
     ④整数类型的常量,默认类型是:int型
2、浮点类型:float(4字节) \ double(8字节)
     ① 浮点型,表示带小数点的数值
     ② float表示数值的范围比long还大【使用精度与数值范围相矛盾,精度越大,数值范围越小】
     ③ 定义float类型变量时,变量要以"f"或"F"结尾
     ④ 通常,定义浮点型变量时,使用double型。【采用精度大的定义变量】
     ⑤ 浮点型的常量,默认类型为:double
3、字符类型:char (1字符=2字节)
     ① 定义char型变量,通常使用一对'',内部只能写一个字符
     ② 表示方式:1.声明一个字符,例如:char c1 = 'a';   2.转义字符,例如:char c3 = ‘\n’;3.直接使用 Unicode 值来表示字符型常量,例如:\u000a 表示 \n;
     ③char类型是可以进行运算的。因为它都对应有Unicode码。
4、布尔类型:boolean
     ① 只能取两个值之一:true 、 false
     ② 常常在条件判断、循环结构中使用

2.按声明的位置分类(了解)

  • 在方法体外,类体内声明的变量称为成员变量。
  • 在方法体内部声明的变量称为局部变量。

注意:二者在初始化值方面的异同:

  • 同:都有生命周期
  • 异:局部变量除形参外,需显式初始化。

三、基本数据类型变量间运算规则

1.自动类型转换

a.定义:容量小的类型自动转换为容量大的数据类型。【只涉及byte/short/int/long/char/float/double基本数据类型,不包含boolean】

b.规则:

  •  当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
  •  byte 、char 、short --> int --> long --> float --> double 
  •  特别的:当byte、char、short三种类型的变量做运算时,结果为int型

c.说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量

2.强制类型转换

a.定义:自动类型提升运算的逆运算。【只涉及byte/short/int/long/char/float/double基本数据类型,boolean基本类型除外】

b.使用规则:需要使用强转符:()

c.注意点:强制类型转换,可能导致精度损失。

3.String与8种基本数据类型间的运算

1. String属于引用数据类型,翻译为:字符串。【关于String的结构后面的学习中将会提到】
2. 声明String类型变量时,使用一对""。例如 String name="Tom";
3. String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
4. 运算的结果仍然是String类型

猜你喜欢

转载自blog.csdn.net/qq_37324376/article/details/107725755
今日推荐