1.标识符
我们在给方法或者类取名字的时候,就需要有一定的规则。
标识符是由英文大小写字母 or 数字字符 or $ or _(下划线) or 中文,在命名的时候,需要注意:
1.不能以数字开头;
2.不能包含除了$和_(下划线)以外的特殊符号;
3.不能使用java中的关键字;
4.必须要区分大小写,java是一门大小写敏感的语言;
5.最好不用中文,因为在编译的时候容易出现乱码(解决方法在上一章中)。
2.数据类型 1.数据类型位数
数据类型分为了基本数据类型和引用数据类型,其中基本数据类型分为了整数类型,浮点类型,字符型,布尔型;引用数据类型分为了类,接口和数组,来看一看其中类型所占有的字节数。
| 整数类型 | byte(1个字节) |
| 整数类型 | short(2个字节) |
| 整数类型 | int(4个字节) |
| 整数类型 | long(8个字节) |
| 浮点类型 | float(4个字节) |
| 浮点类型 | double(8个字节) |
| 字符类型 | char(2个字节) |
| 布尔类型 | boolean(4个字节) |
转换的时候分为了自动转换和强制转换:
首先我们来看一下每一个类型的取值范围排序:
byte < short < int < long < float < double。
自动转换:取值范围从小往大转,默认就会进行转换,比如:
byte b = 1; short s = b; int i = s; long l = i;
那么在申明变量的工程中,首先是将1赋值给了byte类型的b,然后再将byte类型的b转换为shortl类型的b,再赋值给short类型的s,以此类推,在赋值的时候就会进行自动转换了。
强制转换:
我们需要将取值范围大的往小的转,那么我们就需要进行强制转换了
语法:目标类型 变量名 = (目标类型)(被转换的数据)
比如:
double i = (double)12;
那么最后输出的结果就是12.0,将12原来是int型,经过强制转换后成为了double型。
注意点:1.在程序中直接出现的数字叫做数字字面量,如果出现的是整数,那么默认为int型,如果是小数,默认为double型。
2.字符类型的值必须要用单引号括起来,比如char s = 'a';
3.布尔类型的值只有true 和 false
4.1个字节等于8个比特
报错点:1.
byte b1 = 1; byte b2 = 128;
我们在声明变量的时候常常会报错,比如以上代码,第一句话不会报错,而第二句话会报错,首先先看等号右边的数字字面量1,但是1在byte类型的取值范围之类,所以不会报错,但是第二句话右边的数字字面量为128,超出了byte的范围(-127--- +128),所以会报错。
2.
long l1 = 12345678901; long l2 = 12345678901L;
我们再来看这一个,这次第一句话会报错,第二句话不会报错,我们还是首先来看右边的数字字面量,我们说一般整数默认是int型,但是这个数字字面量超出了int型,就会报错,第二句话后面多了一个L,代表我们将这个数字的数字字面量看做long型,这样就没有超出范围,就不会报错了。
3.
float f1 = 1; float f2 = 1.0;
再来看这一句话,这次第一句话不会报错,而第二句好会报错,我们还是先看右边的数字面量,1是整型,那么整型的范围是要比浮点型的范围小的,所以会进行自动转换,而第二句话,还是先看右边的数字字面量,1.0是小数,默认为double型,而double型不能自动转换为float型,所以会报错,我们可以这样来改:
float f2 = (float) 1.0; float f2 = 1.0f;
第一句话的意思就是进行强制转换,第二句话就是让我们认为1.0的类型是float型,两种方法都可以,但是从底层来说,第二句话的效率会更高一点,因为第一句话是将64位的double型转换为32位的float型,这样会浪费空间。



