读java编程那些事——查漏补缺

来源:互联网 发布:原装ubuntu的电脑 编辑:程序博客网 时间:2024/05/17 00:01

一、类型转换

1.自动类型转换:从存储范围小的类型转换到存储范围大的类型

byte(1)——short(char)(2)——int(4)——long(8)——float(4)——double(8)

注:括号内数字为占用空间字节数

2.强制类型转换:从存储范围大的类型转换为存储范围小的类型(去一法:3.9取3)

(与上式相反)

注:整数强制转换为整数时取数字的低位。如:

int m=1234;

byte b=(byte)m;

则,b为-46。1234化为二进制为100 1101 0010,取后八位,1101 0010,最高位符号位1,代表负数,存储机器数为补码,原码为10101110,

故,该值就是十进制-46。

二、运算符

1. / 除,取商

% 取余

2.&与&&

&和&&在功能上没有大区别,区别在于:对于&,如果左侧条件为false,也会计算右值。

(虽然对该运算不会产生什么影响,但是有可能通过运算,对参与运算的参数的值产生影响)

对于&&,如果左侧条件为false,则不会计算右值。这种现象叫做短路现象。


三、数组

1.由于数组是复合数据类型,所以声明完成以后其默认值是null。

补充:字符型(char)默认值是编号为0的字符,而不是字符0。在ASCII中编码为0的字符为空格符null。

2.动态数组初始化需要用到new关键字,为初始化时,每个元素的值取数组类型对应的默认值,如

boolean类型默认值为false

其他7种基本数据类型是0.

3.在代码中出现非法的下标不会出现语法错误,但会导致运行时出现异常。

4.数组中应用的几个小技巧

(1)在多次循环判断中,立一个小小的flag会省很多运算量

(2)数组的下标是数字,int[]型数组中存的是数字。有时下标可以表示数据。

例如,统计某个数字的个数。如2,每出现一个2,将int[2]中的数据+1,2表示所要统计的数字,2中存储其个数。

5.多维数组求长度,分维度求。


原创粉丝点击