ImageVerifierCode 换一换
格式:DOCX , 页数:122 ,大小:545.83KB ,
资源ID:12303796      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12303796.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(J2SE基础教程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

J2SE基础教程.docx

1、J2SE基础教程序言当前的软件开发环境开发语言数据库C#SQL ServerJavaOraclePhpMySqlC/C+?XML简介XML,英语全称是Extended Markup Language,弥补了HTML的不足。HTML例子:This is a test page.Q:如果标签丢失或出错,HTML会运行吗?简单XML例子:ZS查看XML文件,双击即可。Q:如果标签丢失或出错,XML会运行吗?XML数据库例子:350303001zs350303002ls查看XML两种方式:(1)双击(2)选择EXCEL程序Q:上面的写法是否支持中文?第一行增加:软件开发流程简介-Lecture第1章

2、Java开发前奏Java是从1995年正式问世,完全面向对象,平台无关性,安全可靠,主要面向Internet的开发工具(B/S)。其特点:自动回收垃圾功能,对象和变量的强制类型检查,取消了指针。Java 分成三种版本: Java 标准版(J2SE)、Java 微缩版(J2ME) 和 Java 企业版(J2EE),关系图如下:Java对Internet的影响如同C对系统编程的影响。|2节1.1 Java虚拟机及Java的跨平台原理第一个C语言例子/C:turboc2Hello.c#include main() printf(Hello worldn);执行步骤:(I) cmdc:turboc2

3、(II) 打开编辑界面:tc Hello.c(III) 编译运行:Ctrl+F9 (IV) 查看结果Alt+F5练习:把turboc2.rar解压到C:turboc2,然后运行上面的Hello.c第一个Java例子前提:Java开发环境的搭建(1) 安装JDK1.5(2) 配置环境变量右击我的电脑属性高级环境变量(A) 修改环境变量名path,最前面添加:C:Program FilesJavajdk1.5.0_04bin;备注:路径前后顺序的重要性:C:WINDOWSsystem32java.exe,(B) 新建环境变量名:classpath 变量值:C:Program FilesJavajd

4、k1.5.0_04jrelibrt.jar;.;(C) 新建环境变量名:java_home 变量值:C:Program FilesJavajdk1.5.0_04至此,环境配置完毕,现在运行第一个Java程序。/C:Hello.javaclass Hello public static void main(String args) System.out.print(Hello worldn); 执行步骤:(I) cmdC:(II) javac Hello.java(III) java Hello /其中java就是一个JVMQ:下面的配置会产生什么样的后果?(Q1) (A)步骤中把C:Progr

5、am FilesJavajdk1.5.0_04bin;放在路径的最后面 (Q2) (B)步骤中classpath的值后面缺少;.;练习:用记事本新建一个Hello.java ,内容同上,然后在cmd界面运行。练习:用记事本新建一个Sum.java ,打印出1+100的和,然后在cmd界面运行。体验:C、Java命令行开发工具与可视化开发工具|2节1.2 体验Java的编程过程初级开发工具:记事本,EditPlus,UltraEdit等,没有函数联想功能。/Hello.javaclass Hello public static void main(String args) System.out.

6、print(Hello worldn);/ System.out.println(Hello world); 练习: Myeclipse的Hello World程序和求和程序。练习:输出如下图的效果:1.3 有效利用java的文档帮助两种版本:HTML , CHM(见压缩包jdk150.chm)class Hello public static void main(String args) String test=Hello world.; System.out.println(test.substring(2, 5); 练习:查找String 变量test中关于o出现的第一次位置。1.4 J

7、VM(虚拟机)的运行过程C:为特定平台编译,产生固定内存偏移量Java:可以跨平台,不确定内存布局,由JVM运行时创立可移植和安全性1.5 垃圾回收器Java内存中的栈与堆:一般变量在栈中,如int i=0;类的实例对象和数组所需要的存储空间在堆上分配,如Hello hello=new Hello();没有引用的对象就是垃圾.用System.gc()回收,如下代码所示:class Hello private int i=10; public static void main(String args) Hello hello=new Hello(); System.out.println(hel

8、lo.i); /运行完后,hello对象就成为垃圾了。后面章节会详细说明它的内存分布。垃圾回收不由程序员控制,无规律可循,java占内存|2节1.6 反编译工具介绍JADjad s java Hello.class练习:自己编写一个类,然后通过.class反编译出源代码第2章 Java编程基础本章案例见MyMath工程:2.1 Java基本语法格式2.1.1 Java基本语法格式概述Java中的所有程序代码都必须存在于一个类中,(注意全局变量的写法也是在一个类中,与C不同)。严格区别大小写。(优点:类Hello 与对象hello的关系)自由格式:一条语句写成若干行,一行写若干语句。练习:根据现

9、成案例改写成自由格式(不推荐)2.1.2 Java程序的注释单行注释多行注释文档注释总结:可读性第一,效率第二。注释一般占代码总量的20%-50% (见案例)2.1.3 Java中的标识符与关键字不能以数字开头,不能是Java中的关键字(public ,for 等),可由任意顺序的大小写字母、数字、下划线和美元符号。(见案例)2.1.4 Java中的常量Java中的单个字符占两个字节,Unicode备注:转义字符n 换行t 制表符 斜杠练习输出软件标题:福建省东方锐智2009版通用进销存系统 (见案例)练习:eclipse-SDK-3.2.2-win32.zip运行上面的例子|2节2.2 变量

10、及变量的作用域2.2.1 Java的变量类型练习:定义以上所有类型的变量2.2.2 注意变量的有效取值范围类型名大小/位取值范围byte8-128127short16-3276832767int32-21474836482147483647long64-92233720368547758089223372036854775807float321.4E-453.4E+38 , -1.4E-45-3.4E+38double644.9E-3241.7E+308, -4.9E-324-1.7E+3082.2.3 基本数据类型之间的转换1自动类型转换(隐式类型转换)两种不同的数据相操作,会自动往上面一级

11、转换 (见案例的public static float square(int i, int j)、或”sum=”+sum)2强制类型转换(显示类型转换)-数据丢失,不推荐byte b = (byte)2572.3 函数2.3.1 函数没有用函数的代码:public class Func1 public static void main(String args) for(int i=0;i3;i+) for(int j=0;j5;j+) System.out.print( * ); System.out.println(); System.out.println(); for(int i=0;i

12、2;i+) for(int j=0;j4;j+) System.out.print( * ); System.out.println(); System.out.println(); for(int i=0;i6;i+) for(int j=0;j10;j+) System.out.print( * ); System.out.println(); 有用函数的代码:public class Func1 public static void main(String args) / int i=3,j=5; drawRectangle(i,j); /System.out.println(i+”:”

13、+j); 形参传递 drawRectangle(2,4); drawRectangle(6,10); public static void drawRectangle(int x,int y) for(int i=0;ix;i+) for(int j=0;jy;j+) System.out.print( * ); System.out.println(); System.out.println(); 练习上面的例子 提高代码的复用性2.3.2 函数的参数传递过程2.4 Java中的运算符2.4.1 算术运算符练习修改案例:public static int room(int i, int j)

14、 /共i个人,每个房间有j个床位,需要多少房间|2节练习:产生随机小数(0,1),(参见JDK帮助 索引Random)练习:产生随机整数0,5练习:产生随机整数1,60练习:产生随机整数61,120练习:产生随机整数函数genearteRnd(int i, int j),并调用之练习修改案例:public static int random(int i, int j) /产生i到j之间的随机数2.4.2 赋值运算符见案例2.4.3 比较运算符见案例2.4.4 逻辑运算符见案例|2节2.4.5 位运算符见案例2.4.6 运算符的优先级见案例2.5 程序的流程控制2.5.1 顺序结构见案例2.5.

15、2 if条件结构见案例2.5.3 switch 选择结构练习:改写案例为switch结构2.5.4 循环结构练习改写案例:public static int multiple(int i, int j) , 要求效果如下:return (i * (i+1) * (i+2) * j)2.5.5 break与continue语句练习改写案例:public static int multiple(int i, int j) , 其中i0要求效果如下:(1)当i遇到0时,跳过,继续(2)当i遇到0时,跳出循环2.6 数组2.6.1 数组的基本概念int x=new int100;以下是数组在内存的分布

16、结构,与对象是一样的。练习改写案例:public static void printArr(int i, int j) 要求把i,j放在一个整型数组,并把它输出|2节2.6.2 数组的静态初始化练习改写案例:public static void printArr(int i, int j) 要求把i,j替换x数组的后面两个,并倒序输出2.6.3 多维数组不常用2.6.4数组排序练习改写案例:public static void printArr(int i, int j) 要求把i,j替换x数组的后面两个,并从低到高排序以下是参考答案:方法1:采用数据结构与算法的排序法:public clas

17、s Test public static void main(String args) int a=new int6,4,1,2,3,5; int temp; int indexSeq; int i,j; for( i=0;i=a.length-2;i+) for(indexSeq=i,j=i+1;j=a.length-1;j+) if(ajaindexSeq) indexSeq=j; temp=aindexSeq; aindexSeq=ai; ai=temp; /外部for结束 for(int k=0;ka.length;k+) System.out.print(ak); 方法2:Java自

18、带的排序方法:import java.util.*;public class Test public static void main(String args) int ia=new int1,2,4,8,3; Arrays.sort(ia); for(int i=0;iia.length;i+) System.out.println(iai); 第3章 面向对象技术(上)以下各章节内容见项目C/S版JXC:需求分析图:数据库设计-MySQL:练习:安装并配置MySQL,密码设置为123use test;drop table accounts;drop table books;Create t

19、able accounts ( username varchar(20) primary key, userpassword varchar(20) ,dt timestamp);Create table books ( bookisbn varchar(20) primary key, bookcount int,discount float(3,1);insert into accounts values(zbc,123,sysdate();commit;select * from accounts;select * from books;数据库设计-Oracle:练习:安装并配置Orac

20、le,帐号密码设置为Scott/tigerdrop table accounts;drop table books;Create table accounts ( username varchar(20) primary key, userpassword varchar(20) ,dt timestamp);Create table books ( bookisbn varchar(20) primary key, bookcount int,discount number(3,1);insert into accounts values(zbc,123,sysdate);commit;se

21、lect * from accounts;select * from books;练习:运行C/S进销存并互相访问。3.1 面向对象的概念见案例 ( 属性、方法 、封装、继承、函数重载)|2节3.2 类与对象14个文件之间的关系图。Hello.java A.java (public void func1()ProcessCenter.java Accounts.java (四个方法) /增删改查与四个方法的关系。函数内的变量与属性的区别 (初值)数据库的字段与属性的关系(可选类属性,直接用方法传递)成员变量类型的初始值成员变量类型/属性初始值byte0short0int0long 0Lfloa

22、t0.0Fdouble0.0Dcharu0000booleanFalseAll reference typeNull成员函数=方法|2节3.2.1 对象的比较(1) int i vs int j(2) String username vs String specialuser(3) 同上(new String)见案例3.2.2 匿名对象new A().func1 vs A a =new A(); a.func1(); /a.fun2();a.func3();见案例3.3 构造函数new A() VS A a =new A();new Login()见案例练习:3.4 this引用句柄this:

23、顾名思义,它在函数内部就是这个函数所属的对象的引用变量。见案例3.5 与垃圾回收有关的知识自动与手动 (增加系统负担)3.6 函数的参数传递3.6.1 基本数据类型的参数传递 (P7)基本类型的变量作为实参传递,并不能改变这个变量的值。见2.3节的形参传递3.6.2 引用数据类型的参数传递对象的引用变量并不是对象本身,它们只是对象的句柄。能改变其传递的值Client 传递Message ProcessCenter 打印见案例练习:|2节 3.7 Static关键字可直接调用,或实例对象后再用。简述Static的内存结构。与非Static的一般对象的区别。严格来说static的使用破坏了类的封装

24、,但是用在工具类里面还是比较方便的, 一般用做库函数,如System、Math等。常见应用:统计在线人数常见的数据库操作,如books.add等,一般不用Static,会引发并发问题。/Statistics.javapublic class Statistics static int peopleOnLine = 0;/Client.javapublic class Client public static void main(String args) /while (true) System.out.println(Statistics.peopleOnLine+); 3.8 内部类在一个类

25、内部定义,这就是嵌套类。也叫内部类、内置类。public class Out / 内部类 对外不可访问,通过它的父类才可以调用 class In float PAI = 3.14f; public void printPai() System.out.println(new In().PAI); public static void main(String args) Out out = new Out(); out.printPai(); 3.9 使用Java的文档注释javadoc HTML文档javadoc Accounts.java 自动在当前目录生成相关的HTML见案例第4章 面向对

26、象技术(下)4.1 类的继承继承的使用/Person.javapublic class Person String name;String sex; public void addBonus() /插入数据库 System.out.println(每人加一千); /Cashier.javapublic class Cashier extends Person String accountCertificateID; public static void main(String args) new Cashier().addBonus(); /QualityChecker.java (Strin

27、g qualityCertificateID)/Login.java 中的extends JFrame覆盖父类的方法-override覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型。注意与函数重载的区别-3.1见案例练习:重写类final关键字在JAVA中声明类、属性和方法时,可使用关键字final来修饰。final标记的类不能被继承final标记的方法不能被覆盖final标记的变量,即成为常量,只能赋值一次。注意区别:finally是用来抛出异常的关键字。4.2 抽象类与接口4.2.1 抽象类Java中可以定义一不含方法体的方法,它的方法体的实现交给子类根据自己的情况去实现。这样的方法就是抽象方法。包含抽象方法的类就叫抽象类。抽象方法必须用abstract修饰符来定义。任何带有抽象方法的类都必须声明为抽象类。1、抽象类不能被实例化,即不能用new2、抽象类的子类必须覆盖所有的抽象方法后才能被实例化。否则这个子类还是抽象类。含有抽象方法的类肯定是抽象类,抽象类中的某个方法不一定是抽象的。练习:创建一个抽象类,并继承4.2.2 接口如果一个抽象类中的所有方法都是抽象的,就可以将这个类用另外一种方式来定义。即接口。

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

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