java中基本数据类型和变量的注意点
1. 关于变量:
按照范围划分:
- 全局变量:
- 1)范围更广,定义在类里面,方法的外面。该类中所有的方法都可以使用该变量
- 2)全局变量自带默认值,使用之前可以不给他赋值
- 3)可以使用访问修饰符(public,private,protected),去修饰
- 局部变量:
- 1)范围更小,定义在方法或者代码块的内部
- 2)在使用之前,必须赋值
- 3)不能使用访问修饰符
2 . 关于数据类型:
八大数据类型为:
-
Java 的整型常量默认为 int 型,声明 long 型常量须后加 ‘l’ 或 ‘L’
-
Java 的浮点型常量默认为 double 型,声明 float 型常量,须后加 ‘f’ 或 ‘F
-
boolean类型数据只允许取值true和false,不可以0或非 0 的整数替代true和false,这点和C语言不同。
-
char 型数据用来表示通常意义上"字符";默认的是 空,可以存储一个中文.,char 类型是可以进行运算的。因为它都对应有 Unicode .
3. 关于数据类型的自动类型转换:
数据类型的大小为:
-
范围小的类型,会自动的转为范围大的类型,不需要额外处理
-
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
-
byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
-
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。
4. 关于数据类型的强制类型转换:
-
强制类型转换可能造成精度降低或溢出,格外要注意
-
字符串不能直接转换为基本类型,需要通过包装类去实现
-
boolean类型不可以转换为其它的数据类型
下面这块代码中会报错;因为byte,short,int,long,这些整形的数据类型默认的是int型,s1=s1+1;这行代码中,s1是short型,而 1 是int 型,所以两者相加需要强转。
package hai.se.day02;
public class Dem01 {
public static void main(String[] args) {
short s1=10;
s1=s1+1;//这里会报错
s1=(short)(s1+1);//这才是正确的
}
}
**4. 关于逻辑运算符中&和&&,| 和 || 的区别: **
我们都知道and表示同真则为真,or则表示有一真则为真;
& 和 && 都表示是 and(与),| 和 || 都表示 or或),但是有区别的,当执行判断的时候,如果使用的 &,判断出了第一个条件为false时,按照and的规则我们应该知道这时候不管后面的条件是否满足都是为false, 而 & 表示计算机还会执行后面的代码, && 则在执行 第一条件为false后就不再执行后面的代码了。
5. 总结
1.我们需要区别全局变量和局部变量,一个范围大一个范围小,一个使用前可以不用赋值,一个必须要赋值,一个可以用修饰符修饰,一个不能修饰。
2.记住整形的默认是int,所以long型要加L;浮点型默认是double,所以float要加F;byte, chat,short之间不能转换,要先转换为int。
3.明白逻辑运算符的区别。