本篇博客主要介绍了Java基本语法中变量(variable)d的使用,变量是指内存中的一个存储区域,用于在内存中保存数据,在该区域的数据可以在同一类型范围内不断变化。变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值。
使用变量注意要点
➣ Java中每个变量必须先声明,后使用➣ 使用变量名来访问这块区域的数据
➣ 变量的作用域:其定义所在的一对{ }内
➣ 变量只有在其作用域内才有效
➣ 同一个作用域内,不能定义重名的变量
变量的使用
```java -------------------------------- /*声明变量*/ 语法: <数据类型><变量名称> 例如: int num; --------------------------------- /*变量的赋值*/ 语法: <变量名称> = <值> 例如: num = 10; --------------------------------- /*声明和赋值变量*/ 语法: <数据类型><变量名称> = <初始化值> 例如: int num = 10; ---------------------------------- ```变量分类
**按数据类型分类**按声明位置分类
➣ 在方法体外,类体内声明的变量称为 成员变量
➣ 在方法体内部声明的变量称为 局部变量
✒ 同:都有生命周期
异:局部变量除形参外,需显式初始化
八大基本数据类型
八大基本数据类型包括:整数类型(byte,short,int,long)、浮点类型(float,double)、字符类型(char)、布尔类型(boolean)整数类型
**整数类型:byte 、short 、int 、long**➣ java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
➣ java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
➣ 1MB = 1024KB 1KB= 1024B(Byte)
➣ bit: 计算机中的最小存储单位。byte:计算机中基本存储单元
浮点类型
**浮点类型:float 、double**➣ float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
➣ double:双精度,精度是float的两倍。通常采用此类型
字符类型
**字符类型:char**➣ char 型数据用来表示通常意义上“字符”(2字节)
➣ Java中的所有字符都使用Unicode编码,一个字符可以存储一个字
母,一个汉字或其他书面语的一个字符
➣ 字符型变量的三种表现形式
//一:用英文单引号\'\'括起来的单个字符
char c1 = \'a\';
//二:使用转义字符\'\\\'来将其后的字符转变为特殊字符型常量
char c2 = \'\\n\';
//三:直接使用 Unicode 值来表示字符型常量,char c = \'/uXXXX\';其中XXXX表示一个十六进制整数
char c3 = \'\\u0041\'; //\'\\u0041\'代表\'A\'
➣ char类型是可以进行运算的,因为它都对应有Unicode码
布尔类型
**布尔类型(用来判断逻辑条件,一般用于程序流程控制):boolean**boolean类型只有true、false两个值,无null值
//if条件控制语句
if(boolean b1){ //b1=true进入该代码块
//do something
}
//while循环控制语句
while(boolean b2){ //b2=true继续循环,b2=false退出循环
//do something
}
//do-while循环控制语句
do{
//do something
}while(boolean b3); //b3=true继续循环,b3=false退出循环
//for循环控制语句
for(boolean b4){ //b4=true继续循环,b4=false退出循环
}
//注意循环语句中的布尔变量的值是变化的,需要在特定条件下退出循环状态
基本数据类型转换
自动类型转换
**容量小的类型自动转换为容量大的数据类型**➣ 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的
那种数据类型,然后再进行计算
➣ byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型
➣ boolean类型不能与其它数据类型运算
➣ 当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类
型的值将自动转化为字符串(String)类型
byte b1 = 10;
int i1 = 100;
//byte r1 = b1 + i1; 错误无法编译通过
int result1 = b1 + i1;
System.out.println(result1); //结果为int型,值为110
float f1 = b1 + i1;
System.out.println(f1); //结果为float型,值为110.0
short s1 = 10;
//short = b1 + s1; 错误,编译无法通过
int r2 = b1 + s1;
System.out.println(r2); //结果为int型,值为20
char c1 = \'a\';
int r3 = c1 + i1;
// shor s2 = b1 + s1;错误,编译无法通过
System.out.println(r3); //\'a\'=97,结果为int型,值为197
强制类型转换
➣ 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型➣ 使
用时要加上强制转换符:(),但可能造成精度降低或溢出,格外要注意
➣ 字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可
以实现把字符串转换成基本类型
boolean类型不可以转换为其它的数据类型
double d1 = 10.23;
int i1 = (int)d1;
System.out.println(i1); //结果为10,强制转换为int类型,损失精度,保留整数部分
int i3 = 1000;
//byte b1 = (byte)i3;byte范围不足,超出范围
变量运算的两个特殊情况
```java //特殊情况一;long的赋值运算 long l1 = 12345; System.out.println(l1);//结果为12345,12345自动转换为int型long l2 = 1234567890987654321;
//System.out.println(l2);编译报错,结果为int型,int型容量不足
long l3 = 1234567890987654321L;
System.out.println(l3);//结果为1234567890987654321,long型
//特殊情况二:byte、float的赋值运算
//float f1 = 12.3; 编译失败,12.3自动转换为double,无法赋值给float型
float f2 = 12.3F; //正确赋值方式
byte b1 = 10;
// byte b2 = b1 + 1; 编译失败,1为int型,b1+1自动转换为int型,无法赋值给byte型
//flat f1 = b1 + 10.0;编译失败,10.0为double型,b1+10.0自动转换为double型,无法赋值给float型
<br/>
***
<h2><font color=#FF6699>字符串类型</font></h2>
<font color=#666699>➣ String不是基本数据类型,属于引用数据类型</font>
<font color=#666699>➣ 使用方式与基本数据类型一致,用” “包裹变量值。例如:<font color=#FF9966>String str = “abcd”;</font></font>
<font color=#666699>➣ 一个字符串可以链接接另一个字符串,也可以直接连接其他类型的数据,使用’+‘链接</font>
```java
String s1 = "abc";
int i1 = 100;
System.out.println(s1 + i1); //输出结果为String类型,值为”abc100“
练习(判断对错/说出输出结果,鼠标移动到✍上显示结果)
String str1 = 4; ✍
String str2 = 3.5f + “”; ✍
System.out .println(3+4+“Hello!”); ✍
System.out.println(“Hello!”+3+4); ✍
System.out.println(‘a’+1+“Hello!”); ✍
System.out.println(“Hello”+‘a’+1); ✍
本博客与CSDN博客༺ཌ༈君☠纤༈ད༻同步发布