1.在给长整型变量赋值时,如果不在数据尾部加L则默认为4字节的整型,超过4字节表示范围的数赋值时要在末尾加L
2.数值2.3默认为double型,要将其赋值到float型变量上要在数值尾部加上f
3.在JAVA中默认整数为int型,如果将整数的值赋给byte型变量,编译时会判断整数的值是否在byte型数值能表示的范围内,若能则只留下一个字节来表示这个数,否则编译将会报错。
当两个byte型变量相加再赋给byte型变量时,由于系统无法识别是否会超出范围则编译报错
但是如果两个int型整数相加再赋给int型变量,编译可以通过,这是因为系统会默认保留最后的4个字节,溢出部分被舍去。(Integer.MAX_VALUE为int型整数可以表示的最大值)
4.负数求余,符号只取决于被模数,两数绝对值求模,符号与被模数相同
5.自加的运算步骤
i = i++;
等效为
temp = i;
i++;
i = temp;
系统会自动分配一块内存用于存放i的初始值,所以赋值运算符是最后运行的。输出i为3。
6.右移运算符>>
在进行右移是如果之前最高位为1,则右移之后高位全部补1,为0则补0。
无符号右移>>>右移高位都用0补。
7.不使用第三变量交换两个变量的值
利用异或^
8.三元运算符(问号运算符)可以看成时if else 语句的简写
9./转义符
10.continue和break单独存在时,下面不要有任何语句,因为执行不到。
11.栈和堆
C++中内存释放要通过程序员手动书写代码进行释放,Java则有自己的垃圾回收机制,自动检测内存中的垃圾并选择何时释放。JAVA的内存管理机制优于C++
12.直接打印数组的名称会得到一个哈希算法的地址值,如[I@c17164,@符号是分界线,前面的[表示为数组变量,I表示为int型,后面为六位16进制数表示的地址值。
13.选择排序和冒泡排序
14.java.util下自带折半查找函数
Array.binarySearch(array,num),返回值为正则表明查找数所在的下标,为负则是该数顺序插入点下标加一再取相反数
15.将十进制数据转换为其他进制Integer.toBinaryString(num)
16.static修饰词
17.主函数的格式
启动java虚拟机时,通过在类名后面添加字符串可以给主函数传参。