已阅读5页,还剩123页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA编程指南,1,JAVA语言介绍,1991年,Java语言诞生在美国SUN公司。 Java是目前最常用的计算机编程语言,也是主要的网络开发语言之一。Java具有面向对象、分布式和多线程等先进高级计算机语言的特点,同时它还因可移植、安全性能高和网络移动性等逐渐成为一种行业标准。 鉴于1.2版与之前版本的巨大差别,SUN公司将1.2版以及其以后版本命名为“Java2”。目前,Java语言的正式版本已经发展到1.5版。 J2SE/J2ME/J2EE。,2,课程目标,3,熟练掌握JAVA基本编程结构。 熟练掌握Eclipse开发环境。 熟练掌握JAVA面向对象的编程思想。 熟练掌握JAVA常用类的使用。 熟练掌握JDBC技术。 熟悉JAVA的I/O处理。 熟悉JAVA线程的概念和开发。 了解Swing开发。,1.JAVA语言概述,JAVA工作原理 JDK 对象入门 第一个java程序 Java程序基本结构 Java语言编程规范,4,1.1 JAVA工作原理,JVM。java虚拟机是软件模拟的计算机,可以在任何处理器上(无论是在计算机中还是在其它电子设备中)安全并且兼容的执行保存在.class文件中的字节码。 Java的“跨平台”是指字节码的跨平台。 Java工作原理,如下图:,5,1.2 JDK,Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java2 SDK。 JDK的安装与配置参见第二章。,6,1.3 对象入门,JAVA是一种纯面向对象的语言。 JAVA中的所有东西都是对象。可以将对象想象成为一种新型变量,它保存着数据(属性),而且还可以对自身数据进行操作(方法)。 JAVA程序是一大堆对象的组合。通过消息传递,各对象知道自己应该做些什么。如果需要让对象做些事情,则须向该对象“发送一条消息”。具体来说,可以将消息想象成为一个调用请求,它调用的是从属于目标对象的一个方法。 每个对象都有自己的存储空间。可容纳其它对象,或者说通过封装现有的对象,可以产生新型对象。 每个对象都属于某个类。根据语法,每个对象都是某个“类“的一个“实例“。一个类的最重要的的特征就是“能将什么消息发给它?“,也就是类本身有哪些操作。,7,1.4 第一个java程序,package com.test.java; import java.util.Date; public class Demo1 public static void main(String args) System.out.print(“你好,今天是“); System.out.println(new Date(); ,8,1.5 java程序基本结构,一个完整的java源程序应该包括下列部分: package语句。该部分至多只有一句,必须放在源程序的第一句。通常把功能相似的类放到一个包(package)中 。 import语句。该部分可以有若干import语句或者没有,必须放在所有的类定义之前。如果在源程序中用到了除java.lang这个包以外的类,无论是系统的类还是自己定义的包中的类,都必须用import语句标识,以通知编译器在编译时找到相应的类文件。 public classDefinition。公共类定义部分,至多只有一个公共类的定义。java语言规定该java源程序的文件名必须与该公共类名完全一致。 classDefinition。内部类定义部分,可以有0个或者多个类定义。大多JAVA源程序中没有内部类。 interfaceDefinition。内部接口定义部分,可以有0个或者多个接口定义。大多JAVA源程序中没有内部接口。,9,1.5 java程序基本编程规范,包名:包名是全小写的名词,中间可以由点分隔开,例如:com.test.java。 类名:首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如:class HelloWorld 。 接口名:命名规则与类名相同,例如interface Collection。 方法名:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要大写,例如:addAccount,getAccount。 变量名:全小写,一般为名词,例如:account; 常量名:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如:int YEAR, int WEEK_OF_MONTH。 HOPERUN在此基本规范的基础上有所扩充,在后续开发介绍中逐步补充。,10,2. JAVA编程环境,JDK安装 Eclipse3.1安装 Eclipse基本使用介绍 创建并运行第一个JAVA程序 断点及简单Debug介绍,11,3. JAVA语言基础知识,简单数据类型 常量和变量 运算符和表达式 控制语句 数组 字符串的处理,12,3.1 简单数据类型,java语言的数据类型有简单类型和复合类型。 简单数据类型包括: 整数类型:byte, short, int, long 浮点类型:float,double 字符类型:char 布尔类型:boolean 复合数据类型包括: class interface 数组,13,3.1 简单数据类型,不同类型数据间的优先关系如下: 低-高 byte,short,char- int - long - float - double 自动类型转换 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。 强制类型转换 高级数据要转换成低级数据,需用到强制类型转换,如: int i; byte b=(byte)i; /*把int型变量i强制转换为byte型*/,14,3.2 常量和变量,常量:用保留字final来实现。 final int NUM=100; 变量:是java 程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。 int nCount=0;,15,3.2 常量和变量,变量的作用域: 按作用域来分,变量可以有下面几种:局部变量、类成员变量、方法参数和例外处理参数。 在一个确定的域中,变量名应该是唯一的。 局部变量在方法或方法的一个块代码中声明,它的作用域为它所在的代码块(整个方法或方法中的某块代码)。 类成员变量后面章节中将详细介绍。 方法参数传递给方法,它的作用域就是这个方法。 例外处理参数传递给例外处理代码,它的作用域就是例外处理部分。,16,3.3 运算符和表达式,运算符: 算术运算符: +,*,/,%,+, 关系运算符: ,=,(右移),(用零来填充位于顶部的位),&(与),|(或),(异或),(非) 赋值运算符 =,及其扩展赋值运算符如+=,=,*=,/= 条件运算符 ? : 其他:分量运算符,下标运算符 ,实例运算符instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等,17,3.3 运算符和表达式,表达式: 表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。,18,3.4 控制语句,条件语句 if-else 多分支语句 switch-case switch表达式的返回值类型必须是这几种类型之一:int,byte,char,short。 while语句 do-while语句 for语句 break语句 continue语句 返回语句return 例外处理语句(后续章节详细介绍),19,3.4 控制语句,控制语句使用实例:统计1100间得奇数、偶数和总和。 package com.test.java; /*统计1100间的奇数、偶数和总和*/ public class Demo2 public static void main(String args) int nOdd=0; int nEven=0; for(int i=1;i=100;i+) if(i%2=0) nEven+=i; else nOdd+=i; System.out.println(“奇数和:“+nOdd); System.out.println(“偶数和:“+nEven); System.out.println(“总和:“+(nOdd+nEven); ,20,3.5 数组,一维数组 定义 : type arrayName; 类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。例如: int countArray;String nameArrary; 初始化 静态初始化 : int countArray=1,2,3,4; 动态初始化 : int countArray=new int4; countArray0=1; countArray1=2; 数组元素的引用 countArray0=1;,21,3.5 数组,一维数组使用实例:随机生成10个整数,求最大值。 package com.test.java; /*一维数组:随机生成10个整数,求最大值*/ public class Demo3 public static void main(String args) int intArray = new int10; int nMax = -1; for (int i = 0; i intArray.length; i+) intArrayi = (int) (Math.random() * 100); for (int i = 0; i intArray.length; i+) System.out.print(intArrayi + “,“); if (nMax intArrayi) nMax = intArrayi; System.out.println(); System.out.println(“最大值:“ + nMax); ,22,3.5 数组,二维数组 定义 : type arrayName; 初始化 静态初始化 : int countArray=1,1,2,2; 动态初始化 : int countArray=new int22; countArray00=1; countArray01=1; 数组元素的引用 countArray00=1;,23,3.6 字符串类String,本节只简单介绍字符串类String的使用,详细介绍见后续章节。 String类对象的定义方法有两种: 作为简单数据类型定义: String strName=“HopeRun”; 作为复合数据类型定义: String strName=new String(“HopeRun”); 在Java语言中,只有String类的对象可以使用定义简单数据类型的方法,定义其他类的对象时,必须使用new操作符。,24,3.6 字符串类String,字符串和数字的相互转换: 数字转换为String:使用String类静态方法(类方法)String.valueOf()。例如: String s1=String.valueOf( 45 ); String s2 = String.valueOf( 57.67 ); String转换为数字: String转换为整数:使用Integer类的parseInt()静态方法。例如: int i = Integer.parseInt(“123”); String转换为浮点数:使用Double类的parseDouble()静态方法。例如: double d = Double.parseDouble(“123.45”);,25,3.7 代码基本结构介绍,常量 方法 参数传递 注释,26,4. 类和对象,面向对象技术基础 面向对象的基本概念 面向对象基本特征 JAVA语言的面向对象特性 类 对象 面向对象特征 抽象类 接口 内部类,27,4.1 面向对象的基本概念,对象: 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。 一个对象由一组属性(成员变量)和对这组属性进行操作的一组服务(成员方法)组成。 类: 类是具有相同属性和服务的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。 在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。 类的实例化结果就是对象,而对一类对象的抽象就是类。,28,4.1 面向对象的基本概念,RTS游戏程序中,类和对象的例子: 一般物体类: 属性:位置、生命值等。 方法:被攻击。 战斗单元类: 属性:位置、生命值、攻击力、防御力等。 方法:被攻击、移动等。 一般物体类对象: 兵房、兵器库。 战斗单元类对象: 士兵、坦克、飞机。,29,4.2 面向对象的基本特征,封装性 封装性就是把对象的属性和方法结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节。 封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的“交叉感染“,使软件错误能够局部化,大大减少查错和排错的难度。,30,4.2 面向对象的基本特征,继承性 特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。 在java语言中,通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。 例如,上述RTS例子中的战斗单元类可继承自一般物体类。前者为子类,后者为父类。,31,4.2 面向对象的基本特征,多态性 对象的多态性是指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。 同一个属性或方法在一般类及其各个特殊类中可具有不同的语义。 例如,上述RTS例子中的一般物体类和战斗单元类的被攻击方法可表现出不同的行为。前者没有任何防御力,而后者有。,32,4.3 类,类声明 publicabstract|final class className extends superclassName implements interfaceNameList 类体 其中,修饰符public,abstract,final 说明了类的属性,className为类名,superclassName为类的父类的名字,interfaceNameList为类所实现的接口列表。 类体 包括成员变量和成员方法。,33,4.3 类,成员变量 public|protected|privatestaticfinaltransientvolatile type variableName; static: 静态变量(类变量)。 final: 常量。 transient: 暂时性变量,极少使用。 volatile: 贡献变量,用于并发线程的共享,极少使用。 成员方法 方法的实现包括两部分内容:方法声明和方法体。,34,4.3 类,方法声明 public|protected|privatestaticfinal|abstractnativesynchronized returnType methodName(paramList) throws exceptionList statements 方法声明中的限定词的含义: static: 类方法,可通过类名直接调用。 abstract: 抽象方法,没有方法体。 final: 方法不能被重写。 native: 集成其它语言的代码。 synchronized: 控制多个并发线程的访问。 方法声明中的参数类型可以是简单数据类型,也可以是复合数据类型。 对于简单数据类型来说,java实现的是值传递。 对于复合数据类型来说,java实现的引用传递或叫地址传递。,35,4.3 类,方法体 方法体是对方法的实现,它包括局部变量的声明以及所有合法的Java指令。方法体中声明的局部变量的作用域在该方法内部。若局部变量与类的成员变量同名,则类的成员变量被隐藏(此时成员变量的引用需使用this)。,36,4.3 类,类实例: package com.test.java; /*一般单元类*/ public class GeneralUnit private int unitX; private int unitY; private int lifePoint; public int getLifePoint() return lifePoint; public void setLifePoint(int lifePoint) this.lifePoint = lifePoint; public void beAttacked(int accackPoint) this.lifePoint-=accackPoint; ,37,4.3 类,方法重载 方法重载是指多个方法享有相同的名字,但是这些方法的参数必须不同,或者是参数的个数不同,或者是参数类型不同。,38,4.3 类,方法重载实例: package com.test.java; /*一般单元类*/ public class GeneralUnit / public void beAttacked(int accackPoint) this.lifePoint-=accackPoint; public void beAttacked(BattleUnit objBattleUnit) this.lifePoint-=objBattleUnit.getAttackPoint(); ,39,4.3 类,构造方法 构造方法是一个特殊的方法。Java 中的每个类都有构造方法,用来初始化该类的一个对象。 构造方法具有和类名相同的名称,而且不返回任何数据类型。 构造方法可重载。 构造方法只能由new运算符调用。,40,4.3 类,构造方法实例: package com.test.java; /*一般单元类*/ public class GeneralUnit private int unitX; private int unitY; private int lifePoint; public GeneralUnit(int x, int y, int lifePoint) this.unitX = x; this.unitY = y; this.lifePoint = lifePoint; / ,41,4.4 对象,对象的生成 对象的生成包括声明、实例化和初始化。格式为:type objectName=new type(paramlist); 声明:type objectName;声明并不为对象分配内存空间,而只是分配一个引用空间(指针)。 实例化:运算符new为对象分配内存空间,它调用对象的构造方法,返回引用。 生成:执行构造方法,进行初始化;根据参数不同调用相应的构造方法。,42,4.4 对象,对象的使用 通过运算符“.”可以实现对属性的访问和方法的调用。 对象的清除 Java的垃圾收集器自动扫描对象的动态内存区,把没有引用的对象作为垃圾收集起来并释放。,43,4.4 对象,对象使用实例: GeneralUnit objGeneralUnit = new GeneralUnit(10, 20, 2000); objGeneralUnit.beAttacked(20); System.out.println(objGeneralUnit.getLifePoint();,44,4.5 面向对象特性,封装性 java语言中,对象就是对一组变量和相关方法的封装,其中变量表明了对象的状态,方法表明了对象具有的行为。通过对象的封装,实现了模块化和信息隐藏。通过对类的成员施以一定的访问权限,实现了类中成员的信息隐藏。 java语言中有四种不同的限定词,提供了四种不同的访问权限。 private:该成员只能被这个类本身访问。 default(未设置):该成员可以被这个类本身和同一个包中的类所访问。 protected:该成员可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。 public:该成员可以被所有的类访问。,45,4.5 面向对象特性,继承性 通过继承可实现代码复用。 Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。 子类不能继承父类中访问权限为private的成员变量和方法。 子类可以重写父类的方法,及命名与父类同名的成员变量(隐藏)。 Java不支持多重继承。 super java中通过super来实现对父类成员的访问,super用来引用当前对象的父类。Super 的使用有三种情况: 访问父类被隐藏的成员变量 。 调用父类中被重写的方法 。 调用父类的构造函数 。,46,4.5 面向对象特性,类继承实例: package com.test.java; /*战斗单元类*/ public class BattleUnit extends GeneralUnit private int attackPoint; private int defendPoint; public BattleUnit(int x, int y, int lifePoint, int attackPoint,int defendPoint) super(x, y, lifePoint); this.attackPoint = attackPoint; this.defendPoint = defendPoint; public void move(int x, int y) / public int getAttackPoint() return attackPoint; public static void main(String args) BattleUnit objBattleUnit=new BattleUnit(10,10,200,20,8); objBattleUnit.beAttacked(15); System.out.println(objBattleUnit.getLifePoint(); ,47,4.5 面向对象特性,多态性 在java语言中,多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法重写实现的动态多态性(运行时多态)。 编译时多态:在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来静态确定调用相应的方法。 运行时多态:由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。 重写方法的调用原则 java运行时,系统根据调用该方法的实例,来决定调用哪个方法。 对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法 。 如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。,48,4.5 面向对象特性,多态性实例: GeneralUnit: public void beAttacked(int accackPoint) this.lifePoint-=accackPoint; BattleUnit: public void beAttacked(int accackPoint) int nLife=this.getLifePoint()+this.defendPoint-accackPoint; this.setLifePoint(nLife); public static void main(String args) GeneralUnit objGeneralUnit = new GeneralUnit(10, 20, 2000); objGeneralUnit.beAttacked(20); System.out.println(objGeneralUnit.getLifePoint(); BattleUnit objBattleUnit=new BattleUnit(10,10,200,20,8); objBattleUnit.beAttacked(15); System.out.println(objBattleUnit.getLifePoint(); GeneralUnit objGeneralUnit2=objBattleUnit;/多态 objGeneralUnit2.beAttacked(20); System.out.println(objGeneralUnit2.getLifePoint(); ,49,4.5 面向对象特性,其他 final 关键字 final修饰变量,则成为常量 。 final修饰方法,则该方法不能被子类重写。 final修饰类,则类不能被继承。 Static关键字 如果在声明时不用static关键字修饰,则声明为实例变量和实例方法;反之,则声明为类变量和实例变量。两者区别: 实例变量和类变量:每个对象的实例变量都分配内存,不同的实例变量是不同的。类变量仅在生成第一个对象时分配内存,所有实例对象共享同一个类变量,每个实例对象对类变量的改变都会影响到其它的实例对象。类变量可通过类名直接访问。 实例方法和类方法:实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,实例方法由实例对象调用。但类方法不能访问实例变量,只能访问类变量。类方法可以由类名直接调用,也可由实例对象进行调用。类方法中不能使用this或super关键字。,50,4.5 面向对象特性,Static使用实例: package com.test.java; /*static*/ public class Demo5 public static int nCount = 1; public void doubleCount() nCount *= 2; public static int getCount() return nCount; public static void main(String args) Demo5 objDemo5_1=new Demo5(); objDemo5_1.doubleCount(); System.out.println(Demo5.getCount(); Demo5 objDemo5_2=new Demo5(); objDemo5_2.doubleCount(); System.out.println(Demo5.getCount(); ,51,4.6 抽象类,Java语言中,用abstract 关键字来修饰一个类时,这个类叫做抽象类,用abstract 关键字来修饰一个方法时,这个方法叫做抽象方法。 抽象类必须被继承,抽象方法必须被重写。抽象方法只需声明,无需实现;抽象类不能被实例化,抽象类不一定要包含抽象方法。若类中包含了抽象方法,则该类必须被定义为抽象类。 抽象类主要使用于框架代码的开发中。,52,4.6 抽象类,抽象类使用实例: package com.test.java; /*抽象类*/ public abstract class AbstractDemo protected String nameArray; public AbstractDemo() public abstract void printName(); ,53,4.6 抽象类,package com.test.java; public class RealDemo1 extends AbstractDemo public RealDemo1(String nameArray) Array = nameArray; public void printName() for (int i = 0; i nameArray.length; i+) System.out.print(nameArrayi + “,“); ,54,4.6 抽象类,package com.test.java; public class RealDemo2 extends AbstractDemo public RealDemo2(String nameArray) Array = nameArray; public void printName() for (int i = 0; i nameArray.length; i+) System.out.print(nameArrayi + “-“); ,55,4.6 抽象类,public static void main(String args) String nameArray = “nanjinig“, “shanghai“, “beijing“ ; AbstractDemo obj1 = new RealDemo1(nameArray); obj1.printName(); System.out.println(); AbstractDemo obj2 = new RealDemo2(nameArray); obj2.printName(); ,56,4.7 接口,接口是抽象类的一种,只包含常量和方法的定义,而没有变量和方法的实现,且其方法都是抽象方法。它的用处体现在下面几个方面: 通过接口实现不相关类的相同行为,而无需考虑这些类之间的关系。 通过接口指明多个类需要实现的方法。 通过接口了解对象的交互界面,而无需了解对象所对应的类。 接口较抽象类常用。,57,4.7 接口,接口的定义 接口声明: public interface interfaceNameextends listOfSuperInterface extends 子句与类声明的extends子句基本相同,不同的是一个接口可有多个父接口,用逗号隔开,而一个类只能有一个父类。 接口体 接口体包括常量定义和方法定义。 常量定义格式为:type NAME=value; 该常量被实现该接口的多个类共享,自动具有public ,final, static的属性。 方法体定义格式为:returnType methodName(paramlist);自动具有 public和abstract属性。,58,4.7 接口,接口的实现 在类的声明中用implements子句来表示一个类使用某个接口,在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法。 一个类可以实现多个接口,在implements子句中用逗号分开。 接口类型的使用 接口作为一种引用类型来使用。 任何实现该接口的类的实例都可以存储在该接口类型的变量中,通过这些变量可以访问类所实现的接口中的方法。,59,4.7 接口,接口使用实例: package com.test.java; /*接口*/ public interface InterfaceDemo public static final String nameArray= “nanjinig“, “shanghai“, “beijing“ ; public abstract void printName(); ,60,4.7 接口,package com.test.java; public class InterfaceRealDemo1 implements InterfaceDemo public void printName() for (int i = 0; i nameArray.length; i+) System.out.print(nameArrayi + “,“); ,61,4.7 接口,package com.test.java; public class InterfaceRealDemo2 implements InterfaceDemo public void printName() for (int i = 0; i nameArray.length; i+) System.out.print(nameArrayi + “-“); ,62,4.7 接口,public static void main(String args) InterfaceDemo obj1=new InterfaceRealDemo1(); obj1.printName(); System.out.println(); InterfaceDemo obj2=new InterfaceRealDemo2(); obj2.printName(); ,63,4.8 内部类,使用较少,不作介绍。,64,5. 例外处理,例外就是在程序的运行过程中所发生的异常事件,它中断指令的正常执行。Java中提供了一种独特的处理例外的机制,通过例外来处理程序设计中出现的错误。如下列程序代码: package com.test.java; /*异常处理*/ public class Demo6 public static void main(String args) String a=“123a“; int i=Integer.parseInt(a); System.out.print(i); ,65,5. 例外处理,两种处理例外的机制: 捕获例外: try catch( ExceptionName1 e ) catch( ExceptionName2 e ) finally ,66,5. 例外处理,捕获例外示例: package com.test.java; /*异常处理*/ public class Demo7 public static void main(String args) String a = “123a“; int i = 0; try i = Integer.parseInt(a); catch (Exception e) System.out.println(e); System.out.println(“message: “ + e.getMessage(); e.printStackTrace(); System.out.print(i); ,67,5. 例外处理,声明抛出例外: 声明抛出例外是在一个方法声明中的throws子句中指明的。例如: public int read() throws IOException throws子句中同时可以指明多个例外,之间由逗号隔开。例如: public static void main(String args) throws IOException,IndexOutOfBoundsException ,68,6. JDK常用类,String StringBuffer ArrayList HashMap Vector,69,6.1 String,String() length() equals() equalsIgnoreCase() startsWith() endsWith() trim() substring() compareTo() compareToIgnoreCase() toLowerCase() toUpperCase() indexOf() charAt() replace() split() valueOf(),70,6.1 String,71,6.2 StringBuffer,StringBuffer() append() insert() length() substring() toString(),72,6.2 StringBuffer,StringBuffer实例: /to do,73,6.3 ArrayList,ArrayList() add() addAll() clear() contains() get() isEmpty() remove() size() toArray(),74,6.3 ArrayList,ArrayList实例: /to do,75,6.4 HashMap,HashMap() clear() containsKey() containsValue() get() put() putAll() remove() isEmpty() size(),76,6.4 HashMap,HashMap实例: /to do,77,6.5 Vector,Vector() add() addAll() addElement() clear() contains() elementAt() get() insertElementAt() isEmpty() remove() size() toArray(),78,6.5 Vector,Vector实例: /to do,79,6.6 Date/SimpleDateFormat,Date SimpleDateFormat,80,6.6 Date/SimpleDateFormat,Date/SimpleDateFormat实例: package com.test.java; import java.text.SimpleDateFormat; import java.util.Date; /*日期类*/ public class Demo13 public static void main(String args) /String-Date String strDate=“2007-01-22 10:12:23“; SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“); Date objDate=null; try objDate=sdf.parse(strDate); System.out.println(objDate); catch(Exception e) System.out.println(e); /Date-String objDate=new Date(); strDate=sdf.format(objDate); System.out.println(strDate); ,81,7. JDBC,JDBC(Java DataBase Connectivity)是Java数据库连接API。简单地说,JDBC主要完成3件事情: 建立数据库连接。 向数据库发送SQL语句。 处理数据库返回的结果。,82,7.1 建立数据库连接,导入数据库驱动程序包到工程build路径。Oracle驱动程序为:class12.jar。 示例代码: public class JdbcDemo1 public static void main(String args) String strDBDriver=“oracle.jdbc.driver.OracleDriver“; String strConUrl=“jdbc:oracle:thin:pc179:1521:itfm“; String strUser=“itfm“; String strPass=“itfm“; Connection con; try Class.forName(strDBDriver); con=DriverManager.getConnection(strConUrl,strUser,strPass); catch(Exception e) System.out.println(e); ,83,7.2 向数据库发送SQL,public static void main(String args) String strDBDriver=“oracle.jdbc.driver.OracleDriver“; String strConUrl=“jdbc:oracle:thin:pc179:1521:itfm“; String strUser=“itfm“; String strPass=“itfm“; Connection con=null; Statement stmt=null; try Class.forName(strDBDriver); con=DriverManager.getConnection(strConUrl,strUser,strPass); stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(“select orderid,ordername from orderinfo“); catch(Exception e) System.out.println(e); ,84,7.3 处理数据库返回结果,public static void main(String args) String strDBDriver=“oracle.jdbc.driver.OracleDriver“; String strConUrl=“jdbc:oracle:thin:pc179:1521:itfm“; String strUser=“itfm“; String strPass=“itfm“; Connection con=null; Statement stmt=null; try Class.forName(strDBDriver); con=DriverManager.getConnection(strConUrl,strUser,strPass); stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(“select orderid,ordername from orderinfo“); while(rs.next() System.out.println(rs.getString(“orderid“)+“|“+rs.getString(“ordername“); catch(Exception e) System.out.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ICU病房设备故障应急预案
- 区块链个性化保安协议
- 餐饮变更担保协议
- 新形势下机构餐饮行业顺势崛起战略制定与实施分析报告
- 新形势下杆式天线行业顺势崛起战略制定与实施分析研究报告
- 新形势下清洁发酵技术装备行业顺势崛起战略制定与实施分析报告
- 新形势下房屋、大门、信箱用地址牌行业顺势崛起战略制定与实施分析报告
- 山东省临沂市青云镇中学心中学2026年八年级数学第一学期期末复习检测模拟试题含解析
- 吉林省蛟河市朝鲜族中学2026-2027学年七上数学期末学业质量监测模拟试题含解析
- 湖北省孝感市孝昌县2026-2027学年七上数学期末综合测试试题含解析
- 2026年完整版三级安全教育考试试题及答案
- 产业园消防安全管理制度
- 路面防滑涂料(2025版)
- 大宗贸易业务内控制度
- 2026数字宁夏建设运营公司校招面笔试题及答案
- 2026中工国际工程股份有限公司社会招聘备考题库带答案详解
- 2026年建研院软件开发工程师面试题集
- 品质团队建设方案
- 2025年黑龙江省交投铁路建设投资有限公司面向社会公开招聘11人笔试参考试题附答案解析
- 2025年副主任药师评审面试题库及答案
- 球幕影院模(板)施工方案
评论
0/150
提交评论