20165205 2017-2018-2 《Java程序设计》第七周学习总结
教材学习内容总结
- 下载XAMPP并完成配置
- 完成XAMPP与数据库的连接
- 学会创建一个数据库
- 学会用java语言查询数据库
- 学会使用预处理语句
教材学习中的问题和解决过程
问题1:在开启XAMPP-control时,无法通过打开http://localhost 或http://127.0.0.1 来进入XAMPP,打开以上网址时出现下图:
问题1解决方法:将网址改成http://localhost/phpmyadmin就可以直接进入了。
问题2:在确定与sql的链接时,发现汉字呈现乱码
问题2解决方案:打开IDEA左上File->Settings->Editor->File Encodings更改右侧关于Project的编码,保持一致,点击ok。
但是这个并没有解决我的问题,还是显示乱码,之后在代码上点击右键,选择File Encode也与刚才设置一致,但是这之后我的乱码还是没有消失,最后我重新安装了一次IDEA,问题解决。问题3:在运行Example11_1.java时出现
Edit Configuration
的对话框,并且直接点击运行无法运行。问题3解决方法:在VM option处选择文件夹就可以解决,这个问题可能是因为我重装了IDEA才出现的。
代码托管
错题总结
- 第五周
1.下列关于内部类说法正确的是A,B,D
A.其他类不可以用某个类的内部类声明对象。
B.内部类字节码文件的名字格式是“外嵌类名$内部类名”。
C.内部类的类体可以声明类变量和类方法。
D.内部类在成员位置上,因此可以被private修饰
2.下面的类无法通过编译,第三行出现错误提示,因为类不可以被static修饰。(错误)
class Outer{
int x = 3;
static class Inner{
void function() {
System.out.println(x);
}
}
}
3.下列关于异常的说法,错误的是A,B
A.java使用throws抛出一个异常,使用throw声明方法可能抛出异常。
B.执行System.out.println(3/0);语句会报ArithmeticException异常。
C.Java中的错误是以对象的方式呈现为java.lang.Throwable的各种子类实例。
D.方法parseInt()在执行过程中可能抛出DataFormatException异常。
4.如果超出JVM运行能力之外,如“byte[] arr=new byte[10241024600];”会抛出java.lang.OutOfMemoryError异常。(错误)
5.下列关于异常处理的说法,正确的是A,C,D
A.一旦try部分抛出异常对象,那么try部分将立刻结束执行,转向执行相应的catch部分。
B.catch代码块定义一定会执行的代码,它通常用于关闭资源。
C.try-catch语句可以由几个catch组成,分别处理发生的异常。
D.catch括号中列出的异常不得有继承关系,否则会发生编译错误。
- 第六周
1.现有以下代码,哪些选项插入到第5行可以通过编译?BDF
import java.util.*;
Class FindStuff {
public static void main (String[]args){
//insert code here
c.put ("X", 123);
}
}
A.Map c= new SortedMap();
B.HashMap c= new HashMap();
C.HashMap c= new Hashtable();
D.SortedMap c= new TreeMap();
E.ArrayList c= new ArrayList();
F.Map c = new LinkedHashMap();
2.下列关于HashMap泛型类常用方法的介绍,正确的是AD
A.public boolean isEmpty()如果此映射不包含键-值映射关系,则返回 true。
B.public V get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则抛出异常。
C.public V put(K key, V value) 在此映射中关联指定值与指定键。如果该映射以前包含了一个该键的映射关系,则以先定义的值为准。
D.public Object clone()返回此 HashMap 实例的浅表副本:并不复制键和值本身。
查询API。B项:如果此映射不包含该键的映射关系,则返回null。C项:如果该映射以前包含了一个该键的映射关系,则旧值被替换。
3.下列关于TreeSet泛型类常用方法的介绍,正确的是BCD
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。
A项:如果指定对象无法与该 set 中的当前元素进行比较,则抛出ClassCastException异常。
4.链表调用get(int index)方法的速度比顺序存储结构的集合调用get(int index)方法的速度快。(错误)
5.如果链表中存放的对象不是字符串数据,那么创建对象的类必须实现Comparable接口。(正确)
6.下列关于substring方法的说法,正确的是ACD
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。
查询API。B项:直到索引 endIndex - 1 处的字符。E项:抛出IndexOutOfBoundsException异常。
7.下列关于正则表达式的说法,正确的是ABDE
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地址。
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?)。
8.下列关于Math类的说法,正确的是ABD
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,那么结果为负无穷大。
查询API。C项:如果参数为 NaN、无穷大、正 0 或负 0,那么结果与参数相同。
总结
本周学习了XAMPP的使用及数据库的创立,关键的地方在于如何建立联系,在之前学习课本是时候我还下载了mysql,但是在安装XAMPP时我就卸载了,免去了冲突的麻烦,在最后终于完成了从IDEA中查询数据库内信息的任务。