java实验步骤

上传人:痛*** 文档编号:66870027 上传时间:2022-03-29 格式:DOC 页数:59 大小:2.18MB
收藏 版权申诉 举报 下载
java实验步骤_第1页
第1页 / 共59页
java实验步骤_第2页
第2页 / 共59页
java实验步骤_第3页
第3页 / 共59页
资源描述:

《java实验步骤》由会员分享,可在线阅读,更多相关《java实验步骤(59页珍藏版)》请在装配图网上搜索。

1、实验二 java基本语法1. 分析并通过程序验证以下表达式: (1) short s = 33L; (2) int i = 33L; (3) longl = 33L; (4) float f = 33L; (5) double d = 33L;2. 首先分析判断能否编译成功,并在表2-1-1中填写预测结果:表2-1-1 实验结果3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,在上表中填写验证结果。 根据记录的实验结果回答以下问题: 哪些表达式能编译成功?为什么? 哪些表达式不能编译成功?为什么?如何修改表达式才能编译成功? 定义两个变量a和b为: (1) int

2、 a = 10; (2) int b = 3;一. 算术运算符操作练习1. 求变量a和b的和、差、乘积、商和余数,并在下表中填写预测结果:表2-2-1实验结果2. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,在上表中填写验证结果。二. 运算符优先级操作练习1. 分析表达式,并在下表中填写预测结果,且比较运算符优先关系。表2-2-2实验结果2. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,在上表中填写验证结果。 根据记录的预测结果和验证结果,分析+和+的运算优先级关系。三. 位运算符操作练习1. 求出a与b的各种位运算,并在下表中填写预

3、测结果:表2-2-3 实验结果2. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,在上表中填写验证结果。 重新定义变量a的值,令a=-10,再次验证“ab”和“ab”的结果,并分析“ab”与“ab”的区别。实验三 java流程控制一. if语句练习1. 编写程序实现判断输入的年份是否为闰年。 提示闰年:如果一个年份能被4整除并且不能被100整除,或者能被400整除的就是闰年。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,并在下表中填写验证结果,是闰年填“Y”,不是闰年填“N”。表3-1-1 实验结果 如何将上述代码

4、中的(1)至(6)代码改写为一条if语句实现。二. switch语句练习1. 编写程序实现学生成绩等级划分,输入考试成绩等级,程序会相应输出相应的百分制分数段,要求需使用switch语句。 提示if语句和switch语句结合使用。 等级划分如表3-1-2所示:表3-1-2 学生成绩等级划分2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,并输入测试case,对照等级划分表验证程序结果。三. for语句练习1. 编写程序,输出1到100之间,所有可以被3整除又可以被7整除的数。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运

5、行代码,查看程序执行结果。 分别使用while和do_while循环语句改写本程序,并上机运行。四. 程序流程控制语句综合应用 根据以下要求,运用程序流程控制语句打印“田”字。 程序要求:根据输入“田”字的长度进行打印输入,长度须为奇数,并且大于等于5,否则予以提示。运行效果图如下: 提示输入整型变量的语句如下代码所示:一. 二维数组练习1. 假定某个宾馆有三层楼,第一层有4个房间,第二层有3个房间,第三层有5个房间。某一天客人的住宿情况如表3-2-1所示:表3-2-1 某天客人住宿情况 注null表示该房间没有人住宿,在输出房间住宿情况时,没有人住宿直接输出null。 用两维数组来存储各个房

6、间的客人信息,并输出结果如:2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上述代码中二维数组的初始化工作,能否用其他方式实现等价的二维数组初始化工作呢?如果可以,请编写初始化部分的代码。二. 方法返回类型是数组的形式1. 编写一个方法,获得一个字符串的所有字符,并且利用增强的for循环打印输出,方法定义为:2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 如果不用增强的for循环,用普通的循环如何输出?三. 方法参数是以数组的形式传入1. 把数组作为方法的参数,循环输入“妈”、“妈”、“

7、我”、“爱”、“你”,然后输出“妈妈我爱你”。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。实验四 面向对象程序设计11. 创建一个圆类,成员变量有半径radius和圆周率pi,提供计算圆面积的方法,并在main方法中创建圆类的对象,调用其计算面积的方法进行测试。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 试述程序中两个类的各自作用。 类Circle都封装了什么?求圆面积的初始数据是通过哪个方法实现的?请修改程序采用构造函数的方法初始化数据。 类Circle是如何声明的?在类中都声明了什

8、么?在主函数中是如何创建Circle类对象的?一. 静态变量和实例变量练习1. 创建一个类,类名为StaticVariableTest,包含static变量和实例变量,类型为int型,在main方法中分别调用这2个变量并且输出结果。2. 部分源代码如下:3. 将上述代码中的main方法补充完整后,编译运行代码,查看程序执行结果。 根据完善后的源码,分析调用静态变量和实例变量有什么不同?二. 静态方法和实例方法练习1. 创建一个类,类名为StaticMethodTest,包含一个静态方法和一个实例方法,在main方法中分别调用这个两个方法进行测试。2. 部分源代码如下:3. 将上述代码中的mai

9、n函数补充完整,编译运行代码,查看程序执行结果。 根据完善后的源码,分析如何调用静态方法和实例方法?一. 访问修饰符练习1. 创建一个Person类,在该类中用不同的访问修饰符设立不同的person属性,再创建一个PersonTest类,包括main方法,在此类中分别访问Person类中各个属性。2. 源代码如下:3. 先填写下面的表格,在预测结果中,如果能打印输出,填写程序输出结果,否则填“N”。 记录程序运行结果。表4-3-1 预测和验证结果4. 使用Eclipse开发工具,编写上述代码,编译运行代码。在上表中填写程序验证结果。 访问private变量时,编译会出现什么问题,为什么? 通过

10、什么方式能访问private变量?编程实现访问Person类中的private变量。二. 方法重载练习1. 给出一个OverloadTest类,并定义了一个amethod()方法,分析A)、B)、C)、D)和E)五个方法能否正确编译;2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 根据程序执行结果分析类中A)、B)、C)、D)和E)五个方法哪些能编译,哪些不能编译,为什么?实验五 面向对象程序设计2一. 继承类的访问修饰符练习1. 定义一个父类,有不同访问级别的成员变量和方法;2. 源代码如下:3. 再定义一个子类,继承上面的父类,访问父类的

11、成员变量和成员方法。4. 子类源代码如下:5. 分析上面main方法的每一步中,哪些成员变量和方法可以访问,哪些不能访问?填写下面表格中的预测结果,可以访问的填“Y”,不可以访问的填“N”。表5-1-1 实验结果6. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,并填写表5-1-1中的验证结果。二. 成员变量的隐藏和方法覆盖练习1. 以下程序具有继承、成员的覆盖与隐藏的概念。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 子类Son中隐藏了父类Father哪个变量?覆盖了哪个方法? 根据上述程序,分析方法重载与方法

12、覆盖的区别。 1. 下面源代码演示了多态的各种特性。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上述代码中的who.var和who.staticVar、who.method()和who.staticMethod()的输出结果有什么不同?为什么存在这种现象? 分析以下代码,编译时会有什么问题?为什么? 分析以上代码,如何能让who访问Sub类的成员? 分析以下代码,运行会有什么问题?为什么?一. 接口相关练习1. 定义一个rec_Area_Peri接口,里面有两个方法getArea()和getPerimeter(),分别表示“计算面积”

13、和“计算周长”;再定义一个Rectangle类,实现接口rec_Area_Peri。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 在实现类Rectangle中注释掉一个方法后进行编译,看发生了什么?为什么? 在实现类Rectangle中将各实现方法前的public修饰符去掉再进行编译,看发生了什么?为什么? 将接口rec_Area_Peri中定义的两个方法前加上abstract修饰符再编译,看对程序有影响否?为什么? 将接口rec_Area_Peri中定义的两个方法拆分定义成两个接口,即每个接口只定义一个方法,程序将如何修改?二. 包的相关

14、练习1. 创建两个java文件,一个是mypack.java文件,定义两个类classA和classB,类修饰符为默认。另一个是主类文件TestPackage.java,在该类中使用classA和classB。两个java文件都在package1包中。2. mypack.java源代码如下:3. TestPackage.java源代码如下:4. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 将主类文件TestPackage.java封装在另一个包mypackage2,再进行编译,看编译结果提示什么结果? 以上条件不变,在主类class TestPackage加进i

15、mport mypackage1.*语句,再编译,看是什么编译错误? 将类classA和classB修饰为public再编译,看发生了什么?为什么? 将类classA和类classB分别放在两个文件中再编译,再看TestPackage还存在什么错误? 将方法aaa()和bbb()修饰为public,重新编译,所有错误是否消失?无错误后可运行主类,观察运行结果。1. 定义一个外部类China,在它内部定义一个内部类Changchun,分别有自己的方法;2. 部分源代码如下:3. 使用Eclipse开发工具,编写并完善上述代码,编译运行代码,查看程序执行结果。 根据完善的代码,分析在外部类Inne

16、rClassTest是如何通过China类对象访问Changchun类的speak方法的?实验六 java异常处理1. 下面源代码要捕捉的异常是除数为零和数组下标越界。通过修改a和c下标值体验程序。2. 源代码如下:3. 使用Eclipse开发工具,编写并完善上述代码,编译运行代码,查看程序执行结果。 按下条件分别修改数据,编译后运行,观察输出结果,分析在trycatch块里哪些语句没有被执行,为什么?块外哪些语句可被执行到,为什么? (1) 修改a=0,保持c2=200; (2) 保持a=10,修改c3=200; (3) 修改a=0,修改c3=200。1. 设计两个数求商的程序,并设定一个异

17、常类,判断两数相除时,除数是否为零,当除数为零时将抛给自定义异常类,并输出除数为零。2. 部分源代码如下:3. 分析上述代码,将division方法体中的代码补充完整,判断输入的除数是否为0。如果为0,要抛出DivisorIsNotZeroException异常;如果不为0,则计算这个数的商。并按要求创建自定义异常类DivisorIsNotZeroException。在main方法中已经给出如何输入数据和调用所写方法。4. 代码完善后,编译运行代码,输入下表数据进行验证,如果抛出异常填“Y”,否则填“N”。表6-2-1 测试数据 分析自定义异常是如何创建的?实验七 常用类1. 给定一个字符串“

18、abcdefghijklmnopqrstuvwxyz”,要求用两种方法进行倒序输出。 提示(1)转换成字符数组,进行倒序输出;(2)调用StringBuffer类的方法。2. 源代码如下: 提议学好Java,要经常查看API文档,而且要会查看API文档,熟悉API中的常用包下的常用类。通过查看API去了解String和StringBuffer中的方法,就可以完成此题了。3. 经过上述分析,编写代码,编译运行代码,输出为“zyxwvutsrqponmlkjihgfedcba”。 分析上述程序,如何将字符串转换为字符数组? 转换之后如何进行输出,才能得到想要的倒序结果? 如何通过String参数构

19、建StringBuffer对象? StringBuffer是否有方法可以直接进行倒序输出?1. 给定如下两个整数: (1) int var1 = 12; (2) int var2 = 3;2. 完成下列表格中的预测结果:表7-2-1 预测和验证结果3. 使用Eclipse开发工具,编码实现通过Math类中的max()方法和min()方法求最大值最小值,并根据程序执行结果填写上表的验证结果。 提示Math中的方法都是static类型的,可以通过Math.xxx()的形式进行调用方法。 将代码修改为静态导入的方式,说明采用静态导入方式的优势。一. Date类和DateFormat类练习1. 构造D

20、ate类对象获取系统日期,并格式化输出如下形式,如:“2012-12-20 星期六”。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 如果要输出为“2012-12-20 星期六 12:12:12”的形式应该如何做呢?二. Calendar类练习1. 利用Calendar类输出2011年4月的日历页。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 考虑如何将程序修改为能根据当前日期改变的日历页,并且能够标识当前日期? 实验八 java输出流操作一. Java输出流操作1. 求2-200间的素数

21、,将结果通过输出流保存在“D:prime.dat”文件中;2. 源代码如下: 3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。二. Java输入流操作1. 通过输入流操作,将上题中保存到“D:prime.dat”中的素数读出来,并在控制台打印出来。2. 源代码如下: 3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。三. Java输出流和输入流综合应用 通过Java输出流和输入流操作练习,实现将“D:prime.dat”文件复制到“D:newprime.dat”。 提示先将prime.dat中的内容通过输入流读取进来,再将读取到的内

22、容通过输出流输出到目标文件中。一. File类练习1. 编写一个程序,将d:java目录下的所有.java文件复制到d:jad目录下,并将原来文件的扩展名从.java改为.jad。 注为了测试该程序,在d:java目录下新建一些.java文件。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。4. 分析上述代码的执行流程以及File类方法的调用,回答以下问题。 如何获得指定目录和指定后缀名的文件? 如何替换成指定后缀名的文件? 如何实现文件复制操作?二. RandomAccessFile类练习1. 演示RandomAccessFile类的用法。2

23、. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上述代码,熟悉RandomAccessFile类的用法,在raf.seek(5 * 8)方法中,为什么要乘以8呢?实验九 GUI图形用户界面设计1. 模拟计算器的布局,如图9-1-1所示。图9-1-1 计算器布局 分析计算器整体布局包括两个输入文本框、一个结果输出框、加、减、乘、除、平方和开方按钮。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上述程序,采用了哪些类型的监听器?采用什么方式实现监听接口? 采用了什么布局管理器,各组件按什

24、么次序加入组件的? 分析事件执行方法actionPerformed里面的下面三条语句起何作用?1. 编写一个简单的具有打开和另存为功能的记事本工具。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 基本容器JFrame比起Frame有何特点?为什么这里定义了一个contentPane = this.getContentPane(); 很多地方用到this,这个this指什么? 与Frame相比,JFrame的关闭窗口的操作如何实现的?实验十 多线程编程技术一. 继承Thread类创建线程练习1. 继承Thread类,创建一个线程,重写run()

25、方法,输出打印110,然后在main方法中调用此线程。2. 部分源代码如下:3. 将上述代码中的main方法补充完整后,编译运行代码,查看程序执行结果。二. 实现Runnable接口创建线程练习1. 实现Runnable接口,创建两个线程,这两个线程共享同一个对象;2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上面程序,创建了什么线程?分别启动了什么方法?是否共享同一个对象?是否操纵同一个实例变量? 1. 创建两个线程:会计和出纳,使用同一目标对象。两个线程共享目标对象的money。当money的值小于150时,线程会计结束自己的run

26、()方法进入死亡状态;当money的值小于0时,线程出纳结束自己的run()方法进入死亡状态。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 通过查看结果可以看到,线程会计先执行,如何可以让线程会计做出让步,让线程出纳先执行呢?实验十一 网络程序开发一. URL和URLConnection的使用1. 编写一个程序,通过URL读取网上资源以获得图片,并将图片保存在本地。2. 源代码如下: 注代码中172.16.0.253为服务器IP地址,可根据实际情况填写。3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上

27、述代码的URLConnection下载文件的执行流程。二. InetAddress类的使用1. 编写一个程序,分别获取域名是的主机域名及IP地址。 注将本机网络连接的首选DNS服务器设置为服务器的IP地址,否则不能解析该域名。2. 源代码如下:3. 用Eclipse开发工具编写上述代码,编译运行代码,查看输出结果。 如何分别获取InetAddress对象所含的域名和IP地址?一. Socket客户端编写1. 绑定地址localhost和4333端口号来编写服务器端和客户端程序,通过socket套接字连接方式,客户端每隔500毫秒向服务器发送一个奇数,服务器将回答:“你好,我是服务器”,然后每隔

28、500毫秒,服务器将已收到的奇数乘以2再发回给客户。2. 客户端源代码:3. 使用Eclipse开发工具编写客户端代码,等待和下面的服务器端代码一起运行。二. Socket服务器端编写1. 服务器端源代码:2. 使用Eclipse开发工具编写服务器端代码。3. 运行编写好的客户端和服务器代码,查看程序执行效果。 分析上述客户端和服务器端代码,绘制出Socket通信交互流程图。实验十二 java数据库连接一. 安装MySQL过程介绍 注如果学生机上已经安装MySQL数据库,则需先卸载原来的MySQL数据库,然后再按以下步骤进行MySQL数据库的安装。1. 点击工具面板中【MySQL安装包】,如图

29、12-1-1所示。图12-1-1 安装向导2. MySQL安装向导启动,点击【Next】继续,如图12-1-2所示。图12-1-2 安装类型3. 选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程,单击【Next】,如图12-1-3所示。图12-1-3 自定义安装4. 在“MySQL Server(MySQL服务器)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard dri

30、ve.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change.”,手动指定安装目录,如图12-1-4,确定完安装目录后,单击【Next】,如图12-1-5所示。 图12-1-4 选择目的安装目录图12-1-5 准备安装5. 确认一下先前的设置,如果有误,单击【Back】返回重做。单击【Install】开始安装,如图12-1-6所示。图12-1-6 正在安装6. 安装完成后,连续单击【Next】按键,最终出现如图12-1-7所示界面。图12-1-7 安装完成 MySQL软件提供了mysql配置向导,用户不需要自己手动去配置my.ini,将“Configure the Mys

31、ql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。二. 配置MySQL Server1. 单击图12-1-7中的【Finsh】按钮,出现如图12-1-8所示界面,MySQL Server配置向导启动。图12-1-8 配置向导2. 单击【Next】出现如图12-1-9所示界面。图12-1-9 MySQL服务配置方式3. 选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程,如图12-1

32、-10所示。图12-1-10 服务类型4. 选择服务器类型,“Developer Machine(开发测试类,mysql 占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择,一般选“Server Machine”,不会太少,也不会占满,如图12-1-11所示。图12-1-11 MySQL数据库的用途5. 选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Tran

33、sactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,单击【Next】继续,如图12-1-12所示。图12-1-12 配置InnoDB Tablesspace6. 对InnoDB Tablespace进行配置,就是为InnoDB数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要

34、选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用默认位置,直接单击【Next】继续,如图12-1-13所示。图12-1-13 设置MySQL访问量7. 选择您的网站的一般mysql 访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,

35、单击【Next】继续,如图12-1-14所示。图12-1-14 设置MySQL服务端口8. 是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql 数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。还有一个关于防火墙的设置“Add firewall exception ”需要选中,将MYSQL

36、服务的监听端口加为windows防火墙例外,避免防火墙阻断。单击【Next】继续,如图12-1-15所示。图12-1-15 设置数据库语言编码 注如果要用原来数据库的数据,最好能确定原来数据库用的是什么编码,如果这里设置的编码和原来数据库数据的编码不一致,在使用的时候可能会出现乱码。9. 这个比较重要,就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字

37、、和其它乱七八糟的字使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。单击【Next】继续,如图12-1-16所示。图12-1-16 设置MySQL服务名称10. 选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql -u用户名 -p密码”就可以了,不用指出m

38、ysql.exe的完整地址,很方便),这里全部打上了勾,Service Name不变。单击【Next】继续,如图12-1-17所示。图12-1-17 设置root用户的密码11. 这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。“Enable root access from remote

39、 machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,单击【Next】继续,如图12-1-18所示。图12-1-18 执行MySQL配置文件 确认设置无误,如果有误,单击【Back】返回检查。单击【Execute】使设置生效。12. 设置完毕,单击【Finish】结束MySQL的安装与配置。13. 验证MySQL是否安装成功。 打开命令行,输入mysql -V命令,可以查看到安装的M

40、ySQL版本信息;输入mysql u用户名 p密码,可以进入MySQL命令行模式,如图12-1-19所示。图12-1-19 验证MySQL是否安装成功 三. JDBC连接MySQL数据库1. 用JAVA应用程序连接MySQL数据库,然后测试是否连接成功,在控制台打印成功信息。对于只测试是否成功连接到数据库,而不对数据库进行操作,只用到Connection即可。2. 构建工程项目的步骤: (1) 创建项目、包和类,具体创建过程参考【实验1|练习二|三. 使用Eclipse编写Java程序】。 (2) 构建项目,添加MySQL驱动JAR包。鼠标右键单击项目名称,选择“构建路径”-“配置构建路径”-

41、“库”,如图12-1-20所示。图12-1-20 添加外部JAR库 (3) 在图12-1-20中单击【添加外部JAR】,然后选择安装目录ExpJPSJAR中的MySQL驱动JAR文件(mysql-connector-java-5.1.7-bin.jar),添加成功后,单击【确定】,这样就加入了MySQL的JDBC驱动。(4) 启动MySQL服务,“开始”-“运行”-输入“services.msc”回车,找到“MySQL”,如果没有启动,将其启动即可。 (5) 在类中编写连接数据库的代码。3. 源代码如下: 注在main方法中并没有调用closeConn(Connection conn)方法,这

42、里给出这个方法,是因为在操作数据库表的时候,操作结束要关闭Connection对象,释放资源。这里我们只是为了测试是否连接到数据库而已。4. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 如果MySQL数据库用户名和密码不正确,再运行上面程序时,会出现什么效果? 如果关闭MySQL服务,再运行上面程序时,会出现什么效果? 如果删除掉MySQL的驱动JAR包,再运行上面程序时,会出现什么效果?1. 创建MySQL数据库db_student,创建表tb_score。脚本语言如下:说明一般情况下,要用将数据库和表的名称引上。 提示mysql执行sql脚本具体格式为:my

43、sql -u用户名 -p密码 sql脚本文件。2. 连接数据库db_student,具体参考【实验12|练习一|三. JDBC连接MySQL数据库】。3. 查询记录操作。 (1) 查询数据库db_student中tb_score表里的全部记录,每条记录包含全部的字段值。 源代码如下: ResultSet对象有哪几种方式获取字段值? (2) 将tb_score中的记录按总成绩(math + english)排序显示,并每条记录显示总分字段。 SQL语句如下: (3) 查询tb_score全部记录中名字姓氏是“王”的记录。 SQL语句如下: 上述SQL语句的“%”表示什么意思?MySQL还有什么其

44、他通配符?都分别代表什么意思?4. 更新、添加、删除记录操作。 源代码如下:实验十三 java集合1. 创建一个集合,装20个不同的随机数(1-100),然后将排序结果,以及排序后的倒序结果输出。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上述代码是如何判断列表list中是否存在元素的?若选用其他方式如何实现? 在TestList类中编写一个方法(方法名为ListOut),选用Iterator和增强for循环遍历方式输出列表list的元素。1. 做一个map集合,key值100以内随机十个不同的数,value值26个字母随机取,输出key值和value值。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 通过什么方式能对Map里的元素进行有规则的排序?比如将上述代码中的map值对象进行排序。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!