Java高级阶段技术总结

在经过java高级阶段的学习后,给我的感觉就是相较于java面向对象来说,解决问题的方式和方法比面向对象的要更简单了,但语法也提高了相应的难度。所以学起来还是有一点吃力的感觉。所以我们在学习的时候,不仅要搞清楚一个问题解决的逻辑,还要正确的去使用解决问题的办法。总之,多多练习才能更好的掌握Java高级编程。

对于我们来说,首先要搞清楚Java高级知识点有哪些,搞清楚之后呢,循序渐进,慢慢去搞懂每一个知识点,这样我们在学习的时候才不会去拆东墙补西墙,随着代码的不断积累,我们才能更好的去解决我们在写代码过程中所遇到的问题。下面对每一个知识点都做一个简单的总结:

1.String字符串:String是一个类,属于引用类型。 Java程序中一切使用""引起来的内容,都是这个类的实例,称为字符串对象。 字符串定义后是一个常量,值不可更改。字符串实际是一个字符数组。在使用字符串时,如果要比较其值是否相同,不要使用==判断,因为==判断的是内存地址。 所以在比较字符串是否相同时,要使用String重写的equals方法进行判断。 String中equals方法判断的原理,大致为:将两个字符串保存到字符数组中,再对每个字符逐一比较, 如果全部一致则返回。 在使用equals方法时,通常要将已知的非空字符串作为调用者。

2.可变字符串:String字符串对象是一个常量,在定义后其值不可改变。 如果使用String类的对象,对其频繁更新时,就会不停地创建新的对象,重新引用。 所以如果要执行1000次重新赋值的过程,就要创建1000个字符串对象,花费很多时间和内存空间,所以 效率很低。这时就需要使用可变字符串类。

在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

3.Date类:java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。

Java使用以下三种方法来比较两个日期:

  • 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
  • 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
  • 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。

4.异常:

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。

比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。

异常发生的原因有很多,通常包含以下几大类:

  • 用户输入了非法数据。
  • 要打开的文件不存在。
  • 网络通信时连接中断,或者JVM内存溢出。

这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。

5.数组与集合:数组的特点 数组中保存的元素都是有序的,可以通过下标快速访问 数组中保存的数据都是同一种类型 数组的长度在定义后,无法改变 数组无法获取其中保存的实际元素数量 集合的特点 能保存一组数据,可以有序也可以无序 集合的容量可变 集合中可以保存不同类型的数据 可以获取集合中实际的元素数量。数组集合涉及太多内容,这里就简单说一下特点。

6.File和IO:

Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。

Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。

一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。

Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。

Java 的控制台输入由 System.in 完成。

为了获得一个绑定到控制台的字符流,你可以把 System.in 包装在一个 BufferedReader 对象中来创建一个字符流。

File类中有两个方法可以用来创建文件夹:

  • mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。
  • mkdirs()方法创建一个文件夹和它的所有父文件夹。
  • 一个目录其实就是一个 File 对象,它包含其他文件和文件夹。

    如果创建一个 File 对象并且它是一个目录,那么调用 isDirectory() 方法会返回 true。

    可以通过调用该对象上的 list() 方法,来提取它包含的文件和文件夹的列表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值