java基础-Java 常用类、常用概念(第十九节)

     这篇简单补充一些java里面的知识以及概念,最好是学完之前所有的java课程再来看这篇,

  因为是基础系列,所以这篇讲的常用类和常用概念,不会很复杂,也不会很多,但是都比较重要,建议仔细看看;

 

   1.StringBuffer类和StringBuilder

(1)StringBuffer和StringBuilder人称sb类,,简称而已,不要纠结太多;这2个类主要用于操作字符串的修改,String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象,StringBuilder是java5提出的,我们现在用的基本是java8了,他和StringBuffer的区别在于,StringBuffer是线程安全的,而StringBuffer是线程不安全的,先记着,待会我们会讲线程安全概念。但是StringBuilder的速度理论上比StringBuffer要快,所以在对线上安全要求不严格的情况下,可以用StringBuilder。如果实在不想麻烦,那就建议用StringBuffer,安全就重要。

使用起来比较简单,举个栗子;

 

2.Number类

 

         我们之前有讲过java提供了8大基本类型,我们在实际开发过程,有时候需要在各个数据类型里切换类型使用,比如,由于需要你最初定义了一个String类型的字符串数字;String data = “12”;这样的,但是你后面却需要用它来进行算术运算,比如做加法,我们之前说过,字符串后面加“+”号是拼接字符串,不是做加法,所以这个时候我们有必要将data这个字符串转成int类型的数字,这个时候需要就需要用到一个叫Integer类了,我们先整体看下,很容易发现,8大数据类型的6大数据类型的包装类,都是抽象类Number的子类,ps:还有2个char和boolean,分别是Character和Boolean2个类;

先看代码:

转换基本都看懂了吧,比较简单,可以去试试;

还有一个需要注意的是:包装类的默认值是null,Integer的默认值是null,就是啥都没有的意思,int的默认值是0;

 

3.Math类

     Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。但是math类用的最多的还是它的round()四舍五入,和random()取随机数方法;这2个要记住;

(1)round()它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5) 的结果为12,Math.round(-11.5) 的结果为-11。

public class Main {    public static void main(String[] args) {      double[] nums = { 1.4, 1.5, 1.6, -1.4, -1.5, -1.6 };      for (double num : nums) {        test(num);      }    }      private static void test(double num) {      System.out.println("Math.round(" + num + ")=" + Math.round(num));  }  

}

(2)随机函数random()

注意下:这个随机数是从1到10包括1和10的;

 

4.异常捕获,先看个大概图;

简单说明:

 

1.异常分为2大类,并且所有 的异常都是Throwable的子类。

2.Throwable有两个子类,Error和Exception。其中Error是错误发生,对于所有的编译时期的错误以及系统错误都是通过Error抛出的。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,它们在应用程序的控制和处理能力之 外,而且绝大多数是程序运行时不允许出现的状况,正常情况不会发生,发生了,也不是你的代码能解决的。

3.Exception,是另外一个非常重要的异常子类。它规定的异常是程序本身可以处理的异常。异常和错误的区别是,异常是可以被处理的,而错误是没法处理的;

4.异常处理


 

(1)通过try catch来处理

try

{
// 程序代码
}catch(ExceptionName e1)
{
//Catch 块

}

比如我们上篇文章里提到的io流操作,需要注意的是,并不是说你加了异常处理代码,就表示这行代码会出异常,异常处理代码是为了出现异常的时候能捕获到异常信息,并不能预防代码出异常,也不能解决异常。。切记。

还有一点:如果上面new FileInputStrem(file)代码出现异常了,后面省略的代码是执行不了,直接跳到catch代码快里面,执行打印异常信息的代码了;

 

5.如果你不想在当前方法或者类里面处理异常,而是想抛出去,给继承,或者使用这个方法的类或者方法去处理,那你可以使用 throw抛出异常,给调用者处理,这就叫踢皮球,问题出来了,反正我是不管,我只负责通知;

 

好了, 暂时就提这些,后面继续补充,

欢迎加入途码技术学习交流二群,群聊号码:322394766

微信公众号:

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章