昨天毕业设计出错,废了一天…~
慢慢来,比较快
目录
1. 变量
1.1 变量的概念:
- 内存中的一个存储区域;
- 该区域的数据可以在同一类型范围内不断变化;
- 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值;
1.2 变量的作用:
用于在内存中保存数据。
1.3 声明和赋值变量
1.3.1 声明变量
格式: 类型 变量名 ;
当有多个变量同属一个类型时,各变量可在同一行定义,只需用,
隔开即可。
eg:
int a, b, c ;
1.3.2 变量的赋值
格式: 变量名称 = 初始化值
eg:
a = 1;
1.3.3 声明且赋值变量
格式: 数据类型 变量名 = 初始化值
eg:
int a = 1;
注:
- 变量必须先声明,后使用,不然会报编译错误;
- 变量都定义在其作用域内,在作用域内,它才是有效的;
- 同一个作用域内,不能定义重名的变量;
- 需要注意的是,变量可以连续声明,但不可连续赋值。
eg:
int a = b = c =1;//编译不通过
2. Java中定义的数据类型
2.1 变量按数据类型来分:
基本数据类型 vs 引用数据类型
2.1.1 基本数据类型
- 整型:byte(1字节=8bit(-128 ~ 127)) \ short(2字节) \ int(4字节) \ long(8字节)
- 浮点型:float(4字节) \ double(8个字节)
- 字符型:char(1字符 = 2字节)
- 布尔型:boolean
2.1.1.1 整型:
注:
声明long型变量,必须以 l
或 L
结尾;
通常,定义整型变量时,使用int型。
2.1.1.2 浮点型:
注:
浮点型,表示带小数点的数值;
float表示的数值的范围比long还大。
定义float类型变量时,变量要以 f
或 F
结尾
通常,定义浮点型变量时,使用double(不仅范围比float大,而且精度还更高,最重要的是还省了写“f”;妥妥别人家的孩子,谁不喜欢呢~)
2.1.1.3 字符型:
定义char型变量,通常使用一对''
内部只能写一个字符。
表示方式:
- 声明一个字符
- 转义字符
eg:
'\n','\t'
直接使用Unicode值来表示字符型常量。
eg:
c = '\u0043'//为char型变量c赋值
2.1.1.4 布尔型:
只能取两个值之一,true、false;
常常在条件判断、循环结构中使用。
2.1.2 引用数据类型
- 类(class)
- 接口(interface)
- 数组(array)
String类型变量的使用:
- String属于引用数据类型,翻译为:字符串;
- 声明String类型变量时,使用一对
" "
; - String可以和8种基本数据类型变量做运算,且运算只能是连接运算:
+
,运算结果仍然是String类型。
eg:
int i = 1234;
String str = " " + i;//str = "1234"
2.2 变量在类中声明的位置:
成员变量 vs 局部变量
2.3 基本数据类型之间的运算规则:
前提: 这里讨论的只是7种基本数据类型变量间的运算。不包含boolean类型的。
2.3.1. 自动类型提升
- 当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升位容量大的数据类型。
byte、char、 short --> int --> long --> float --> double - 特别地:当byte、char、 short 三种类型的变量做运算时,结果为int型。
注:
此时的容量大小表示数的范围的大小;
比如:float容量要大于long的容量。
2.3.2. 强制类型转换:自动类型提升运算的逆运算
格式:(欲转换的数据类型)变量名
eg:
int a = 251;
int b = 6;
float f;//f = 41.8333333...
(int)f = a/b;//f = 41
注:
- 需要使用强转符:
()
, - 强制类型转换可能导致精度损失。
2.3.3字符串转换成数据型数据的方法
转换的方法 | 功能说明 |
---|---|
Byte.parseByte(String s) | 将数字字符串转换为字节型数据 |
Short.parseShort(String s) | 将数字字符串转换为短整型数据 |
Integer.parseInt(String s) | 将数字字符串转换为整型数据 |
Long.parseLong(String s) | 将数字字符串转换为长整型型数据 |
Float.parseFloat(String s) | 将数字字符串转换为浮点型数据 |
Double.parseDouble(String s) | 将数字字符串转换为双精度型数据 |
Boolean.parseBoolean(String s) | 将字符串转换为布尔型数据 |
eg:
String myNumber = "123.456";
float myFloat = Float.parseFloat(myNumber);//myFloat = 123.456
进制之间的转换这部分内容直接跳过