2.总结
a. 八大基本数据类型和对应的内存空间
整数数据类型
byte 内存空间:1个 字节
short 内存空间:2个字节
int 内存空间:4个字节
long 内存空间:8个字节
小数数据类型
float 内存空间:4个字节
double 内存空间:8个字节
字符类型
char 内存空间:2个字节
布尔类型
boolean 内存空间:1位字节
b. 什么是自动类型转换和强制类型转换
自动类型转换
所谓自动类型转换,就是把小的数据类型转换转换为大的数据类型。
转换规则:byte、short、char——>int——>long——>float——>double
byte,short,char之间不进行抓换,它们参与运算首先转换为int类型,boolean不参与转换
语法:大的数据类型 变量 = 小的数据类型变量值
强制类型转换
强制类型转换,就是把大的数据类型强制转换为小的数据类型
语法:小的数据类型 变量 = (小的数据类型) 大的数据类型值
注意:一般不建议使用强转,可能会损失精度
例如:
public class convert{
public static void main(String[] args){
int i = 1000;
byte b = (byte) i;
System.out.println(b);
}
}
c. 什么是自动类型提升?
在表达式中,byte、short、char类型值会自动提升为int类型,再参与运算。
注意:表达式的最终结果的数据类型为该表达式中数据类型最高的数据类型
d. 变量的作用是什么?使用变量需要注意的问题?
变量的作用相当于容器,就是用来存储数据的。当我们需要用到一个常量很多次的时候,这时会很不方便。
变量的优点:1>可以改变变量的值。2>变量可以重复性使用
使用变量时需注意:
1>变量必须先声明,并且赋值后,才能使用,否则报错。
2>定义变量时,必须要有数据类型
3>变量从开始定义的花括号内可以使用,离开这个花括号不能使用
4>变量在同一作用域中,不能重复定义
e. 前置++和后置++的区别?
前置++:
先自增,再运算。举个例 int b = ++a;在这个表达式中,a先自增1,再把自增后的结果赋值给变量b
后置++;
先赋值,再自增。举个例 int b = a++;在这个表达式中,先把a的值赋值给变量b,再让a自增1
f. short s = 1;s = s + 1;和s+=1的区别?
short s = 1;s = s + 1;
定义一个short类型的变量s,并初始化值1赋值给变量s。
s + 1表达式中,s的数据类型为short类型,会自动提升为int类型,那么s+1的结果为int类型,再把s+1的结果赋值给数据类型为short的变量s,把数据类型大的值赋值给数据类型小的变量,报错。
s += 1;
+=会自动为我们进行强制类型转换。故次表达式的结果为2。
g. =和==的区别
=:
=为赋值运算符,把=右边的值赋值个=左边的变量
==:
· ==为逻辑运算符,用于判断==左右两边的值是否相等,结果为boolean类型,也就是true或false
h. 三元运算符使用过程中,需要注意的语法?
三元运算符语法:数据类型 变量 = 布尔表达式 ?结果1 : 结果2
注意:
1>三元表达式的数据类型必须于结果1和结果2的数据类型相同,且结果1和结果2的数据类型也要相同。
` 2>三元表达式中必须定义变量接收运算的结果,否则报错。