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

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • addall set remove removeAll size
    查看全部
  • 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了。 那什么是装箱和拆箱呢?我们分别来看下 装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱 拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱
    查看全部
  • 装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱。 拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱
    查看全部
  • 包装类主要提供了两大类方法: 1. 将本类型和其他基本类型进行转换的方法 2. 将字符串和本类型及包装类互相转换的方法
    查看全部
  • int、float、double、boolean、char 等。基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。
    查看全部
  • 老师讲得生动有趣,不过可能以下代码更简洁一些:<br> public static void main(String[] args) {<br> System.out.println(getInt());<br> }<br> <br> public static int getInt() {<br> int a = 10;<br> try {<br> System.out.println(a / 0);<br> a = 20;<br> //此处return,包括a=20根本不可能执行,System.out.println(a / 0);直接转到catch<br> //return a;<br> } catch (ArithmeticException e) {<br> a = 30;<br> //此处执行 return 30,并确定返回路径;然后执行finally a=40;再回来执行return,由于返回路径已确定,返回值不变<br> return a;<br> <br> } finally {<br> a = 40;<br> //放开此处,注释掉最后的return,结果40<br> //return a;<br> <br> }<br> return a;<br> <br> }<br> 执行try语句,遇到异常后,根本不会执行try中异常语句后的return,会直接执行catch语句,然后执行catch中的return语句(注:此时返回路径已确定),接着执行finally语句,finally一定会执行(例如变量重新赋值),如果finally中有return,直接返回调用函数;没有则回到catch的return返回调用函数,但由于返回路径已确定,返回值不变;如果整个try-catch-finally中无return,则执行整个代码块之后的return返回调用函数。请亲自添加断点,动手实践,加深理解,排除误导。
    查看全部
  • try/catch/finally的执行顺序: 1、try内有异常时:try-catch-finally; 2、try内无异常时:try-finally.
    查看全部
  • 在需要频繁对字符串进行修改操作时使用 StringBuilder 的效率比 String 要高
    查看全部
    0 采集 收起 来源:练习题

    2016-08-02

  • 这时候 JVM 会规规矩矩的按照原来的方式去做 在大部分情况下 StringBuffer > String StringBuffer Java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。 StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。 例如,如果 z 引用一个当前内容是“start”的字符串缓冲区对象,则此方法调用 z.append("le") 会使字符串缓冲区包含“startle”,而 z.insert(4, "le") 将更改字符串缓冲区,使之包含“starlet”。
    查看全部
  • 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。而如果是使用 StringBuffer 类则结果就不一样了,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使StringBuffer ,特别是字符串对象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢,而特别是以下的字符串对象生成中, String 效率是远要比 StringBuffer 快的: String S1 = “This is only a” + “ simple” + “ test”; StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”); 你会很惊讶的发现,生成 String S1 对象的速度简直太快了,而这个时候 StringBuffer 居然速度上根本一点都不占优势。其实这是 JVM 的一个把戏,在 JVM 眼里,这个 String S1 = “This is only a” + “ simple” + “test”; 其实就是: String S1 = “This is only a simple test”; 所以当然不需要太多的时间了。但大家这里要注意的是,如果你的字符串是来自另外的 String 对象的话,速度就没那么快了,譬如: String S2 = “This is only a”; String S3 = “ simple”; String S4 = “ test”; String S1 = S2 +S3 + S4;
    查看全部
  • String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全)
    查看全部
  • 开始发牌
    查看全部
  • 创建扑克牌
    查看全部
  • 将s.charAt(i)变为(s.charAt(i) + "")可以将char类型强制转换为String类型
    查看全部
  • 拜拜5
    查看全部

举报

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

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