变量和运算
java是一个强类型语言
数据类型、常量、变量
常量
-
程序运行过程中固定不变的量
-
final定义的变量也是常量
变量
-
程序运行过程中,值可以变化的量
变量的作用:变量表示某一存储空间,可以用来存储某一类型的常量,没有固定的值,可以重复的进行使用,当某一常量要多次使用,并且值是不确定的,这时就可以用变量来代替常量.
使用变量时注意:
在一个同一个类里面,变量名不能重复
定义变量需要确定数据类型
变量定义后要进行初始化,不然无法使用该变量
变量初始化的值不能超过变量本身数据类型的精度
八大基本数据类型和对应的内存空间
数据类型 | 占内存字节数 | 数据类型 |
---|---|---|
byte | 1 | 整数类型 |
short | 2 | 整数类型 |
int | 4 | 整数类型 |
long | 8 | 整数类型 |
float | 4 | 小数类型 |
double | 8 | 小数类型 |
char | 2 | 字符类型 |
boolean | 1位 | 布尔类型 |
什么是自动类型转换和强制类型转换
自动类型转换:由范围小的数据类型转换为范围大的数据类型(flat虽然只占4个字节,但是flat范围比long大,boolean不参与类型转换)
强制类型转换:由范围大的数据类型转换为范围小的数据类型(强转数据类型一般会损失精度,不建议强转,强转前的数据范围不要超过要强转的数据范围否者会导致数据被截取)
什么事自动类型的提升
自动类型的提升:参与数据运算的各个数据类型,那个数据类型的范围大,最后得到的结果的数据类型就是范围最大的那个数据类型
前置++和后置++的区别
前置++:就是本身先进行自加,自加后的结果在参与运算
后置++:先参与运算,本身在自加
short s = 1; s = s + 1;和s+=1的区别
short s = 1:定义一个short变量s,并进行初始化赋值为1
s = s + 1:本身这个语法是错误的,首先s变量是一个short的数据类型,1默认为int类型,由于数据类型的自动提升结果应该由一个int类型的变量接受,正确的语法应该是
s = (short)(s + 1)
S+=1:该语法是正确的,s+=1相当于s = s+1,+=是一个简化的运算符,运用该运算符,底层会自动的帮我们进行一个类型的转换
=和==的区别
=:是一个赋值的运算符
public class test { public static void main(String[] args) { //定义一个变量a,并进行初始化赋值 此时a就等于6 int a = 6; // 定义一个变量b,不进行初始化赋值 int b; //把a的值赋给b 此时b就等于6 b=a; } }
==:是一个比较运算符,比较一个两个变量是否相等,结果为boolean类型
.三元运算符使用过程中,需要注意的语法
语法格式:
数据类型 变量 = boolean表达式 ? 结果A :结果B;
其意思是如果这个boolean表达式为true,其结果就是A,如果为fales,结果就是B;
注意事项:
结果A和结果B的数据类型必须一样
结果A :结果B;
其意思是如果这个boolean表达式为true,其结果就是A,如果为fales,结果就是B;
**注意事项**:
> 结果A和结果B的数据类型必须一样
>
> 三元运算符运算的结果必须定义变量来接受,否者会报错