##java简介
- 版本
- 跨平台
- 环境搭建
- jdk jre jvm
- jdk --java develop kit
- jre --java runtime environment
- jvm --java virtual machine
- 第一个java程序
public class Hello {
public static void main(String []args){
System.out.println("Hello World!");
}
}
-
java 内存模型
-
jdk command line
- javac
- java
- jar
- javadoc
- ....
##java数据类型
##java流程语句
- if else
- while && do while
- for && for each
- this 关键字
##异常处理
- 异常分类
- try catch finally
- throw throws
- 自定义异常
- extends RuntimeException
##java 面向对象
继承
单一继承 extends关键字
封装
- class
- package
多态
- 构造方法多态
- super关键字
- 成员方法多态
###接口 和 抽象类
-
interface
-
abstract
classabstract
method
##java 基本数据类型 和包装器类
basic | Wrapper class |
---|---|
int | Integer |
double | Double |
float | Float |
char | Character |
long | Long |
short | Short |
boolean | Boolean |
- 转换方法
Integer integer = new Integer(int);
Integer.toInt();
int pint = Integer.parseInt(integer);
jdk5.0 以后,java支持基本数据类型和包装器类型自动装箱和拆箱,由编译器完成
##Object class
- basic method
- equals(Object obj)
- hashcode()
- toString()
##Inner class
- Simple Inner Class
class OutterClass {
class InnerClass {
}
}
- 匿名内部类
public class Outer {
public static void main(String[] args) {
Outer outer = new Outer();
Inner inner = outer.getInner("Inner", "gz");
System.out.println(inner.getName());
}
public Inner getInner(final String name, String city) {
return new Inner(name, city) {
private String nameStr = name;
public String getName() {
return nameStr;
}
};
}
}
abstract class Inner {
Inner(String name, String city) {
System.out.println(city);
}
abstract String getName();
}
内部类和接口 一起实现多继承
##String && StringBuffer StringBuilder
StringBuffer 线程安全的 StringBuilder 线程不安全
##Date && Calendar
- java.util.Date
- java.text.SimpleDateFormat
- Date -->String
- String --> Date ##io
- File class
- stream
输入 | 输出 | 字节 | 字符 |
---|---|---|---|
InputStream | OutputStream | Reader | Writer |
##集合类
###各种接口和实现类
- Collection接口
- List(有序有重复)
- ArrayList
- LinkdList
- iterator()
- List(有序有重复)
- Set 接口(无序不重复)
- hashset
- TreeSet
- Iterator 接口
- next()
- hasNext()
- Collections 工具类
- sort
- Map (key不重复)
- HashMap
- TreeMap
###遍历方法
- for each
- for iterator
- for
###转换方法
- List to array
- Set to List
- Map to List
- List to Map
- List to Set
###范型
- 范型定义
ArrayList<E>
其中E
为具体的类
##JDBC
不同数据库不同的驱动包,实现java对不同数据库操作的API
- JDBC API
- DriverManager class
- Connection interface
- Statement class
- PreparedStatement class
- ResultSet
- SQLException
- example:
public static Connection getConnection(){
try {
Class.forName(DB_DRIVER);
conn = DriverManager.getConnection(DB_CONNECTION_URL, DB_NAME, DB_PWD);
if (conn!=null) {
System.out.println("connection success!");
}else{
System.out.println("connection failure!");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
- PreparedStatement
预处理
- CallabledStatement
存储过程调用
Connection.prepareCall
{?=call function(?)}
- 事务(Transaction)
默认mysql中每一条sql语句都认为是一个事务,自动提交该事务,setAutoCommit(false), 改为手动提交事务。