JAVA学习大纲.docx

上传人:b****8 文档编号:10151819 上传时间:2023-02-08 格式:DOCX 页数:19 大小:83.88KB
下载 相关 举报
JAVA学习大纲.docx_第1页
第1页 / 共19页
JAVA学习大纲.docx_第2页
第2页 / 共19页
JAVA学习大纲.docx_第3页
第3页 / 共19页
JAVA学习大纲.docx_第4页
第4页 / 共19页
JAVA学习大纲.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

JAVA学习大纲.docx

《JAVA学习大纲.docx》由会员分享,可在线阅读,更多相关《JAVA学习大纲.docx(19页珍藏版)》请在冰豆网上搜索。

JAVA学习大纲.docx

JAVA学习大纲

1、第一节JAVA概念与JDK的安装

(1)JAVA语言的特点:

•简单性

•面向对象:

封装、继承、多态等;

•分布性:

有很强的通信库;可处理TCP/IP等协议;可通过URL访问网络资源;分布计算;

•健壮性

•安全性

•体系结构中立

•解释执行

•可移植性

•高效性

•多线程

•动态性:

可在库中自由加入新方法和实例变量,适应不断变化的环境;

(2)JAVA的三个版本:

•J2SE:

JAVA标准版;

•J2EE:

JAVA企业版;

•J2ME:

JAVA微缩版;

(3)相关基本概念:

JDK、SDK、JRE、JVM、

•JDK:

JavaDevelopmentKit(Java开发包);

•SDK:

SoftwareDevelopmentKit(软件开发包);

•JRE:

JavaRuntimeEnvironment(Java运行环境);

•JVM:

JavaVirtualMachine(Java虚拟机);

•API:

ApplicationProgramInterface(应用程序编程接口);

(4)JDK的安装和环境变量的设置;

若JDK安装在“D:

\ProgramFiles\Java\jdk1.6.0_01”目录,则环境变量设置如下:

•变量名:

JAVA_HOME

变量值:

D:

\ProgramFiles\Java\jdk1.6.0_01

•变量名:

Path

变量值:

D:

\ProgramFiles\Java\jdk1.6.0_01\bin

•变量名:

CLASSPATH

变量值:

.;D:

\ProgramFiles\Java\jdk1.6.0_01\lib\tools.jar;D:

\ProgramFiles\Java\jdk1.6.0_01\lib\dt.jar

(5)一个简单的HelloWorld简单示例;

publicclassA

{

publicstaticvoidmain(Stringargs[])

{

System.out.print(“HelloWorld”);

}

}

(6)javac.exe、java.exe的作用

•用javac.exe对源文件(.java)进行编译生成中间码/字节码(.class);

用法:

javacA.java(回车);

•用java.exe对中间码/字节码(.class)进行解释执行;

用法:

javaA(回车);

(7)基本输入输出应用

•importjava.util.Scanner;

Scanners=newScanner(System.in);

floatx=s.nextFloat();//s.nextLong();

System.out.print("x="+x);

2、第二节基本类型与复合类型概念、数组

(1)JAVA的八种基本类型:

boolean、char、byte、short、int、long、float、double

基本型

boolean

byte

char

short

int

long

float

double

包装类

Boolean

Byte

Character

Short

Integer

Long

Float

Double

注:

包装类将在后面介绍,中点掌握八种基本类型;

•整型常量默认为:

int;浮点常量默认为:

double;

intx=123(√)floatx=123.4(Χ)

longx=123(√)doublex=123.4(√)

(2)基本类型与复合类型的区别;基本类型变量与引用类型变量的区别;(举例说明)

(3)数组的声明、创建、初始化

•例:

int[]x;//声明//声明时一定不能在[]中写入数字

x=newint[10];//创建

x[0]=1;//初始化

•通过初始化创建数组:

String[]names=newString[]{“kack”,”wang”,”zhang”};

String[]names={“kack”,”wang”,”zhang”};

•二维数组

int[][]x;//声明

x=newint[3][];//创建

x[0]=newint[4];//初始化

(4)数组是类对象,其数组长度在创建时确定,可通过[数组名.length]获取到数组的长度

3、第三节类特征、定义、构造方法、实例化

(1)面向对象的三大特征:

封装、继承、多态

•封装:

解决了数据的安全性问题

•继承:

解决了代码的重用问题

•多态:

解决了程序的扩展问题(编译时多态-重载;运行时多态)

(2)类与对象的概念

(3)类的结构(成员变量、成员方法)和类的定义

class类名

{}

(4)什么是构造方法及作用

•方法名和类名相同

•只能通过new运算符调用来创建类对象

•构造方法不能有返回值,不写void

4、第四节包、访问权限、继承

(1)包的定义与使用

•定义:

package包名;

•使用:

import包名.类名;import包名.*;

(2)四种访问权限private、default、protected、public

同一个类

同一个包

子类

全局

private

default

protected

public

说明:

类仅可以用public、default修饰;成员可以全部用来修饰;

(3)类的继承:

classAextendsB{}

•只单继承,不能多重继承

•省略extendsB时,默认继承于Object

•父类的构造方法、private修饰的成员都不能被子类继承

•实例化子类对象时,先要执行父类的构造方法,然后再执行子类的构造方法。

5、第五节this、super的含义,重载与重写

(1)this与super的使用

this:

代表当前类;super代表父类;super()代表父类构造方法;

(2)方法的重载

•同一个类中的多个方法:

名相同,参数不同(个数、类型、顺序)称为重载

•重载是是JAVA中的编译时多态

(3)方法重写(overriding)

•就是在子类中重新定义与父类相同的成员方法;其方法名、返回值、参数列表必须完全一致。

•重写使子类可以重新改写从父类继承来的方法

•注意区分重载与重写的区别

(4)运行时多态

•上溯造型:

将子类类型转换为父类类型(安全)

例:

动物:

猫、狗、猪,都为动物,但叫声不同

•下溯造型:

将父类类型强制转换为子类类型(不安全)

(5)类型测试运算符:

instanceof

用法:

if(A对象instanceofB类){}

(6)==与equals的区别

•==比较两个引用变量是否指向同一个对象

•equals比较两个引用变量所指对象内容是否相同

6、第六节static、final的使用,抽象类与接口

(1)static(静态)

•用static修饰的变量或方法称为静态变量和静态方法(类变量、类方法);

•一个类的所有对象共享同一个静态变量和静态方法(类变量、类方法);

•静态变量和静态方法不用实例化就可以使用(用法:

类名.静态成员);

•静态方法中不能引用非静态的变量或方法,当然this也不允许出现;

•子类不能重写父类的静态方法,但可以去掉static重写(不是真正的重写),可以将父类的静态方法隐藏

(2)final(最终)

•用来修饰类:

类不能被继承;

•用来修饰方法:

方法不能被重写;

•用来修饰变量:

变量只读;定义时赋初值,或在构造方法中附初值;

(3)抽象类

•抽象类:

用关键词abstract修饰的类为抽象类;

•抽象方法即:

由abstract修饰,只提供方法声明而不提供方法实现;

•抽象类中可以有抽象方法也可以没有抽象方法;

abstractclassC

{

abstractvoidaaa();//抽象方法

voidbbb(){}//非抽象方法

}

•抽象类不能创建实例;必须通过子类继承并实现其全部抽象方法后方可创建实例;

(4)接口

•并非类,可以多重继承,可包含常量定义和方法定义两部分,其所有方法不能有方法体;

•接口声明:

[public]interface接口名[extendssuperinterface1,superinterface1…]

publicinterfaceFlyer

{

intNO=1001;

publicvoidtakeoff();

publicvoidland();

publicvoidfly();

}

//其中常量默认具有public、final、static属性;方法默认具有public、abstract属性

•接口实现:

即在类中写出接口的所有方法的实现;

publicclassAirPlaneimplementsFlyer

{

publicvoidtakeoff(){实现代码}

publicvoidland(){实现代码}

publicvoidfly(){实现代码}

}

7、第七节图形界面及事件

(1)概念:

GUI、AWT、Swing

•GUI与AWT的含义;

•AWT与Swing的区别;

•什么是组件(Label、Button、TextArea、Panel、Frame…);

•什么是容器(Panel、Frame…);

•如何创建一个基本的Windows(GUI)应用程序;

(2)布局管理器

每个容器都可以设置为以下的任一种布局管理

•FlowLayout:

流式布局

•BorderLayout:

边界布局

•GridLayout:

网格布局

•CardLayout:

卡片布局

•GridBagLayou:

网格包布局

(3)事件处理

•什么是事件、事件源、事件处理器

•实现思路:

定义事件类-->注册事件到组件上

•常见事件处理接口及其方法

事件类

说明

事件源

接口名

方法

ActionEvent

通常按下按钮,双击列表项或选中一个菜单项时,就会生成此事件。

Buttot

List

MenuItem

TextField

ActionListener

actionPerformed

AdjustmentEvent

操纵滚动条时会生成此事件。

Scrollbar

AdjustmentListener

adjustmentValueChanged

KeyEvent

接收到键盘输入时会生成此事件。

Component

KeyListener

keyPressed

keyReleased

keyTyped

MouseEvent

拖动、移动、单击、按下或释放鼠标或在鼠标进入或退出一个组件时,会生成此事件。

Component

MouseListener

mouseClicked

mouseEntered

mouseExited

mousePressed

mouseReleased

WindowEvent

当一个窗口激活、关闭、失效、恢复、最小化、打开或退出时会生成此事件。

Window

WindowListener

windowActivated

windowDeactivated

windowClosed

windowClosing

windowIconified

windowDeiconified

windowOpened

8、第八节Applet

(1)什么是Applet

•是嵌入到网页中通过浏览器执行的JAVA小程序,没有main方法,是基于图形界面的;

•可以使用JDK的appletviewer来运行网页文件;

(2)Applet的定义和使用

•类的定义

importjava.applet.*;

publicclasshellowextendsApplet{

//主要是对父类方法的重写

}

•网页中的调用

code="mypack.hellow.class"

width="500"

height="300"

>

(3)Applet生命期四个阶段的主要事件

•voidinit()voidstart()voidstop()voiddestroy()

(4)两个重要方法

•paint(Graphicsg):

在Applet中显示文字图形等信息,在其生命其中可被多次调用

•repaint():

首先清除Applet界面,然后调用paint(Graphicsg)重新绘图界面

(5)Applet的多媒体应用(示例:

图形、音乐)

9、第九节异常

(1)异常的概念:

程序在运行时出现的任何不正常现象或错误被称为异常。

(例如:

文件不存在、除零、数组越界、网络中断等)

(2)异常的处理:

try-catch-[finally]

try{

//可能出现异常的语句;

}

catch(Exceptione)

{//可有多个catch块,当异常类型与之匹配,则执行之

//异常产生后的处理代码

//e.getMessage();

//e.printStackTrace();

}

finally{

//有无异常均执行,用于异常后的清理工作

}

说明:

•StringgetMessage()获取异常相关的描述信息。

•voidprintStackTrace()显示异常相关信息,含异常的原因,及产生异常的代码行。

(3)throws与throw

•throws:

用于将函数内部产生的异常抛给主调函数;如果某个函数中的代码有可能引发异常,可以使用try/catch块进行处理,这种处理方式成为“内部处理”;如果不方便在函数内部进行处理,也可以将异常往函数外部传递,这就要使用到关键字throws;

返回值类型函数名(参数列表)throws异常类型

{

}

•throw:

在方法体内手工抛出异常(可以抛出系统定义异常,主要是用户自定义异常)

if(age<0||age>100)

{

//创建一个异常实例,并将其手工抛出

throw(newException("您输入的年龄无效。

"));

}

10、第十节多线程

(1)线程与进程的概念;

•一个进程在其执行过程中,可以产生多个线程,形成多个程序的执行流。

(2)创建线程的两种方法:

继承Thread类

实现Runnable接口;

•其共同点就是重写或实现run()方法,因为所有线程都是从run()开始运行;

•classthread1extendsThread

{

publicvoidrun()

{…}

}

创建线程实例:

thread1t=newthread1();

启动线程:

t.start();

•classthread1extendssuperclassimplementsRunnable

{

publicvoidrun()

{…}

}

创建线程实例:

Threadt=newThread(newthread1());

启动线程:

t.start();

(3)线程的基本控制方法

•start():

启动线程

•stop():

终止线程

•sleep(ints):

在线程内部调用使线程休眠一段时间后继续运行

•isAlive:

判断线程是否激活

•interrupt():

唤醒一个正在sleep()、join()、wait()的线程

•suspend():

暂停一个线程

•resume():

恢复一个线程

•Thread.currentThread():

获取当前线程实例

11、第十一节文件操作

(1)文件使用包:

java.io.*,包含一系列对文件和目录的属性进行操作,对文件进行读写操作的类;

(2)三个重要类:

File、FileInputStream、FileOutputStream;注意捕捉异常;

(3)File类:

一个File类对象可以代表一个文件或目录;利用它来对文件或目录的属性进行操作,如:

文件名、最后修改日期、文件大小等等;需要注意的是,File对象并不能直接对文件进行读/写操作,只能查看文件的属性;

构造方法:

File(Stringpathname);共有4种,此方法常用;

常用方法:

•booleanexists()判断文件是否存在,存在返回true,否则返回false

•booleanisFile()判断是否为文件,是文件返回true,否则返回false

•booleanisDirectory()判断是否为目录,是目录返回true,否则返回false

•StringgetName()获得文件的名称

•StringgetAbsolutePath()获得文件的绝对路径

•longlength()获得文件的长度(字节数)

(4)FileInputStream类:

文件输入流,继承于InputStream类,是进行文件读操作的最基本类;

构造方法:

•FileInputStream(Filefile)

•FileInputStream(Stringname)

常用方法:

•intread()一次读取一个字节,返回值为数据,读到文件尾返回-1;

•intread(byte[]b)读数据到byte数组中,并返回读取数量,未读到数据返回-1;

•voidclose()关闭流对象;

(5)FileOutputStream类:

文件输出流,继承于OutputStream类,是进行文件写操作的最基本类;

构造方法:

•FileOutputStream(Filefile)

•FileOutputStream(Filefile,booleanappend)

•FileOutputStream(Stringname)

•FileOutputStream(Stringname,booleanappend);

常用方法:

•voidwrite(intb)一次写一个字节;

•voidwrite(byte[]b)将byte数组中的数据全部写入到文件中;

•voidclose()关闭流对象;

(6)文件读写举例

12、第十二节数据库技术

(1)JDBC的概念:

(JavaDataBaseConnectivity)是JAVA程序访问数据库的标准API。

(2)了解:

ODBC与JDBC的区别与关系;JDBC的四种驱动类型;SQL数据库语言

(3)数据库操作主要涉及到的包及类

•数据库操作包:

java.sql.*;

Driver

用于创建连接(Connection)对象

Connection

连接对象,用于与数据库取得连接

Statement

语句对象,用于执行SQL语句,并将数据检索到结果集(ResultSet)对象中

PreparedStatement

预编译语句对象,用于执行预编译的SQL语句,执行效率比Statement高

CallableStatement

存储过程语句对象,用于调用执行存储过程

ResultSet

结果集对象,包含执行SQL语句后返回的数据的集合

(4)JDBC开发数据库应用的一般步骤

建立与数据库的连接

•Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//access加载驱动程序

•Connectioncon=DriverManager.getConnection(url,user,password);//创建连接

执行SQL语句

•Statementstm=con.createStatement();

•ResultSets=stm.executeQuery("select*fromtable");//execute、executeUpdaye

处理结果集

while(s.next())

{

Strings2=s.getString("name");

Strings4=s.getString("content");

java.sql.Dates5=s.getDate("date");

}

关闭数据库连接

s.close();

stm.close();

con.close();

(4)数据库应用举例

建立连接

importjava.sql.*;

Connectioncon;

Stringurl="jdbc:

odbc:

driver={MicrosoftAccessDriver(*.mdb)};DBQ=d:

\\db.mdb";//access

Stringurl="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;databasename=pubs";//sqlserver2000

Stringurl="jdbc:

oracle:

thin:

@127.0.0.1:

1521:

orcl";//oracle

Stringuser="";

Stringpassword="";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//access加载驱动程序

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//sqlserver2000

Class.forName("oracle.jdbc.driver.OracleDriver");//oracle

con=DriverManager.getConnection(url,user,password);//创建连接

读数据

Statementstm=con.createStatement();

ResultSets=stm.executeQuery("select*fromtable");

while(s.next())

{

Strings1=s.getString("title");

Strings2=s.getString("name");

Strings3=s.getString("em

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1