JavaSE基础
1、栈和堆的区别
栈用来存储局部变量,堆用来存放各种实例对象;
栈是一级缓存,堆是二级缓存,栈的存取速度要由于堆;
栈是一种先进后出的数据结构(队列是先进先出的数据结构),堆是随意存取,堆类似于树的结构;
2、方法的重载与覆盖
重载:同一个类结构中,方法名相同而参数列表不同 ,返回值也可不同
覆盖:子类重写父类的方法,方法名、参数列表、返回值都一样
3、Eclipse的断点调试与其快捷键使用
1)、设置和取消断点的方法
2)、断点的调试
3)、发现一个超级好用的快捷键CTRL+SHIFT+L,可以搜索Eclipse的快捷键使用说明,在不想使用鼠标的时候特别好用;比如说run–CTRL+F11、包的自动import–CTRL+SHIFT+M等等
4、面向对象的三大特征
继承、封装、多态
5、简单的io流
FileWirter与FileReader、BufferedWriter与BufferedReader
writer()、flush()、close()
reader()…
…
6、简单的算法题
设计一个算法,计算出n阶乘中尾部零的个数
思路:计算出n个数中所包含的所有因式分解质数为5的个数
例:6→6/5=1
30→30/5+30/25=7
…
public class Solution {
/*
* @param n: An integer
* @return: An integer, denote the number of trailing zeros in n!
*/
public long trailingZeros(long n) {
long count = 0;
long temp=n/5;
while (temp!=0) {
count+=temp;
temp/=5;
}
return count;
}
}