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

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • 当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
    查看全部
  • public class HelloWorld { public static void main(String[] args) { String s1 = "imooc"; String s2 = "imooc"; //定义字符串s3,保存“I love”和s1拼接后的内容 String s3 = "I love"+s1; // 比较字符串s1和s2 // imooc为常量字符串,多次出现时会被编译器优化,只创建一个对象 System.out.println("s1和s2内存地址相同吗?" + (s1 == s2)); //比较字符串s1和s3 System.out.println("s1和s3内存地址相同吗?" + s1==s3 ); String s4 = "I love " + s1; //比较字符串s4和s3 // s1是变量,s4在运行时才知道具体值,所以s3和s4是不同的对象 System.out.println("s3和s4内存地址相同吗?" + (s4 == s3)); } }
    查看全部
  • 2、 一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder(后面章节中会讲到)。 3、 每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法(前面条件运算符章节讲过哦~~)
    查看全部
  • public class Test { private static Scanner console = new Scanner(System.in); public static void main(String[] args) { //定义”图书“数组 String[] books = { "C语言", "数据结构", "汇编语言", "高数", "大学语文", "毛概" }; while (true) { System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书"); String book; try { //取得整型命令 int command = inputCommand(); //根据不同命令值,进行不同操作 switch (command) { case 1://按照图书名称选择图书 book = getBookByName(books); System.out.println("book:" + book); break; case 2://按照图书序号(数组下标)选择图书 book = getBookByNumber(books); System.out.println("book:" + book); break; case -1://返回值为-1,说明输入有误 System.out.println("命令输入错误!请根据提示输入数字命令!"); continue; default://其他值的命令均认为是错误命令 System.out.println("命令输入错误!"); continue; } break;//退出程序 } catch (Exception bne) { //捕获”图书不存在异常“时,要求重新输入命令 System.out.println(bne.getMessage()); continue; } } }
    查看全部
    0 采集 收起 来源:经验总结

    2018-03-22

  • //从控制台输入命令,用于输入命令和输入图书序号 private static int inputCommand(){ int command; try { command = console.nextInt(); return command; } catch (Exception e) { //若输入字符型或者字符串,则抛出异常,捕获该异常,抛出”错误命令异常“ console = new Scanner(System.in); //返回-1 return -1; } }
    查看全部
    0 采集 收起 来源:经验总结

    2015-03-09

  • //按照图书名称查询图书 private static String getBookByName(String[] books) throws Exception { System.out.println("输入图书名称:"); //获取输入的图书名称 String name = console.next(); for (int i = 0; i < books.length; i++) { if (name.equals(books[i])) //输入的名称与某一图书名称匹配,返回该图书 return books[i]; } //若无匹配,抛出”图书不存在异常“ throw new Exception("图书不存在!"); } //根据图书序号(数组下标)查询图书 private static String getBookByNumber(String[] books) throws Exception { while (true) { System.out.println("输入图书序号:"); try { //获取输入的图书序号(数组下标) int index = inputCommand(); //若返回值为-1 if(index == -1){ System.out.println("命令输入错误!请根据提示输入数字命令!"); continue; } //若不出现”数组下标越界异常“,则返回相应位置的图书 String book = books[index]; return book; } catch (ArrayIndexOutOfBoundsException e) { //输入的序号不存在(引发”数组下标越界异常“),则抛出”图书不存在异常“ Exception bookNotExists = new Exception("图书不存在!"); bookNotExists.initCause(e); throw bookNotExists; } } }
    查看全部
    0 采集 收起 来源:经验总结

    2018-03-22

  • int length() 返回字符串长度 int indexOf(int ch) 查找ch字符在字符串中第一次出现的位置 int indexOf(String str) 查找str子字符串在该字符串中第一次出现的位置 int lastIndexOf(int ch) 查找最后一次出现的位置 int lastIndexOf(String str) 查找子字符串最后一次出现的位置 String substring(int beginIndex) 获取从beginIndex位置开始到结束的子字符串 String substring(int beginIndex,int endIndex) 从begin 到 end的子字符串 String trim() 返回除去了前后空格的字符串 boolean equals(Object obj) 与指定对象比较,返回true或false String toLowerCase() 将字符串转换成小写 String toUpperCase() 将字符串转换成大写 char charAt(int index) 获取字符串中指定位置的字符 String[] split(String regex,int limint)将字符串分割为子字符串,返回字符串数组 byte getBytes() 将该字符串转换成byte数组 1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1 2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1 3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
    查看全部
  • ArrayList
    查看全部
  • Java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象。 集合的作用: 1.在类的内部,对数据进行组织 2.简单而快速的搜索大数量的条目 集合的优点: 3.有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素 4.有的集合接口,提供了映射关系,可以通过关键字去快速查找到对应的唯一对象,而这个关键字可以使任意类型。 集合的优势(相比数组): 1:数组的长度固定,集合长度可变 2.数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象
    查看全部
  • 1、 通过 String s1="爱慕课"; 声明了一个字符串对象, s1 存放了到字符串对象的引用,在内存中的存放引用关系如下图所示: 然后通过 s1="欢迎来到:"+s1; 改变了字符串 s1 ,其实质是创建了新的字符串对象,变量 s1 指向了新创建的字符串对象,如下图所示: 2、 一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder(后面章节中会讲到)。 3、 每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法(前面条件运算符章节讲过哦~~)
    查看全部
  • Java中的异常链 0、在方法内抛出(throw)一个新的异常时,方法名后面也throws一个异常说明你将要抛出一个异常。 1、概念: 把捕获的异常包装成新的异常,在新异常里添加原始的异常,并将新异常抛出,它们就像是链式反应一样,一个导致(cause)另一个。在java中,这种情况叫异常链。 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; } } }
    查看全部
  • 两个重要的关键字:throw和throws 1.throws的异常列表可以是抛出一条异常,也可以是抛出多条异常,每个类型的异常中间用逗号隔开 2.方法体中调用会抛出异常的方法或者是先抛出一个异常:用throw new Exception() throw写在方法体里,表示“抛出异常”这个动作 3.当某个方法调用到会抛出异常的方法,就必须调用try catch语句块来尝试处理异常 5.当调用者不知道或者不必处理异常时,就继续声明将抛出异常,给更上一层调用者处理 6.尽管Java提供了大量种类的异常,我们在实际使用时还会用到自定义异常: 自定义异常(其实相当于创建一个类):要么继承于意思相近的异常,要么继承于所有异常类的基类Exception 到引起的异常、类没找到引起的异常等。 ArithmeticException——由于除数为0引起的异常; ArrayStoreException——由于数组存储空间不够引起的异常; ClassCastException—一当把一个对象归为某个类,但实际上此对象并不是由这个类 创建的,也不是其子类创建的,则会引起异常; IllegalMonitorStateException——监控器状态出错引起的异常; NegativeArraySizeException—一数组长度是负数,则产生异常; NullPointerException—一程序试图访问一个空的数组中的元素或访问空的对象中的 方法或变量时产生异常; OutofMemoryException——用new语句创建对象时,如系统无法为其分配内存空 间则产生异常; SecurityException——由于访问了不应访问的指针,使安全性出问题而引起异常;
    查看全部
  • 1.e.printStackTrace()可以输出异常信息 2.-1为抛出异常的习惯写法 3.如果方法中try,catch,finally中没有返回语句,则会调用这三个语句块之外的return结果 4.finally块无论如何,不管前面是正常还是异常,都要执行。 5.finally 在try中的return之后 在返回主调函数之前执行。
    查看全部
  • 一个try对应多个catch,要先子类后父类,用finally处理手尾
    查看全部
  • for(int i = str.length()-1;i>0;i--){ if(i%3 == 0){ str.insert(i-2,","); } }
    查看全部

举报

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

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