黑马程序员JavaEE基础班知识点整理.docx

上传人:b****5 文档编号:11795326 上传时间:2023-04-02 格式:DOCX 页数:20 大小:61.29KB
下载 相关 举报
黑马程序员JavaEE基础班知识点整理.docx_第1页
第1页 / 共20页
黑马程序员JavaEE基础班知识点整理.docx_第2页
第2页 / 共20页
黑马程序员JavaEE基础班知识点整理.docx_第3页
第3页 / 共20页
黑马程序员JavaEE基础班知识点整理.docx_第4页
第4页 / 共20页
黑马程序员JavaEE基础班知识点整理.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

黑马程序员JavaEE基础班知识点整理.docx

《黑马程序员JavaEE基础班知识点整理.docx》由会员分享,可在线阅读,更多相关《黑马程序员JavaEE基础班知识点整理.docx(20页珍藏版)》请在冰豆网上搜索。

黑马程序员JavaEE基础班知识点整理.docx

黑马程序员JavaEE基础班知识点整理

黑马程序员JavaEE基础班知识点整理

天地玄黄,宇宙洪荒。

如果你也和我一样看过不少网络小说,那你的想象力肯定很丰富,这点作为程序员是很重要的。

如果你和我一样喜欢《黑客帝国》《银河系漫游指南》《钢铁侠》《三体》《西部世界》。

那有可能科幻就是你坚持钻研技术的动力来源。

虽然我们暂时不能像黑客帝国里一样进入虚拟世界,不能像邓肯一样到宇宙尽头餐馆吃饭,没有贾维斯的智能管家系统,也不能把机器人做的无法分辨真伪,但是如果没有人们对未来的想象我们的技术就没有了追求。

这些追求促使我们不断的学习,让技术不断的前进,我相信这些电影电视小说里的情节一定会实现。

抱有这样的期待和好奇很多同学来到黑马学习技术,首先接触的就是黑马的基础班。

视频课程,讲义是必须的,但是我们还要有知识的梳理。

今天我们就整理了基础班的一下问答和笔试题供大家交流学习。

希望大家梳理一下自己的基础知识,基础知识是我们技术飞船的主架,主架坚固才能让我们在宇宙里航行的更远~

理论知识点

一、基础概念

 

1、面向对象的理解并举例

2、面向对象的三大特性,并分别阐述对每个特性的理解

3、阐述成员变量和局部变量的区别

4、构造方法的概念和作用,和一般方法的区别

5、静态代码块、构造代码块、构造方法的特点及执行顺序

6、描述类和对象的关系

7、创建对象的步骤   等

 

二、IO流理论知识点:

1、io流的基本流都有哪些,简单说说基本流的体系

2、字节流和字符流的使用场景

3、拷贝文本文件一般会用到哪个流?

为什么?

4、在io流中拷贝文件一般会用哪几个流?

5、在io流的拷贝过程中,通过while循环读取字节进行拷贝,需要通过哪个流的什么方法读取字节

6、File类的常用方法都有哪些?

7、遍历指定目录下的文件的所有名称,一般用什么方法?

8、在io流中一般常用的字符编码集都有哪些?

简单阐述几种

9、在字符流中,带缓冲区的包装流都有哪一些?

具体阐述

一下。

10、为什么read()方法返回值是int类型?

11、标准输入流和输出流是什么?

三、集合理论知识点

1、  集合的由来

2、  数组和集合的使用场景

3、  数组和集合的区别

4、  集合的遍历

5、  在迭代集合中元素时,可不可以通过集合对象的方法操作集合中的元素?

6、  List的三个子类的特点

7、  栈和队列数据结构

8、  List有三个儿子,在不同的场景分别应该使用谁呢?

9、  HashSet保证元素唯一的原理

10、  TreeSet两种排序方式

11、  list集合和set集合有什么区别?

12、  双列集合获取键和值的两种方式

13、  HashMap和Hashtable的区别

14、  Collection和Collections的区别?

四、反射理论知识点

1、  反射概述

2、  获取类的字节码文件三种方式

五、线程理论知识点

1、  线程的生命周期。

2、  多线程的使用场景是什么?

3、  简述通过Runnable实现多线程的步骤。

4、  线程和进程的区别是什么?

5、  一个线程从等待状态被唤醒后是直接进入运行状态么?

6、  实现多线程有几种方式?

7、  对常用的实现多线程的方法做一个对比。

8、  如何使用匿名内部类实现多线程?

9、  如何获取当前线程的名字?

10、  如何实现线程的等待和休眠?

11、  Sleep和Wait方法的可以传参数么?

12、  Sleep方法和Wait方法的参数代表什么意义?

13、  如何唤醒等待中的线程?

14、  同步代码块和同步方法的使用场景是什么?

15、  同步方法的锁对象是什么?

16、  对懒汉式和饿汉式做一个对比。

17、  什么是工厂设计模式?

18、  死锁产生的原因是什么?

19、  简述线程池的应用场景。

20、  Timmer类的使用场景。

21、  说一下你所学过的和线程安全有关并且是线程安全的类有哪些?

 

编程知识点

一、IO流编程知识点:

1、车库里有各种牌子的车,请根据这个生活中的案例用代码实现出来。

有一个garage类(车库类),里面有很多车,车库类有车名(name),车牌号(number),颜色(colour),价格(price)等属性。

提示用户输入自己喜欢的三种车的车名,车牌号,颜色,价格。

然后根据输入的车的价格的降序进行排序,将输出的结果存到根目录下的a.txt中。

比如:

路虎-京B8888-黑色-1200000

2、提示用户输入一串字符串,统计出字符串中每个字符出现的次数,将结果写入到a.txt中。

二、集合编程知识点:

1、按照以下需要实现相关功能,需求如下:

1)  分别键盘录入5个人的相关信息(姓名、年龄、性别)

2)  定义一个方法将键盘录入的相关信息封装成Person对象,把对象存储在集合中并且遍历输出Person对象所有相关信息。

3)  将集合中Person对象年龄大于60的对象删除并且将其相关信息输出到控制台上

2、已知有一Map集合,请实现如下需求:

    A:

向map集合中添加3组数据,

      例如:

1="woaijavajavaaiwo";  

2="woaiheima,b";

    B:

提示用户录入编号及内容,然后将内容(value)进行反转

      //例如:

用户输入woaijava  存入顺序为avajiaow;

    C:

将集合中的值写入到D:

\\a.txt中。

三、线程编程知识点:

1、通过继承Thread类的方式创建两个线程,在Thread类的构造方法中指定线程的名字,开启线程并输出10次每次执行的是哪条线程。

2、用多线程知识完成模拟抢红包的过程,5个人共抢10个红包,红包的金额0—6元不等(包含0和6),每个人相当于1个线程。

在控制台打印出每个人抢到红包的总金额。

四、JDBC知识点:

利用SQLyog创建itheimadb数据库和stu表,表中字段有:

name(varchar类型),age(int类型),java(double类型),c(double类型),oc(double类型),Chinese(double类型),并将以下数据添加到stu表中(以上操作均可以使用SQLyog完成);利用JDBC连接itheimadb数据库使用sql语句按要求完成以下功能

  

id

  

name

age

java

c

oc

chinese

1

zs

12

100

98

100

20

2

ls

24

50

51

92

100

3

andi

34

20

10

15

60

4

aliy

21

30

100

15

65

5

wn

11

80

21

87

12

a.输出年龄在20岁以上的学员所有学科的总分

b.将andi的java成绩改为100,C语言成绩改为60

c.在控制台上打印出Java学科和c学科都是60分以下的学员姓名

 

参考答案:

一1:

车库类

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

publicclassGarage{

        privateStringname;

        privateStringnumber;

        privateStringcolour;

        privateintprice;

 

        publicGarage(Stringname,Stringnumber,Stringcolour,intprice){

                super();

                this.name=name;

                this.number=number;

                this.colour=colour;

                this.price=price;

        }

        publicStringgetName(){

                returnname;

        }

        publicvoidsetName(Stringname){

                this.name=name;

        }

        publicStringgetNumber(){

                returnnumber;

        }

        publicvoidsetNumber(Stringnumber){

                this.number=number;

        }

        publicStringgetColour(){

                returncolour;

        }

        @Override

        publicStringtoString(){

                return"Garage[name="+name+",number="+number+",colour="

                                +colour+",price="+price+"]";

        }

        publicvoidsetColour(Stringcolour){

                this.colour=colour;

        }

        publicintgetPrice(){

                returnprice;

        }

        publicvoidsetPrice(intprice){

                this.price=price;

        }

}

示例代码:

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

publicclassTest01{

        publicstaticvoidmain(String[]args)throwsIOException{

                ArrayListlist=newArrayList<>();

                System.out.println("请输入自己喜欢的三种车的车名,车牌号,颜色,价格");

                Scannersc=newScanner(System.in);

                for(inti=0;i<3;i++){

                        Stringname=sc.next();

                         Stringnumber=sc.next();

                         Stringcolour=sc.next();

                        intprice=sc.nextInt();

                        //System.out.println(name+""+number+""+colour+""+price);

                         Garagecars=newGarage(name,number,colour,price);

                        list.add(cars);

                        System.out.println("添加成功!

");

                }

                for(intj=0;j

                        for(inti=0;i

                                Garagecar1=list.get(i);

                                Garagecar2=list.get(i+1);

                                if(car1.getPrice()

                                        list.set(i+1,car1);

                                        list.set(i,car2);

                                }

                        }

                }

                BufferedWriterbf=newBufferedWriter(newFileWriter("a.txt"));

                for(inti=0;i

                        bf.append(list.get(i).toString());

                        bf.newLine();

                        bf.flush();

                        //System.out.println(list.get(i).toString());

                }

                bf.close();

                System.out.println("信息已写入a.txt");

        }

}

一、2:

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

publicclassTest02{

        publicstaticvoidmain(String[]args)throwsIOException{

                System.out.println("请输入一个字符串");

                Scannersc=newScanner(System.in);

                Stringstr=sc.next();

//               System.out.println(str);

                Setset=newHashSet();

                char[]chars=str.toCharArray();

                for(inti=0;i

                        set.add(chars[i]);//去重,

                }

                Mapmap=newHashMap();

                for(inti=0;i

                        if(set.contains(chars[i])&&!

map.containsKey(chars[i])){

                                map.put(chars[i],1);

                        }elseif(set.contains(chars[i])&&map.containsKey(chars[i])){

                                map.put(chars[i],(int)map.get(chars[i])+1);

                        }

                }

                BufferedWriterbw=newBufferedWriter(newFileWriter("a.txt"));

                for(Objectkey:

map.keySet()){

                        bw.append(key+"出现了"+map.get(key)+"次");

                        bw.newLine();

                        bw.flush();

                }

                bw.close();

                System.out.println("信息已写入a.txt");

        }

}

二、1

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

publicclassTest03{

        publicstaticvoidmain(String[]args){

                System.out.println("请输入5个人的相关信息:

姓名,年龄,性别");

                ArrayListlist=newArrayList<>();

                for(inti=0;i<3;i++){

                        Scannersc=newScanner(System.in);

                        Stringname=sc.next();

                        intage=sc.nextInt();

                        Stringsex=sc.next();

                        Personp=newPerson(name,age,sex);

                        list.add(p);

                        System.out.println("添加成功!

");

                }

                for(inti=list.size()-1;i>=0;i--){

                        if(list.get(i).getAge()>60){

                                System.out.println(list.get(i)+"已删除");

                                list.remove(i);

                        }

                }

                for(inti=0;i

                                System.out.println(list.get(i)+"---");

                }

        }

}

二、2

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

publicclassTest04{

        publicstaticvoidmain(String[]args)throwsIOException{

                Mapmap=newHashMap<>();

                System.out.println("请输入编号及内容");

                for(inti=0;i<3;i++){

                        Scannersc=newScanner(System.in);

                        Stringstr=sc.next();

                        String[]strs=str.split("=");

                        map.put(strs[0],strs[1]);

                        System.out.println("添加成功");

                }

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案

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

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