开发java程序:
编写源代码 ==> 编译源代码 ==> 执行二进制文件
八种基本数据类型:
byte short int long float double char boolean
八种基本数据类型对应的包装类型:
Byte Short Integer Long Float Double Character Boolean
int和Integer的区别:
int: 基本数据类型,表示整数。
Integer: 引用数据类型,有对应的方法,parseInt方法;集合中的元素必须是引用数据类型。所有必须用Integer。
final修饰的变量为常量。
i++和++i的区别:
i++是先赋值,后运算。
++i是先运算,后赋值。
流程控制的三种结构:
顺序结构、分支结构、循环结构。
switch括号中的表达式可以是什么数据类型:
byte, short, int, char, 枚举,jdk1.7之后可以是String类型。
for循环和while循环适用的场景:
for:有固定循环次数
while:没有固定循环次数
遍历数据的方式:
普通for循环和增强for循环
数组经常遇到的异常:
数组下标越界异常(ArrayIndexOutOfBoundsException)
数据一旦定义,他的长度就固定了。length属性
面向对象三大特征:
封装、继承、多态
封装:把属性私有化,对外提供公共的访问接口。或者是把一段代码封装成方法。
继承:子类继承父类。当已有的数据类型已经不能满足我们的需求,需要对这个类型进行扩展,可以使用继承。
哪些可以被继承:
非私有的属性和方法可以被子类继承
哪些不可以被继承:
私有的属性和方法不可以被子类继承,构造方法也不可以被子类继承
方法的重载和重写的区别:
方法的重载:在同一个类中,方法名一样,参数列表不一样。
参数列表不一样分三种形式:
1. 类型不一样
2. 个数不一样
3. 顺序不一样
方法的重写:出现在子类和父类中,方法名一样,参数列表一样。
子类方法的修饰符不能严于父类。
修饰符 本类中 本包中 子类中 全局
private 能
friendly 能 能
protected 能 能 能
public 能 能 能 能
多态:多种状态,表现为方法的重载,方法的重写。。。简述为父类的引用,子类的对象。
List list = new ArrayList();
List list = new LinkedList();
抽象类:抽象的类,用abstract修饰,抽象类中可以含有抽象方法,也可以含有普通方法;
抽象类不能被实例化。
接口:属于特殊的抽象类。用interface修饰。接口中的属性都是由public static final修饰(静态常量),
接口中的方法都是由public abstract修饰(抽象方法),接口是一种标准。
接口的方法能不能被static修饰 不能
接口中的方法能不能被final修饰 不能
接口的引用,实现的对象
List list = new ArrayList();
异常的五个关键字及其作用:
try: 放置可能发生异常的代码
catch:捕获异常
finally:放置总要执行的代码,无论发不发生异常finally块中的代码始终会被执行
throw:抛出异常
throws:声明异常
集合框架:
Collection
List set map
Collection和Collections有什么区别:
Collection是集合的根接口
Collections是一个操作集合的工具类
遍历List集合的方式:
普遍for循环、增强for循环、迭代器
遍历Set集合的方式:
增强for循环、迭代器
List集合和Set集合的区别:
List: 有序的、不唯一的、可以包含多个null值的集合
Set: 无序的、唯一的、可以包含且只能包含一个null值的集合
ArrayList和LinkedList的区别:
ArrayList: 数组实现,检索效率快
LinkedList: 链表实现,插入和删除效率快
Map:是由键值对所组成,键必须唯一,一个键只能包含一个值,
怎么获取Map集合中的所有的键: keySet()
怎么获取 Map集合中的所有的值:values()
entrySet;
把字符串反序:
StringBuffer和StringBuilder的区别:
StringBuffer:是线程安全的,执行效率慢
StringBuilder: 是线程不安全的,执行效率快
产生随机数的公式:
(int)(Math.random() * (大 - 小 + 1) + 小)
产生小写字母:
int ran = (int)(Math.random() * (122 - 97 + 1) + 97);
System.out.println((char)ran);
日期的格式化和日期的解析
字节流的两个根类:InputStream, OutputStream
字符流的两个根类:Reader, Writer
字节流转字符流的桥梁:InputStreamReader
字符流转字节流的桥梁:OutputSteamWriter
序列化:将对象转换成流的过程
反序列化:
Serializable
实现多线程的两种方式:
继承Thread类
实现Runnable接口。
建议使用实现Runnable接口,因为java是单继承,继承Thread类之后就不能继承其他类了,
但是实现Runnable接口之后还可以实现其他的接口。
实现同步的两张方式:
同步方法和同步代码块
XML DOM解析、SAX解析、DOM4J