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

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • 1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1

    2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1

    3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符


    查看全部
  • 在list的方法中,add会抛出方法越界异常。

    查看全部
  • String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同.

    查看全部
  • 捕获到的异常,可以在当前方法的catch语句中处理,也可以在调用者
    查看全部
    0 采集 收起 来源:练习题

    2018-08-04

  • 对象存入集合都会变成Object类型,取出时需要类型转换。

    查看全部
  • Exception 的父类是 Throwable

    使用 try-catch-finally 语句捕获并处理异常

    可以使用 throw 语句抛出异常

    捕获到的异常,可以在当前方法的 catch 块中处理,也可抛出给调用者去处理


    查看全部
    0 采集 收起 来源:练习题

    2018-08-04

  • Map中通过containsKey()方法和containsValue()方法来判断键和值是否存在 Map 中对对象进行了 Key 标记,通过 get(Key)可以取得对应的对象 Map 的containsValue()方法的参数是 Object 对象,因为Map 的 Value 值是对象元素 Map 的containsKey()方法取得 Map 映射的 Key 值 List中的contains()方法借Map中的containsValue()方法调用equals()方法来进行比较。所以要重写Hashcode和equals方法 跟 List 的 contains()方法一样,Map 中的 containsValue()方法也会调用每个 Value 值的 equals()方法去和参数对象比较 id 是string类型 contains方法使用equals方法 来比较,所以值相等就返回ture 

    Value 是Student类型,自己定义的,默认的contains方法中的equals方法,比较的是两个引用是否一样,所以要重写equals方法 由于是比较两student类型是否相同,所以要做Student类中重写equals方法


    查看全部
  • Math类操作数据 1、Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是【静态方法】,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round()。 2、常用方法: · Math.abs():取绝对值 · Math.random():随机返回[0,1)之间的一个double值,可*100 再 四舍五入 得到[0,100)的随机整数 · Math.pow(a,b):返回a的b次幂的值 · Math.rand():对浮点数进行四舍五入 · Math.ceil():返回大于参数的最小整数(double类型) · Math.floor():返回小于参数的最大整数(double类型) · Math.max(a,b):返回a,b中最大的数 · Math.min(a,b):返回a,b最小值


    foreach语句

    for(参数类型 x:xx)

    {

    引用了x的语句;

    }


    查看全部
  • package exceptionHandle;


    import java.util.*;


    public class BorrowBooksSystem {


    Book Hong=new Book("红楼梦",1);

    Book San=new Book("三国演义",2);

    Book Xi=new Book("西游记",3);

    Book Shui=new Book("水浒传",4);

    Book[] books={Hong,San,Xi,Shui};


    public void open(){

    while(true){

    try{

    Scanner keyboard=new Scanner(System.in);

    System.out.println("输入命令:1-按照名称查找图书  2-按照序号查找图书");

    int key=keyboard.nextInt();


    if(key==1){

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

    String str=keyboard.next();

    findBookStr(str);

    }else if(key==2){

    System.out.println("输入图书编号:");

    int num=keyboard.nextInt();

    findBookInt(num);

    }else{

    throw new ErrorInputException("命令输入错误!请根据提示输入数字命令!");

    }


    }catch(ErrorInputException ei){

    ei.printStackTrace();

    }catch(InputMismatchException im){

    System.out.println("命令输入错误!请根据提示输入数字命令!");

    }

    }

    }




    public void findBookStr(String str){

    try{

    for(int i=0;i<books.length ;i++){

    if (books[i].getName().equals(str)){

    System.out.println("book:"+books[i].getName());

    System.exit(0);

    }

    }

    throw new BookNotFindException("图书不存在!");

    }catch(BookNotFindException e){

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

    }


    }

    public void findBookInt(int num){

    try{

    for(int i=0;i<books.length ;i++){

    if (books[i].getNumber()==num){

    System.out.println("book:"+books[i].getName());

    System.exit(0);

    }

    }

    throw new BookNotFindException("图书不存在!");

    }catch(BookNotFindException e){

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

    }


    }


    public static void main(String[] args){

    BorrowBooksSystem bs=new BorrowBooksSystem();

    bs.open();

    }

    }


    class BookNotFindException extends Exception{


    public BookNotFindException(String string) {

    super(string);// TODO Auto-generated constructor stub

    }


    }


    class ErrorInputException extends Exception{


    public ErrorInputException(String string) {

    super(string);

    // TODO Auto-generated constructor stub

    }


    }


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

    2018-08-04

  • 推荐使用 Calendar 类进行时间和日期的处理。

    java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

    Date date = new Date(); //得到当前时间,但存在错误可能。因此不推荐使用。

    Calendar c = Calendar.getIntance();

    Date date = c.getTime();

    //通过Calendar抽象类的getIntance方法,再转换成Date


    查看全部
  • http://www.cnblogs.com/lulipro/p/7504267.html

    这一季有点蒙圈。

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

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

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

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


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


    查看全部
  • 只有Error,Exception,RuntimeException提供了带cause参数的构造器,其他的所有异常类只能通过initCause()来设置cause。
    所有Throwable的子类构造器中都可以接受一个cause对象作为参数。cause是异常原由,代表着原始异常。既可以在当前位置创建并抛出行的异常,也可以通过cause追踪到异常最初发生的位置。
    异常链是一种面向对象编程技术,指将捕获的异常包装进一个新的异常中并重新抛出的异常处理方式。原异常被保存为新异常的一个属性(比如cause)。这个想法是指一个方法应该抛出定义在相同的抽象层次上的异常,但不会丢弃更低层次的信息。
    把捕获的异常包装成新的异常,在新异常里添加原始的异常,并将新异常抛出,它们就像是链式反应一样,一个导致(cause)另一个
    这个想法是指一个方法应该抛出定义在相同的抽象层次上的异常,(将所有捕获到的异常包装为新的异常类,即定义在相同的抽象层次上抛出)但不会丢弃更低层次的信息。
    实现异常链功能的两种基本写法:
    public class chainTest {

    /**
    * @param args
    * Test1抛出喝大了异常
    * Test2调用test1捕获了喝大了异常,并且包装成运行时异常,继续抛出
    * main方法中调用test2尝试捕获test2方法抛出的异常
    */
    public static void main(String[] args) {
    try{ // TODO Auto-generated method stub
    chainTest ct=new chainTest();
    ct.Test2();}
    catch(Exception e){
    e.printStackTrace();
    }
    }public void Test1()throws DrunkException{
    throw new DrunkException("喝车别开酒");

    }
    public void Test2(){
    try{
    Test1();
    }catch( DrunkException e){
    RuntimeException rte=new RuntimeException(e);
    //rte.initCause(e);
    e.printStackTrace();
    throw rte;
    }
    }
    }

    查看全部
  • SimpleDateFormat 可以对日期时间进行格式化,(由于Date默认输出的时间格式不友好因此需要转换)如可以将日期转换为指定格式的文本,也可将文本转换为日期。 1. 使用format()方法将日期转换为指定格式的文本 Date d = new Date(); SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定转换的目标格式,"yyyy-MM-dd HH:mm:ss"为预定义字符串。 String today = s.format(d);//结果如:2014-06-11  09:55:48 2. 使用parse()方法将文本转换为日期 String day = "2014年02月14日 10:30:20"; SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//“yyyy年MM月dd日 HH:mm:ss” 指定了字符串的日期格式,调用 parse() 方法将文本转换为日期。 Date date = s.parse(day);//结果如:Fri Feb 14 10:30:20 CST 2014 注意: 1、调用SimpleDateFormat对象的parse()方法时可能会出现转换异常,即ParseException,因此需要进行异常处理。 2、指定日期格式中的月MM和小时HH必须大写,小写结果会不同的。 3、使用Date 类时需要导入java.util包,使用SimpleDateFormat时需要导入java.text包。

    查看全部
  • indexOf() && lastIndexOf()方法的区别 对于有重复内容的链表 indexOf()方法返回找到的【靠近首部】的索引位置; lastIndexOf()方法返回找到的【靠近尾部】的索引位置(从队尾向队头遍历)

    查看全部
  • 1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1

    2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1

    3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符


    查看全部

举报

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

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