为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

难度入门
时长 5小时 0分
学习人数
综合评分9.50
1125人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.4 逻辑清晰
  • Throwrable

    Error异常

    1.虚拟机错误 VirtualMachineError

    2.线程死锁 ThreadDeath

    Exception异常   编码、环境、用户操作输入出现问题

    1,非检查异常(RuntimeException)也叫运行时异常,会被虚拟机自动不捕获并抛出

    (1)空指针异常(NullPointerException)

    (2)数组下标越界异常(ArrayIndexOutOfBoundsException)

    (3)类型装换异常(ClassCastException)

    (4)算术异常(ArithmeticException)

    2,检查异常 需要手动添加捕获处理语句

    (1)文件异常IOException

    (2)SQL异常SQLException

     检测异常需要手动添加捕获异常的处理语句

    5d6777460001bb6412800720-156-88.jpg06:50

     


    查看全部
    0 采集 收起 来源:Java异常简介

    2019-08-29

  • finally中主要是做善后工作,比如关闭连接或打开的文件

    查看全部
  •  检测异常需要手动添加捕获异常的处理语句

    查看全部
    0 采集 收起 来源:Java异常简介

    2019-08-29

  • 非检查异常

    查看全部
    0 采集 收起 来源:Java异常简介

    2019-08-29

  • 数组插入和循环遍历的方法

    查看全部
  • 1.在Java中字符串被作为String类型的对象处理。

    查看全部
  • 集合主要学习list,set,map

    查看全部
  • Java集合框架体系结构

    https://img1.sycdn.imooc.com//5d64fcfa0001cdc222041226.jpg

    查看全部
  • Java集合框架体系结构

    根接口

    1、Collection接口

    Collection的子接口

    (1)List序列    存储的元素排列有序、可重复、比较常用

    实现类

    ArrayList   数组序列  

    LinkedList  链表

    (2)Queue队列  存储的元素排列有序、可重复

    实现类

    LinkedList实现类   链表

    (3)Set集   存储的元素无序、不可重复、比较常用

    实现类

    HashSet  哈希集

    2、Map接口

    实现类

    HashMap   哈希表  比较常用

    在Map类内部会以一个key一个value两个对象为一个映射存储数据,而这样一个映射是Entry类的实例,Entry(键值对)类是Map的内部类,key和value可以为任意类型的对象


    查看全部
  • 一、Map,代码如下:

    package com.imooc.collection;
    
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.Set;
    import java.util.Map.Entry;
    
    public class MapTest {
      public Map<String, Student> students;
    
      public MapTest() {
        this.students = new HashMap();
      }
    
      public void mapAdd() {
        Scanner console = new Scanner(System.in);
    
        int i = 0;
        while (i < 3) {
          System.out.println("请输入学生ID:");
          String ID = console.next();
          Student stu = students.get(ID);
          if (stu == null) {
            System.out.println("input student's name:");
            String name = console.next();
            Student newStudent = new Student(ID, name);
            students.put(ID, newStudent);
            System.out.println("成功添加:" + students.get(ID).name);
            i++;
          } else {
            System.out.println("已经存在ID再输:");
            continue;
          }
        }
        testKeySet();
      }
    
      public void testKeySet() {
        Set<String> keySet = students.keySet();
        for (String stuId : keySet) {
          Student stu = students.get(stuId);
          if (stu != null) {
            System.out.print(stu.name);
          }
    
        }
      }
    
      /**
       * 测试删除Map中的映射
       * @param args
       */
      public void testRemove() {
        // 获取从键盘输入的待删除学生id字符串
        Scanner console = new Scanner(System.in);
        while (true) {
          // 提示输入待删除的学生的id
          System.out.println("请输入要删除的学生id");
          String ID = console.next();
          // 判断该ID是否有对应的学生对象
          Student st = students.get(ID);
          if (st == null) {
            // 提示输入的ID并不存在
            System.out.println("该id不存在");
            continue;
          }
          students.remove(ID);
          System.out.println("成功删除学生:" + st.name);
          break;
        }
      }
    
      /**
       * 通过entrySet方法来遍历Map
       * @param args
       */
      public void testEntrySet() {
        // 通过entrySet方法,返回Map中的所有键值对
        Set<Entry<String, Student>> entrySet = students.entrySet();
        for(Entry<String, Student> entry: entrySet) {
          System.out.println("取得键:" + entry.getKey());
          System.out.println("对应的值为:" + entry.getValue().name);
        }
      }
    
      /**
       * 利用put方法修改Map中已有映射
       * @param args
       */
      public void testModify() {
        // 提示输入要修改的学生id
        System.out.println("请输入要修改的学生id:");
        // 创建一个Scanner对象,去获取从键盘上输入的学生id字符串
        Scanner console = new Scanner(System.in);
        while (true) {
          // 取得从键盘输入的学生id
          String stuID = console.next();
          // 从students中查找该学生ID对应的学生对象
          Student student = students.get(stuID);
          if (student == null) {
            System.out.println("该id不存在,请重新输入");
            continue;
          }
          // 提示当前对应的学生对象的姓名
          System.out.println("当前该学生ID,所对应的学生为:" + student.name);
          // 提示输入新的徐盛姓名,来修改已有的映射
          System.out.println("请输入新的学生姓名");
          String name = console.next();
          Student newStudent = new Student(stuID, name);
          students.put(stuID, newStudent);
          System.out.println("修改成功");
          break;
        }
      }
    
      public static void main(String[] args) {
        MapTest mt = new MapTest();
        mt.mapAdd();
        mt.testKeySet();
    //    mt.testRemove();
    //    mt.testEntrySet();
        mt.testModify();
        mt.testEntrySet();
      }
    }


    查看全部
  • 不能直接实例化Set,因为Set是一个接口,需要通过HashSet进行实例化


    导包快捷:Eclipse中Ctrl+Shift+O

    public class Student{    public String id;    public String name;    public Set courses;    public Student(String id,String name){        this.id=id;        this.name=name;        this.courses=new HashSet();    }}


    查看全部
  • Java集合框架包括Collection与Map两个

    其中Collection包括List(序列)、queue(队列)、与set(集)

    list与queue存储的元素是排列有序的,并且是可以重复的,Set中的元素是无序的不可重复

    https://img1.sycdn.imooc.com//5d64d7b800017d1610290507.jpg

    查看全部
  • StringBuilder类的常用方法

    https://img1.sycdn.imooc.com//5d64d24500011c6005970125.jpg

    查看全部
  • String类:具有不可变性。频繁操作字符串时会额外产生很多临时变量。StringBuilder和StringBuffer可避免这个问题。StringBuffer时线程安全的。StringBuilder没有实现线程安全的功能,所以性能略高。


    查看全部
  • finally语句块

    查看全部

举报

0/150
提交
取消
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!