JAVA基础PPT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA基础篇
JAVA优点
平台无关性 分布式应用 多线程 纯面向对象 应用范围广

(1)Java的桌面应用 (2)Java Web应用 (3)Java企业级应用 (4)Java嵌入式应用 …
JAVA编译原理
Java编译程序将Java源程序编译成JVM可执行代码Java字 节码.
JAVA源文件(.java)字节码(.class)
Calendar类型
Calendar cal=Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 20);
GregorianCalendar类型
GregorianCalendar gc=new GregorianCalendar(); gc.setTime(date);
ArrayList 类和 LinkedList 类
Map 接口
JAVA IO

File对象
canRead() canWrite() delete() deleteOnExist() Exists() getAbsoluteFile() length() list() getName() getParent() getPath() listFiles() mkdir()
数组
一维组 二维数组 三维数组

例子: int []intArr=new int{1,3,4}; char[]charArr=new char{„a‟,‟b‟}; …

面向对象

类(内部类)
访问控制符 类: public /protected/
对象 包 重载(多态) 继承
运行jvm 字节码的工作是由解释器来完成的。解释执行过程分三步进行: 代码的装入、代码的校验、和代码的执行。 代码的装入:类装载器class loader 代码的校验:被装入的代码由字节码校验器进行检查 代码执行: 1) 即时编译方式:解释器先将字节编译成机器码,然后再执行该机器码。 2)解释执行方式:解释器通过每次解释并执行一小段代码来完成java字节
Short

浮点型
1. 2.
JAVA基本数据类型

字符型
1.
char
boolean
布尔型
1.
数制: 十进制:10 八进制:012 十六进制:0x10
String 函数



常用函数
indexOf() substring() lastIndexOf() replace() replaceAll() matches() split() toUpperCase()

JAVA反射
AWT
Swing
JDBC编程
应用程序 JDBC
MySQLຫໍສະໝຸດ BaiduDriver
MySQL
Db2 Driver
Db2
Oracle Driver
MySQL
连接数据库的步骤
注册驱动(只做一次) 建立连接(Conntection) 创建执行SQL的语句(Statement) 执行语句 处理执行结果 释放资源
线程
进程、线程 (单CPU,多CPU) 单线程、多线程

单线程代码1
多线程 代码
线程
用Thread 类创建线程 用Runnable接口创建线程 start() run() join()线程合并

后台线程与联合线程
如果我们对某个线程对象在启动(调用start 方法)之前调用了setDaemon(true)方法,这 个线程就变成后台线程。 对于Java程序来说,只要还有一个前台线程 在运行,这个进程就不会结束,如果一个进 程中只有后台线程在运行,这)个进程就会结 束。 Pp.join()的作用就是把pp所对于的线程合并 到调用pp.join;语句的线程中。
以Unicode字符为导向的stream
InputStream 1) CharArrayReader:与ByteArrayInputStream对应 2) StringReader:与StringBufferInputStream对应 3) FileReader:与FileInputStream对应 4) PipedReader:与PipedInputStream对应 OutStream 1) CharArrayWriter:与ByteArrayOutputStream对应 2) StringWriter:无与之对应的以字节为导向的stream 3) FileWriter:与FileOutputStream对应 4) PipedWriter:与PipedOutputStream对应
InputStream抽象类及其子类
--字节流
AudioInputStream ByteArrayInputStream

FileInputStream
FilterInputStream ObjectInputStream PipedInputStream SequenceInputStream StringBufferInputStream

OutputStream
ByteArrayOutputStream FileOutputStream FilterOutputStream ObjectOutputStream PipedOutputStream

以字节为导向的stream
Input和Output InputStream


char data[] = {'a', 'b', 'c'}; String str = new String(data);
System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2);

1) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使 用 2) StringBufferInputStream:把一个String对象作为InputStream 3) FileInputStream:把一个文件作为InputStream,实现对文件的读 取操作 4) PipedInputStream:实现了pipe的概念,主要在线程中使用 5) SequenceInputStream:把多个InputStream合并为一个 InputStream

依赖 聚合 继承
接口
接口声明 接口实现 接口多重实现 接口继承

抽象
抽象类 抽象方法

集合框架

映射(map)、集(set)、列表(list)、树 (tree)、数组(array)、散列表 (hashtable)
集合基类

Collection 接口是一组允许重复的对象。 Set 接口继承 Collection,但不允许重复。 List 接口继承 Collection,允许重复,并引入位置下标。 Map 接口既不继承 Set 也不继承 Collection。
如:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\rt.jar;
JAVA基本数据类型
进制 二进制、八进制、十进制 整型

1. 2. 3. 4.
byte(1个字节) int (4个字节) Integer short (2个字节) long (8个字节) float (4个字节) double
OutputStream
1) ByteArrayOutputStream:把信息 存入内存中的一个缓冲区中 2) FileOutputStream:把信息存入文 件中 3) PipedOutputStream:实现了pipe 的概念,主要在线程中使用 4) SequenceOutputStream:把多个 OutStream合并为一个OutStream
J2SE的运行环境设置

安装JAVA SDK(Java Software Development Kit) 通常,我们需要设置三个环境变量: JAVA_HOME、PATH 和 CLASSPATH
1. 2. 3.
JAVA_HOME:SDK的安装目录 如:c:\java PATH:指定一个路径列表,用于搜索可执行文件的。如: d:\oracle\product\10.1.0\Db_2\bin;%JAVA_HOME%\bin CLASSPATH:也指定一个路径列表,是用于搜索 Java 编译或 者运行时需要用到的类。

注册驱动





Class.forName(“com.mysql.jdbc.Driver”); 推荐这种方式,不会对具体的驱动类产生依赖。 DriverManager.registerDriver(com.mysql.jdbc.Driv er); 会造成DriverManager中产生两个一样的驱动, 并会对具体的驱动类产生依赖。 System.setProperty(“jdbc.drivers”, “driver1:driver2”); 虽然不会对具体的驱动类产生依赖;但注册不 太方便,所以很少使用。 驱动类型(四种类型)

使用Runnable接口创建多线程
适合多个相同程序的代码的线程去处理同一 资源的情况,把虚拟的CPU(线程)同程序的 代码、数据有效分离,较好体现了面向对象 的设计思想 可以避免由于JAVA的继承特性带来的局限。 假若一个类已经继承了另一类,则我们只能 使该类实现Runnable 当线程被构造时,需要的代码和数据通过另 一个对象作为构造参数传递时去,这个对象 就是实现了Runnable接口。
接口 实现 历史集合类
Set
List Map
HashSet
TreeSet ArrayList LinkedList HashMap Vector Stack Hashtable
TreeMap
Properties
Collection接口

添加、删除元素
boolean add(Object element) boolean remove(Object element)
Date

Date类型 DateFormat.format(Date date)
Date date =new Date(); //System.out.println(DateFormat.getInstance().format(date)); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //MM HH hh System.out.println(sdf.format(date));

产生者与消费者例子
一个往消息队列中放入消息 一个往消息队列中取出消息 消息内容包括产生的ID号及内容

三个生产者,三个消费者
线程间的通讯
wait() //如队列为空,我们可以等待,或队列 已经满的时候 notify()//通知由wait()而等待的线程,如我们 往某个列队中放数据时,这时可以通知。 notifyAll()

查询操作:
int size() boolean isEmpty() boolean contains(Object element) Iterator iterator()
Set 接口
HashSet TreeSet(有序)

List 接口
void add(int index, Object element) boolean addAll(int index, Collection collection) Object get(int index) int indexOf(Object element) int lastIndexOf(Object element) Object remove(int index) Object set(int index, Object element) ListIterator listIterator() ListIterator listIterator(int startIndex) List subList(int fromIndex, int toIndex)

多线程的应用
网络聊天程序 发送键盘的数据,接收别人发送的数据
从键盘上读取输入 从键盘上读取输 入 发送键盘的数据 给对方 接收对方的数 据
发送键盘的数据 给对方
接收对方的数据
多线程应用2
批量数据copy的问题 WEB服务器的请求及处理

多线程同步
例子演示 代码块同步 方法块同步
相关文档
最新文档