20165312 2017-2018-2《JAVA程序设计》第7周学习总结
20165312 2017-2018-2《JAVA程序设计》第7周学习总结
一、对上周测试的查漏补缺
总的来说,我觉得上周两个测试都挺难的,做测试也花费了很长的时间,我认为是因为书上的知识点很多,我还没有理解好,所以还是要更加好好的看书,很多书上的知识点遗漏或者看过一遍就忘记了。
第五周课下测试(ch08 ch10)
- 下列关于内部类的说法,正确的是( )
 
A . 其他类不可以用某个类的内部类声明对象。
B	.	内部类字节码文件的名字格式是“外嵌类名$内部
类名”。
C . 内部类的类体可以声明类变量和类方法。
D . 内部类在成员位置上,因此可以被private修饰。
答案:ABD(C项错误在内部类的类体中不可以声明类变量和类方法。)
- 如果超出JVM运行能力之外,如“byte[] arr=new byte[10241024600];”会抛出java.lang.OutOfMemoryError异常。
 
A . true
B . false
答案:B(对于严重的错误,通过Error类来描述,而对于非严重的问题,则是通过Exception类来进行描述的。)
- 下列关于异常处理的说法,正确的是( )
 
A . 一旦try部分抛出异常对象,那么try部分将立刻结束执行,转向执行相应的catch部分。
B . catch代码块定义一定会执行的代码,它通常用于关闭资源。
C . try-catch语句可以由几个catch组成,分别处理发生的异常。
D . catch括号中列出的异常不得有继承关系,否则会发生编译错误。
答案:ACD(B项:finally代码块定义一定会执行的代码,它通常用于关闭资源。对于异常的部分,如果没有做finally处理,那么这个程序是有缺陷的,每次调用完资源再把资源释放掉是必须的,否则运行压力会特别大。)
- File类的对象主要用来获取文件本身的一些信息,如对文件的读写操作、获取文件所在目录、文件长度或文件读写权限等。
 
A . true
B . false
答案:B(File类不涉及对文件的读写操作。)
- 以下是File类构造方法的是( )
 
A . File(File parent, String child)
B . File(String pathname)
C . File(String parent, String child)
D . File(URI uri)
答案:ABCD
- 以下关于File类常用方法的叙述,错误的是( )
 
A	.	public long length():获取文件长度
B	.	public int hashCode():计算此文件的哈希码
C	.	public String toString():返回此抽象路径名的路径名字符串
D	.	public Boolean isFile():判断一个文件是否是普通文件,而不是目录
答案:B(public int hashCode():计算此抽象路径名的哈希码。)
- InputStream类继承自FileInputStream,可以以字节为单位读取文件。
 
A . true
B . false
答案:B(InputStream是父类)
- 下列说法正确的是( )
 
A . 可以使用FileOutputStream类写入文件。
B . FileOutputStream类的构造方法有FileOutputStream(File file)、FileOutputStream(String name)、FileOutputStream(File file, boolean append)等。
C . 对于FileOutputStream(String name)方法,参数name指定的文件称为输出流的源。
D . 如果输出流指向的文件是已存在的文件,输出流将刷新该文件,使得文件的长度为0。
答案:ABD(C中参数name指定的文件称为输出流的目的地。)
- 下列关于BufferedReader和BufferedWriter的说法,错误的是( )
 
A . 通过调用BufferedReader对象的readLine()方法,可以读取文本行。
B . BufferedReader有一个向文件写入回行符的方法:newLine()。
C . 当BufferedWriter流调用flush()刷新缓存或调用close()方法关闭时,即使缓存没有溢出,,也会将缓存的内容写入目的地。
D . 可以将BufferedWriter流和FileWriter流连接在一起,然后使用BufferedWriter流将数据写到目的地。
答案:B
- 下列关于Scanner类的说法,正确的是( )
 
A . 使用Scanner和正则表达式来解析文件的特点是以空间换取时间。
B . 解析时如果单词不是数字型单词,调用nextInt()或nextDouble()方法将发生InputMismatchException异常。
C . 创建Scanner对象,指向要解析的文件,可以使用useDelimiter方法指定正则表达式作为分割标记。
D . 正则表达式\b((?!abc)\w)+\b可以用来匹配不包含abc的单词。
答案:BCD(A中使用Scanner和正则表达式来解析文件的特点是以时间换取空间)
- 下列哪个叙述是正确的?( )
 
A . 创建File对象可能发生异常。
B . BufferedRead流可以指向FileInputStream流。
C . BufferedWrite流可以指向FileWrite流。
D . RandomAccessFile流一旦指向文件,就会刷新该文件。
答案:C
第六周课下测试(ch08 ch15)
- List接口的特点是?( )
 
A . 不允许重复元素,元素无顺序
B . 不允许重复元素,元素有顺序
C . 允许重复元素,元素有顺序
D . 允许重复元素,元素无顺序
答案:C
- 下列关于LinkedList泛型类常用方法的介绍,正确的是( )
 
A . public E getLast()返回此列表的最后一个元素。如果此列表为空,则抛出NoSuchElementException。
B . public void addFirst(E e) 将指定元素插入此列表的开头。e为要添加的元素。
C . public boolean add(E e)等效于addLast(E)。
D . public boolean remove(Object o) 覆盖类 AbstractCollection 中的 remove。
答案:ABCD(通过查询API)
- 下列关于HashMap泛型类常用方法的介绍,正确的是( )
 
A . public boolean isEmpty()如果此映射不包含键-值映射关系,则返回 true。
B . public V get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则抛出异常。
C . public V put(K key, V value) 在此映射中关联指定值与指定键。如果该映射以前包含了一个该键的映射关系,则以先定义的值为准。
D . public Object clone()返回此 HashMap 实例的浅表副本:并不复制键和值本身。
答案:AD(通过查询API可知:B项:如果此映射不包含该键的映射关系,则返回null。C项:如果该映射以前包含了一个该键的映射关系,则旧值被替换)
- 下列关于TreeSet泛型类常用方法的介绍,正确的是( )
A . public boolean contains(Object o) 如果此 set 包含指定的元素,则返回 true。如果指定对象无法与该 set 中的当前元素进行比较,或不包含,则返回false。 
B . public boolean add(E e)将指定的元素添加到此 set。如果此 set 已经包含这样的元素,则该调用不改变此 set 并返回 false。
C . public boolean addAll(Collection<? extends E> c)将指定 collection 中的所有元素添加到此 set 中。如果此 set 由于调用而发生更改,则返回 true。
D . public E lower(E e) 返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。
答案:BCD(A项:如果指定对象无法与该 set 中的当前元素进行比较,则抛出ClassCastException异常。)
- 下列值不为true的表达式是( )
 
A . "john" = = "john"
B . "john".equals("john")
C . "john" = "john"
D . "john".equals(new String("john"))
答案:C
- 使用构造方法String(byte[] bytes, int offset, int length, Charset charset),通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。其中,offset 参数是子数组第一个字符的索引,count 参数指定子数组的长度。
 
A . true
B . false
答案:A
- String类中的length()方法用来获取一个String对象的字符序列的长度,单位为字节。
 
A . true
B . false
答案:B
- public boolean startsWith(String prefix)方法,如果参数是空字符串,则抛出异常。
 
A . true
B . false
答案:B
- 下列关于public int compareTo(String anotherString)的说法,正确的是( )
 
A . 按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode值。
B . 如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个正整数。
C . 如果它们在一个或多个索引位置上的字符不同,假设 k 是这类索引的最小值,compareTo 返回这两个字符串在位置 k 处两个char 值的差,即值:this.charAt(k)-anotherString.charAt(k)
D . 如果没有字符不同的索引位置,则较短字符串的字典顺序在较长字符串之前。在这种情况下,compareTo 返回这两个字符串长度的差
E . compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
答案:ACDE(B返回一个负整数)
- 下列关于substring方法的说法,正确的是( )
 
A . public String substring(int beginIndex)返回的子字符串从指定索引处的字符开始,直到此字符串末尾。
B . public String substring(int beginIndex, int endIndex) 子字符串从指定的 beginIndex 处开始,直到索引 endIndex处的字符。
C . "emptiness".substring(9)返回值为""。
D . "smiles".substring(1, 5)返回值为"mile"。
E . 若beginIndex 大于 endIndex,则substring(int beginIndex, int endIndex)返回-1。
答案:ACD(B项:直到索引 endIndex - 1 处的字符。E项:抛出IndexOutOfBoundsException异常。)
- 下列说法错误的是( )
 
A . java.util包中的Data类重写了toString()方法。
B . Arrays和Point都继承了toString方法。
C . 调用x.toString()方法的地方可以用""+x代替。
D . 定义int[] Numbers = {1, 2, 3}; String s1 = ""+Numbers;,则System.out.println(s1);调用了toString方法,可以将数组输出。
答案:D(D项:若想打印数组,数组必须调用静态方法Arrays.toString,也就是将以上程序中的String s1 = ""+Numbers;改为String s1 = Arrays.toString(Numbers);。如果要打印多维数组,则需要调用Arrays.deepToString方法。)
- 下列关于字符串与字符数组、字节数组的说法,正确的是( )
 
A . getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)方法的返回值为空。
B . srcEnd是字符串中要复制的最后一个字符的索引。
C . srcBegin 大于 srcEnd时,会抛出IndexOutOfBoundsException异常。
D . 要复制到 dst 子数组的字符从索引 dstBegin 处开始,并结束于索引dstbegin + (srcEnd-srcBegin) - 1
答案:ACD(B项:srcEnd是字符串中要复制的最后一个字符之后的索引。)
- 下列关于正则表达式的说法,正确的是( )
 
A . \ba\w*\b匹配以字母a开头的单词
B . \d+匹配1个或更多连续的数字。
C . \b\w{6}\b 匹配6个及以上字符的单词。
D . [0-9]代表的含意与\d就是完全一致的:一位数字
E . \S+匹配不包含空白符的字符串。
F . (\d{1,3}.){3}\d{1,3}用来匹配 IP地址。
答案:ABDE(C项:\b\w{6}\b 匹配刚好6个字符的单词。F项: IP地址中每个数字都不能大于255,该表达式忽略了这个约束条件。正确的是((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。)
- 下列关于Date类和Calendar类的说法,错误的是( )
 
A	.	可以使用System类的静态方法public long
currentTimeMillis()获取系统当前时间。
B . Date类的public boolean equals(Object obj)方法覆盖了类 Object 中的 equals。
C . 若比较两个Calendar的时间日期先后,可以使用after()方法。after()返回值为布尔类型,其等价于compareTo(when)<0。
D	.	使用Calendar类的静态方法getInstance()可以初始化一个日历对象。
考点:C项:其等价于compareTo(when)>0。
答案:C
- 下列说法正确的是( )
 
A . Java 8之前,对日期进行运算,使用DateFormat类。
B . 需要人类能理解的时间,建议使用Date类的toString()。
C . 现在国际上通用的标准时间是GMT。
D . new Date(System.currentTimeMillis())等价于new Date()
答案:D
- 下列关于Math类的说法,正确的是( )
 
A . public static double cbrt(double a) 返回 double 值的立方根。如果参数为 NaN,那么结果为 NaN。
B . public static double cos(double a) 返回角的三角余弦。如果参数为 NaN 或无穷大,那么结果为 NaN。
C . public static double floor(double a) 返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。如果参数为 NaN 或无穷大,那么结果为 NaN。
D . public static double log10(double a) 返回 double 值的底数为 10 的对数。如果参数为正 0 或负 0,那么结果为负无穷大。
答案:ABD(C项:如果参数为 NaN、无穷大、正 0 或负 0,那么结果与参数相同。)
- 下列哪个表达式是正确的(无编译错误)?( )
 
A . int m =Float.parseFloat("567");
B . int m =Short.parseShort("567")
C . byte m =Integer.parseInt("2");
D . float m =Float.parseDouble("2.9")
答案:C
- 对于如下代码,下列哪个叙述是正确的?( )
 
public class E {
  public static void main (String args[]) {
    String s1 = args[1];
    String s2 = args[2];
    String s3 = args[3];
    System.out.println(s3);
  }
}
A . 程序出现编译错误。
B . 无编译错误,在命令行执行程序:“java E I love this game”,程序输出this。
C . 无编译错误,在命令行执行程序:“java E let us go”,程序无运行异常。
D . 无编译错误,在命令行执行程序:“java E 0 1 2 3 4 5 6 7 8 9”程序输出3。
答案:D
二、本周学习总结
遇到的问题以及解决方案


- 在IDEA中配置驱动mysql-connector-java-5.1.41-bin.jar时,用类似单元测试中加入junit.jar的方法寻找mysql-connector-java-5.1.41-bin.jar,但是我并没有找到。
 - 解决方法:
- 下载mysql-connector-java-5.1.46.zip
 - 解压压缩包
 - File->Projeat Structure
 - 点击Dependencies -> 点击右上方+ -> JARs ->找到解压后压缩包的位置 - > mysql-connector-java-5.1.41-bin.jar
 
 - 根据蓝墨云上的资源下载了WhiteStarUML,根据使用StarUML画图类学习使用了怎样画出UML
 - 运行测试类MessageDAODEmo.java时出现问题
 

然后根据报错提示,发现时代码出问题了,类名的大小写搞错了。
知识点总结
连接数据库
条件与排序查询:
- where子语句
select 字段 from 表名 where 条件 
- where子语句
 更新、添加与删除操作
- 更新
update 表 set 字段 = 新值 where <条件子句> - 添加
insert into 表(字段列表) values (对应的具体的记录)或insert into 表 values (对应的具体的记录) - 删除
delete from 表名 where <条件子句> 
- 更新
 使用预处理语句
事务
setAutoCommit(booean b):方法关闭自动提交模式commit():方法处理事务rollback():方法处理事务失败
代码链接
代码行数:

20165312 2017-2018-2《JAVA程序设计》第7周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
		
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
 - 20145213《Java程序设计》第九周学习总结
		
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
 - 20145213《Java程序设计》第二周学习总结
		
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
 - 20145213《Java程序设计》第一周学习总结
		
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
 - 21045308刘昊阳 《Java程序设计》第九周学习总结
		
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
 - 20145330孙文馨   《Java程序设计》第一周学习总结
		
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
 - 20145337 《Java程序设计》第九周学习总结
		
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
 - 20145337 《Java程序设计》第二周学习总结
		
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
 - 20145218《Java程序设计》第一周学习总结
		
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
 - 《Java程序设计》第九周学习总结
		
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
 
随机推荐
- 2、使用Angular-CLI初始化Angular项目(踩过的深坑!!!)
			
1.step1:建一个放项目的文件夹,打开cmd,或vs code的终端,找到文件夹根目录 2.step2:初始化脚手架 初始化命令: ng new 项目名称 --skip-install 注意:-- ...
 - day 01 python基础
			
1.计算机历史 2.python历史 宏观: python2和python3的区别: python2 源码不标准,混乱,重复代码过多 python3 统一标准,去除重复代码 3.python环境 ...
 - QSplineSeries QChartView绘制曲线
			
参考资料: https://www.qtdebug.com/qtbook-paint-smooth-curve-qchart/ https://blog.csdn.net/liang19890820/ ...
 - learning makefile VPATH
 - 海量数据处理之top K问题
			
题目: CVTE笔试题https://www.1024do.com/?p=3949 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节. 假设目前有一千万 ...
 - VSTO:使用C#开发Excel、Word【13】
			
应用程序对象的操作本章将介绍从Application对象开始的Excel对象模型中的一些主要对象. Excel对象模型中的主要对象有许多方法和属性,完全描述这些对象超出了本书的范围.相反,本章重点介绍 ...
 - js读取本地图片并显示
			
抄自 http://blog.csdn.net/qiulei_21/article/details/52785191 js读取本地图片并显示 第一种方法比较好 版权声明:本文为博主原创文章,未经博主允 ...
 - springcloud学习总结
			
最近花了一周的时间对springcloud的常用组件进行了一些入门级的了解,也破天荒的积极起来用博客进行了学习的记录,只是希望以后用的时候能对自己有所帮助,也希望给跟我一样对springcloud毫无 ...
 - 剑指Offer 22. 从上往下打印二叉树 (二叉树)
			
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 题目地址 https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed25 ...
 - iOS tableView分割线高度自定义
			
1.系统自带的集中分割线的形式 myTableView.separatorStyle=UITableViewCellSeparatorStyleNone;(这个是去掉所有分割线)可以通过这个来设置 2 ...