黑马程序员JavaEE基础班知识点整理_第1页
黑马程序员JavaEE基础班知识点整理_第2页
黑马程序员JavaEE基础班知识点整理_第3页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、黑马程序员JavaEE基础班知识点整理天地玄黄,宇宙洪荒。如果你也和我一样看过不少网络小说,那你的想象力肯定很丰富,这点作为程序员是 很重要的。如果你和我一样喜欢黑客帝国银河系漫游指南钢铁侠三体西部世 界。那有可能科幻就是你坚持钻研技术的动力来源。虽然我们暂时不能像黑客帝国里一样进入虚拟世界,不能像邓肯一样到宇宙尽头餐馆 吃饭,没有贾维斯的智能管家系统,也不能把机器人做的无法分辨真伪,但是如果没有人 们对未来的想象我们的技术就没有了追求。这些追求促使我们不断的学习,让技术不断的前进,我相信这些电影电视小说里的情 节一定会实现。抱有这样的期待和好奇很多同学来到黑马学习技术,首先接触的就是黑马的基

2、础班。 视频课程,讲义是必须的,但是我们还要有知识的梳理。今天我们就整理了基础班的一下 问答和笔试题供大家交流学习。希望大家梳理一下自己的基础知识,基础知识是我们技术 飞船的主架,主架坚固才能让我们在宇宙里航行的更远 理论知识点、基础概念1、面向对象的理解并举例2、面向对象的三大特性,并分别阐述对每个特性的理解3、阐述成员变量和局部变量的区别4、构造方法的概念和作用,和一般方法的区别5、静态代码块、构造代码块、构造方法的特点及执行顺序6、描述类和对象的关系7、 创建对象的步骤等二、10流理论知识点:1、io流的基本流都有哪些,简单说说基本流的体系2、字节流和字符流的使用场景3、拷贝文本文件一般

3、会用到哪个流?为什么?4、在io流中拷贝文件一般会用哪几个流?的什么方5、在io流的拷贝过程中,通过 while循环读取字节进行拷贝,需要通过哪个流 法读取字节6、File类的常用方法都有哪些?7、遍历指定目录下的文件的所有名称,一般用什么方法?8、在io流中一般常用的字符编码集都有哪些?简单阐述几种9、在字符流中,带缓冲区的包装流都有哪一些?具体阐述 一下。10、为什么read ()方法返回值是int类型?11、标准输入流和输出流是什么?三、集合理论知识点1、集合的由来2、数组和集合的使用场景3、数组和集合的区别4、集合的遍历5、在迭代集合中兀素时 可不可以通过集合对象的万法操作集合中的兀素

4、?6、List的三个子类的特点7、栈和队列数据结构8、List有三个儿子,在不冋的场景分别应该使用谁呢?9、HashSet保证兀素唯一的原理10、TreeSet两种排序方式11、list集合和set集合有什么区别?12、双列集合获取键和值的两种方式13、HashMap 和 Hashtable 的区别14、Collection 和 Collections的区别?四、反射理论知识点1、反射概述2、获取类的字节码文件三种方式1、2、3、4、5、6、7、8、9、1011121314151617181920五、线程理论知识点线程的生命周期。多线程的使用场景是什么?简述通过Runnable实现多线程的步骤

5、。线程和进程的区别是什么?一个线程从等待状态被唤醒后是直接进入运行状态么?实现多线程有几种方式?对常用的实现多线程的方法做一个对比。如何使用匿名内部类实现多线程?如何获取当前线程的名字?如何实现线程的等待和休眠?Sleep和Wait方法的可以传参数么?Sleep方法和 Wait方法的参数代表什么意义?如何唤醒等待中的线程?同步代码块和同步方法的使用场景是什么?同步方法的锁对象是什么?对懒汉式和饿汉式做一个对比。什么是工厂设计模式?死锁产生的原因是什么?简述线程池的应用场景。Timmer类的使用场景。21、说一下你所学过的和线程安全有关并且是线程安全的类有哪些编程知识点一、10流编程知识点:1、

6、车库里有各种牌子的车,请根据这个生活中的案例用代码实现出来。有一个garage类(车库类),里面有很多车,车库类有车名(name),车牌号(number),颜色(colour),价格(price)等属性。提示用户输入自己喜欢的三种车的车名,车牌号,颜色, 价格。然后根据输入的车的价格的降序进行排序,将输出的结果存到根目录下的a.txt中。比如: 路虎-京B8888-黑色-12000002、 提示用户输入一串字符串,统计出字符串中每个字符出现的次数,将结果写入到a.txt中。二、集合编程知识点:1、按照以下需要实现相关功能,需求如下:1)分别键盘录入5个人的相关信息(姓名、年龄、性别)2)定义一

7、个方法将键盘录入的相关信息封装成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

8、类的方式创建两个线程,在Thread类的构造方法中指定线程的名字,开启线程并输出10次每次执行的是哪条线程。2、 用多线程知识完成模拟抢红包的过程,5个人共抢10个红包,红包的金额 0 6元不 等(包含0和6),每个人相当于1个线程。在控制台打印出每个人抢到红包的总金额。四、JDBC知识点:利用SQLyog创建itheimadb 数据库和stu表,表中字段有:name(varchar 类型),age (int 类型),java ( double 类型),c( double 类型),oc(double 类型),Ch in ese ( double 类 型),并将以下数据添加到 stu表中(以上操

9、作均可以使用 SQLyog完成);利用JDBC连接 itheimadb 数据库使用sql语句按要求完成以下功能idn ameagejavacocchin ese1zs1210098100202Is245051921003andi34201015604aliy213010015655wn1180218712a. 输出年龄在20岁以上的学员所有学科的总分b. 将andi的java成绩改为100 , C语言成绩改为60c. 在控制台上打印出Java学科和c学科都是60分以下的学员姓名参考答案:一 1 :车库类AppleScript 纯文本查看复制代码?01 public classGarage 02

10、privateString n ame;03privateString nu mber;04privateString colour;05privateint price;07080910111213141516171819202122232425262728public Garage(String name, String number, String colour, int price) super(); = name;this.number = number;this.colour = colour;this.price = price;public String ge

11、tName() return name;public void setName(String name) = name;public String getNumber() return number;public void setNumber(String number) this.number = number;public String getColour() return colour;29Override30public Stri ng toStri ng() 31return "Garage n ame=" + n ame + ",

12、nu mber=" + nu mber + ", colour="32+ colour + ", price=" + price + ""3334public void setColour(Stri ng colour) 35this.colour = colour;3637public int getPrice() 38return price;3940public void setPrice(int price) 41this.price = price;4243 示例代码:AppleScript 纯文本查看复制代码?0

13、1 public class TestOI 02public static void main(String args) throws IOException 03ArrayList<Garage> list = new ArrayList<>();请输入自己喜欢的三种车的车名,车牌号,颜色,价格04(”);05060708091011121314151617181920212223242526Scanner sc = new Scanner(System.in);for (int i = 0; i < 3; i+) String name = sc.next()

14、;String number = sc.next();String colour = sc.next();int price = sc.nextInt();/ Garage cars = new Garage(name,number,colour,price);list.add(cars);添加成功! ");for (int j = 0; j < list.size() - 1; j+) / 降序排列for (int i = 0; i < list.size() - 1 - j; i+) Garage car1 = list.get(i);Garage car2 = li

15、st.get(i + 1);if (car1.getPrice() < car2.getPrice() list.set(i + 1, car1);list.set(i, car2);BufferedWriter bf = new BufferedWriter(new FileWriter("a.txt");27for (int i = 0; i < list.size(); i+) 28bf.appe nd(list.get(i).toStri ng();29bf.n ewL in e();30bf.flush();31/ System.out.pri ntl

16、n( list.get(i).toStri ng();3233bf.close();34System.out.println(”信息已写入 a.txt");3536 一、2:AppleScript 纯文本查看复制代码?01 public class Test02 02 public static void main( Stri ng args) throws lOExcepti on (”请输入一个字符串");04Scanner sc = new Sca nn er(System.i n);05String str = sc.n ext();07Set set = new

17、HashSet();08char chars = str.toCharArray();091011121314151617181920212223242526272829for (int i = 0; i < chars.length; i+) set.add(charsi);/ 去重 ,Map map = new HashMap();for (int i = 0; i < chars.length; i+) if (set.contains(charsi) && !map.containsKey(charsi) map.put(charsi, 1); else i

18、f (set.contains(charsi) && map.containsKey(charsi) map.put(charsi, (int) map.get(charsi) + 1);BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt");for (Object key : map.keySet() bw.append(key + "出现了 " + map.get(key) + "次 ");bw.newLine();bw.flush();bw.c

19、lose();AppleScript纯文本查看复制代码public class Test03 public static void main( Stri ng args) (” 请输入5个人的相关信息:姓名,年龄,性别”);ArrayList<Pers on> list = new ArrayList<>();for (int i = 0; i < 3; i+) Scanner sc = new Sca nn er(System.i n);String n ame = sc.n ext();int age = sc.n ext In t();String sex

20、= sc.n ext();Pers on p = new Person(n ame, age, sex);list.add(p);(”添加成功!");for (i nt i = list.size()-1; i >=0; i-) if (list.get(i).getAge() > 60) 01020304050607080910111213141516171819list.remove(i);2021for (int i = 0; i < list.size(); i+) 222324 二、2AppleScript纯文本查看复制代码01 public class

21、Test04 0203public static void main(String args) throws IOException Map<Stri ng,Stri ng> map = new HashMap<>();04System.out.pri ntln(”请输入编号及内容");05for(int i=0;i<3;i+)0607String str = sc.n ext();08Stri ng strs = str.split("=");09map .put(strs0,strs1);12BufferedWriter bw =

22、 new BufferedWriter( new FileWriter("a.txt");Scanner sc = new Sca nn er(System.i n);14Strin gBuffer sb=new StringBuffer(map.get(key);15String value= sb.reverse().toString();16bw.appe nd(key+ "=" + value);17bw. newL in e();18bw.flush();1920System.out.pri ntl n("信息已写入a.txt&quo

23、t;);21bw.close();2223 三、1AppleScript纯文本查看复制代码?01 public class Test05 02 public static void main( Stri ng args) 03MyThread m1 = new MyThread();04Thread t1=new Thread(m1, "003");05Thread t2=new Thread(m1, "004");06t1.start();09 1011class MyThread exte nds Thread 12private int i = 1

24、0;1314public void run() 15while (i > 0) 16synchroni zed (this) 1718i-;19202122三、2AppleScript纯文本查看复制代码?01 public class Test06 04People p = new People();05060708091011121314151617181920212223242526Thread t1 = new Thread(p);Thread t2 = new Thread(p);Thread t3 = new Thread(p);Thread t4 = new Thread(p

25、);Thread t5 = new Thread(p); t1.setName("t1"); t2.setName("t2"); t3.setName("t3");t4.setName("t4");t5.setName("t5");t1.start();t2.start();t3.start();t4.start();t5.start();while (!p.flag);for (Entry<String, Integer> entry : + "抢了 " + e

26、ntry.getValue() + " 元 ");27282930313233343536373839404142434445464748class People extends Thread Map<String, Integer> map = new HashMap();boolean flag = false;private int num = 10;public void run() while (true) synchronized (this) if (num > 0) try Thread.sleep(100); catch (Interru

27、ptedException e) e.printStackTrace();Random r = new Random();int money = r.nextInt(7);String name = Thread.currentThread().getName();if (!map.containsKey(name) map.put(name, money); else if (map.containsKey(name) map.put (n ame, map.get (n ame) + mon ey);nu m-;+ " " + n ame + " "

28、 + mon ey); else flag = true;break;495051525354555657585960四、sql命令itheieajava代码:AppleScript纯文本查看复制代码?01 public class Test07 02 public static void main( Stri ng args) throws ClassNotF oun dExcepti on,03SQLException 05Stri ng url = "jdbc:mysql:/localhost:3306/itheima"06Stri ng user name = &q

29、uot;root"07Stri ng password = "123"141516171819202122232425262728290809/ 插入一条数据Connection con = DriverManager.getConnection(url, username, password);1011/ int row =12/stat.executeUpdate("INSERTINTOstu(sname,age,java,c,oc,chineStatement stat = con.createStatement();13 VALUES('meng','26','80','8','100','20')");/ / a 筛选结果 - 输出年龄在 20 岁以上的学员所有学科的总分 ResultSet rst = stat.executeQuery("SELECT*FROM stu WHERE age >20");while (rst.next() int sum = 0;String name = rst.getString(&q

温馨提示

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

评论

0/150

提交评论