美文网首页
2018-03-18

2018-03-18

作者: 青楼楼长 | 来源:发表于2019-03-22 09:56 被阅读0次

    JavaSE篇

    1. String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误以为是一种基本类型。String类型是Immutable的,一旦创建就不能够被改变。

    3. 

    final 修饰一个变量,有很多种说法,比如不能改变等等 

    准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会

    4.

    静态代码块在主方法执行之前就已经存在,普通代码块需要在主方法中执行,而且不像之前似的从上往下走代码,static修饰的代码块怎么着都会先执行,就算static修饰的代码块在主方法下边也会先执行静态代码块 

    5. 

    如果有任何运算单元的长度超过int,那么运算结果就按照最长的长度计算 

    比如 

    int a = 5; 

    long b = 6; 

    a+b -> 结果类型是long

    6. 

    无论长路与还是短路与(&对比&&)

    两边的运算单元都是布尔值

    都为真时,才为真

    任意为假,就为假

    区别

    长路与 两侧,都会被运算

    短路与 只要第一个是false,第二个就不进行运算了

    7.

    无论长路或还是短路或

    两边的运算单元都是布尔值

    都为假时,才为假

    任意为真,就为真

    区别

    长路或 两侧都会被运算

    短路或 只要第一个是true的,第二个就不进行运算了

    8.

    异或^ 

    不同,返回真 

    相同,返回假

     System.out.println(a^b); //不同返回真

      System.out.println(a^!b); //相同返回假

    9.

    equals() 用于判断两个对象的内容是否相同

    假设,当两个英雄的hp相同的时候,我们就认为这两个英雄相同

    10.

    ==

    这不是Object的方法,但是用于判断两个对象是否相同

    更准确的讲,用于判断两个引用,是否指向了同一个对象

    11.

    当Hero被修饰成final的时候,表示Hero不能够被继承

    12.

    抽象类与接口的区别

    区别1:

    子类只能继承一个抽象类,不能继承多个

    子类可以实现多个接口

    区别2:

    抽象类可以定义

    public,protected,package,private

    静态和非静态属性

    final和非final属性

    但是接口中声明的属性,只能是

    public

    静态

    final的

    即便没有显式的声明

    13.

    内部类:

    非静态内部类 :在一个类里面定义,可以直接访问外部类的private成员变量。

    静态内部类 :除了可以访问外部类的静态成员变量之外和普通类没有区别。

    匿名类 :匿名类指的是在声明一个类的同时实例化它,使代码更加简洁精练

                   通常情况下,要使用一个接口或者抽象类,都必须创建一个子类

                   有的时候,为了快速使用,直接实例化一个抽象类,并“当场”实现其抽象方法。

                    既然实现了抽象方法,那么就是一个新的类,只是这个类,没有命名。

                     这样的类,叫做匿名类

    本地类:本地类可以理解为有名字的匿名类

                  内部类与匿名类不一样的是,内部类必须声明在成员的位置,即与属性和方法平等的位置。

                  本地类和匿名类一样,直接声明在代码块里面,可以是主方法,for循环里等等地方

    14.

    默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法

    Mortal 这个接口,增加了一个默认方法 revive,这个方法有实现体,并且被声明为了default

    15.

    数字转字符串: 

            //方法1

            String str = String.valueOf(i);

            //方法2

            Integer it = i;

            String str2 = it.toString();

    字符串转数字:

    int i= Integer.parseInt(str);

    16.

     

    保存一个字符的时候使用char

            char c1 = 'a';

            char c2 = '1';//字符1,而非数字1

            char c3 = '中';//汉字字符

            char c4 = 'ab'; //只能放一个字符

    17.字符串详解

           String garen ="盖伦"; //字面值,虚拟机碰到字面值就会创建一个字符串对象

            String teemo = new String("提莫"); //创建了两个字符串对象

            char[] cs = new char[]{'崔','斯','特'};

            String hero = new String(cs);//  通过字符数组创建一个字符串对象

            String hero3 = garen + teemo;//  通过+加号进行字符串拼接

            String 被修饰为final,所以是不能被继承的

            代码比较复制代码

    a       charAt(int index)获取指定位置的字符

    b        toCharArray()获取对应的字符数组

    c        String subString2 = sentence.substring(3,5);

    d        String sentence = "盖伦,在进行了连续8次击杀后,获得了 超神 的称号";

            //根据,进行分割,得到3个子字符串

            String subSentences[] = sentence.split(",");

    e        trim 去掉首尾空格

    f        String sentence = "盖伦,在进行了连续8次击杀后,获得了超神 的称号";

            System.out.println(sentence.indexOf('8')); //字符第一次出现的位置

            System.out.println(sentence.indexOf("超神")); //字符串第一次出现的位置

            System.out.println(sentence.lastIndexOf("了")); //字符串最后出现的位置

            System.out.println(sentence.indexOf(',',5)); //从位置5开始,出现的第一次,的位置

            System.out.println(sentence.contains("击杀")); //是否包含字符串"击杀"

    g        string类型一致的特例。

    h

    i

    相关文章

      网友评论

          本文标题:2018-03-18

          本文链接:https://www.haomeiwen.com/subject/gqdwcftx.html