为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第三季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • 源代码->生成hashcode()和equals()方法可以自动生成。

    查看全部
  • List集合查询某元素的索引位置,使用集合.indexof(对象)方法。此方法查询的是该集合中第一次出现此对象的位置。.lastindexof(对象)查询的是该集合最后一次出现此对象的位置索引。于contains()方法类似,在查询时都是在调用集合中每个对象的equals()方法来比较二者是否相同。若此集合没有与参数相等的对象,则返回-1。

    查看全部
  • 这里几节的程序要重新实现一下


    查看全部
  • String类常用方法

    53d9f7d200010bb007780366.jpg

    53a8e7320001a8d807090391.jpg

    查看全部
  • 每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法(前面条件运算符章节讲过哦~~)

    查看全部
  • 字符串的不变性

    53a8dcce0001cc7406130396.jpg


    查看全部
  • Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法 Map支持泛型,形式如:Map<K,V> HashMap类 HashMap是Map中的一个重要的实现类,也是最常用的,给予哈希表实现 HashMap中的Entry对象是无序排列的 Key值和Value值都可以为Null,但是一个HashMap只能有一个key值为Null的映射(key值不可重复) student.get(ID)是采用Map的get()方法,检测是否存在值为ID的学生,如果没有,则返回null. keySet()方法,返回所有键的Set集合。 取得Map的容量可用size()方法。 keyset()返回Map中所有的key以集合的形式可用Set集合接收,HashMap当中的映射是无序的。 students.get(ID)是采用Map的get()方法

    查看全部
  • finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源的情况下。

    首先看一下没有用finally的代码(不能直接运行)

    Connection conn;
    Statement stmt;
    try{
      conn = DriverManager.getConnection(url,userName,password);
      stmt = conn.createStatement; 
      String sql = "sql";//需要执行的sql
      stmt.executeUpdate(sql);
      stmt.close();
      conn.close();
    }catch(Exception e){
      e.printStackTrace();
    }

    在程序正常运行的时候,没有异常抛出,没有问题。

    但在程序抛出异常(sql出错了),try里面的语句不执行了直接被执行catch里面的语句了,就造成了一个数据库连接没有正常关闭。数据量如果大起来,数据库的最大连接数到达上限,就不再允许创建新的连接了。

    然后finally的用处现在就能体现出来了

    Connection conn = null;
    Statement stmt = null;
    try {
          conn = DriverManager.getConnection(url,userName,password);
          stmt = conn.createStatement;                                                            
      String sql = "sql";//需要执行的sql
          stmt.executeUpdate(sql);
          stmt.close();
          conn.close();
          } catch (SQLException e) {
            e.printStackTrace();
          }finally{
      if(stmt! = NULL){
                stmt.close();
          }
          if(conn! = NULL){
                conn.close();
          }
      }

    这样即使sql运行出错,抛出了异常,在最后的finally代码中再进行一次数据库连接的判断,就可以保证数据库连接资源不会被平白无故的浪费掉。

    查看全部
    0 采集 收起 来源:经验总结

    2018-07-27

  • throw是语句抛出一个异常,一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常

    throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)

    public void function() throws Exception{......}

    当某个方法可能会抛出某种异常时用于throws 声明可能抛出的异常,然后交给上层调用它的方法程序处理


    throw与throws的比较
    1、throws出现在方法函数头;而throw出现在函数体。
    2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常对象。
    3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。


    查看全部
  • 创建空字符串:String s1=new String();

    查看全部
  • 异常链:把捕获的异常包装成一个新的异常,在新的异常中添加对原始异常的引用,再把新异常抛出。


    查看全部
  • package exception;


    import java.util.InputMismatchException;

    import java.util.Scanner;


    public class bookexception {


    public static void main(String[] args) {

    // TODO Auto-generated method stub

    String []books= {"西游记","红楼梦"} ;

    while(true)

    {

    System.out.println("1-输入序号找书 2-输入书名找书");

    Scanner in=new Scanner(System.in);

    bookexception booksystem=new bookexception();

    try {

    int i=in.nextInt();

    if(i==1)

    {

    System.out.println("请输入图书标号");

    Scanner in1=new Scanner(System.in);

    int i1=in1.nextInt();

    System.out.println(books[i1]);

    }

    if(i==2) {

    System.out.println("请输入图书名称");

    Scanner in2=new Scanner(System.in);

    String i2=in2.nextLine();

    for(String book:books) {

    if(book.equals(i2)) {

    System.out.println("book:"+i2);

    }

    else {throw new Exception("图书不存在");}

    }

    }

    }

    catch(InputMismatchException e){

    System.out.println("命令输入错误,请输入数字");

    }

    catch(ArrayIndexOutOfBoundsException e) {

    System.out.println("图书不存在");

    }

    catch(Exception e) {

    System.out.println("图书不存在o");

    }

    }

    }

    }


    查看全部
    0 采集 收起 来源:经验总结

    2018-07-27

  • ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

    equals(): 比较存储在两个字符串对象中的内容是否一致

    PS:字节是计算机存储信息的基本单位,1 个字节等于 8 位, gbk 编码中 1 个汉字字符存储需要 2 个字节,1 个英文字符存储需要 1 个字节。所以我们看到上面的程序运行结果中,每个汉字对应两个字节值,如“学”对应 “-47 -89” ,而英文字母 “J” 对应 “74” 。同时,我们还发现汉字对应的字节值为负数,原因在于每个字节是 8 位,最大值不能超过 127,而汉字转换为字节后超过 127,如果超过就会溢出,以负数的形式显示。(关于编码,我们在后面课程中会详细介绍,小小期待哦~~


    查看全部
  • 查看全部
  • public void divide(int one,int two) throws Exception{

        if(){

                throw new Exception(" ");

        }

        else

                //语句   

    }

    查看全部

举报

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

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