ArrayList深入分析

基本方法

使用由 toString()​ 方法提供的默认的转换显示类集的内容,toString()​ 方法是从 AbstractCollection()​ 继承下来的。对于例子来说足够,但是通常情况下会重写此方法。

 public class ArrayListTest1 {
   public static void main(String[] args) {
     ArrayList arrayList = new ArrayList();
     arrayList.add("hello");
     arrayList.add("world");
     arrayList.add("world");
     arrayList.add("welcome");String s1 = (String) arrayList.get(0);
     String s2 = (String) arrayList.get(1);
     String s3 = (String) arrayList.get(2);
     String s4 = (String) arrayList.get(3);System.out.println(s1);
     System.out.println(s2);
     System.out.println(s3);
     System.out.println(s4);System.out.println("-------------");
     for (int i = 0; i < arrayList.size(); i++) {
       System.out.println(arrayList.get(i));
     }// arrayList.clear();
     // System.out.println(arrayList.size());
     // System.out.println(arrayList.isEmpty());
 ​
     arrayList.remove(0);System.out.println("-------------");
     for (int i = 0; i < arrayList.size(); i++) {
       System.out.println(arrayList.get(i));
     }
 ​
     arrayList.remove("welcome");
     System.out.println("-------------");
     for (int i = 0; i < arrayList.size(); i++) {
       System.out.println(arrayList.get(i));
     }System.out.println("-----------------");
 ​
     arrayList.add("aaa");
     arrayList.add("bbb");System.out.println(arrayList.indexOf("world"));
     System.out.println(arrayList.lastIndexOf("world"));
     System.out.println(arrayList.indexOf("aaa"));
   }
 }

Terwer...大约 5 分钟后端开发JavaSE结果包装操作转换基本arraylistdeepanalysis
Java_SE_第五讲:运算符续

Java_SE_第五讲:运算符续

  1. 关系运算符:大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等 于(<=),关系运算的结果是个 boolean 值。

  2. 逻辑运算符:重点讲解两个,逻辑运算符本身也返回一个 boolean 值。

    1) 逻辑与:使用&&表示, 逻辑与是个双目运算符(即有两个操作数的运算符),只有 当两个操作数都为真的时候,结果才为真;其余情况结果均为假。 逻辑与表示的并 且的意思。

    2) 逻辑或:使用||表示,逻辑或也是个双目运算符,只有当两个操作数都为假的时候, 结果才为假;其余情况结果均为真。 逻辑或表示或者的意思。

  3. 关于逻辑运算符的短路特性。

    1) 逻辑与: 如果第一个操作数为 false,那么结果肯定就是 false ,所以在这种情况下, 将不会执行逻辑与后面的运算了,即发生了短路。

    2) 逻辑或: 如果第一个操作数为 true,那么结果肯定就是 true ,所在在这种情况下, 将不会执行逻辑或后面的运算了,即发生了短路。

  4. 关于变量的自增与自减运算。

    1) 关于 int b = a++,作用是将 a 的值先赋给 b,然后再让 a 自增 1.

    2) 关于 int b = ++a,作用是将 a 的值先自增 1,然后将自增后的结果赋给 b。


Terwer...大约 2 分钟后端开发JavaSE逻辑结果运算符操作数运算operatorcontinue
Java_SE_第四讲:运算符
  1. 当有若干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变量类型。 比如,参与运算的变量中,有整型 int,有双精度浮点型 double,有短整型 short,那么 最后的结果类型就是 double。

  2. int a = 1;

    int b = 2;

    double c = (double)a / b;

    上面的代码中,a 与 b 都是整型,但是通过(double)a 这种转换将 a 转换为一个匿名的变量,该变量的类型是 double,但是要注意:a 本身依旧是 int 类型,而不是 double 类型,这样,(double)a / b 就是 double 类型除以 int 类型,结果自然是 double 类型。

  3. 取模运算符:使用 % 表示。

    int a = 5;

    int b = 3;

  4. int c = a % b;

    上面代码的运行结果是 2,因为 5 除以 3 结果是 1 余 2。 取模的规律:取模的结果符号永远与被除数的符号相同

    int a = 5;

    int b = -3;

    int c = a % b;

    被除数是 5,那么取模的结果是 2

    int a = -5;

    int b = 3;

    int c = a % b;

    被除数是-5,那么取模的结果是-2。


Terwer...大约 2 分钟后端开发JavaSE类型结果变量整型那么运算符operator