Java SE - JDK1.5の新機能

1.可変パラメータ

要件:任意の整数パラメータ加算結果の計算、初期の実装(配列)の設計方法に関する。

public class Test{
    public static void main(String[] args) {
        System.out.println(add(new int[]{1}));
        System.out.println(add(new int[]{1,2,3}));
        System.out.println(add(new int[]{1,4,6}));
        System.out.println(add(new int[]{1,1,3,4,4}));
    }

    public static int add(int[] data){
        int result = 0;
        for (int i = 0; i < data.length; i++) {
            result += data[i];
        }
        return result;
    }
}

JDK1.5は後に追加され可变参数、次の形式で定義された概念:

publlic [static] [final] 返回值 方法名(参数类型 参数名, 参数类型...参数名称){}

可変パラメータの方法は、上記の要件を達成するために:

public class Test{
    public static void main(String[] args) {
        System.out.println(add(1,3,4));//随意传递的内容,随意个数
        System.out.println(add(new int[]{1,2,3}));//可变参数可以接收数组
        System.out.println(add(new int[]{1,4,6}));
        System.out.println(add(new int[]{1,1,3,4,4}));
    }

    public static int add(int...data){
        int result = 0;
        for (int i = 0; i < data.length; i++) {
            result += data[i];
        }
        return result;
    }
}

可变参的本质上是数组,一个方法中只允许一个可变参,并且可变参一定是方法最后一个参数、トランスミッションの多くの種類の例をパラメータ:

public class Test{
    public static void main(String[] args) {
        System.out.println(add("Hello"));
        System.out.println(add("Hello",1,4,5,6));
        System.out.println(add("Hello",new int[]{1,2,3}));
    }
    public static int add(String msg,int ... data) {
        int result = 0 ;
        for (int i = 0; i < data.length; i++) {
            result += data[i] ;
        }
        return result ;
    }
}

2.foreach(拡張forループ)

元の配列の出力サイクルのために使用される例えば、完了です。

public class Test{
    public static void main(String[] args) {
        int[] data = new int[] { 1, 2, 3, 4, 5 }; // 原始数组
        for (int i = 0; i < data.length; i++) {
            System.out.println(data[i]); // 通过循环控制索引下标
        }
    }
}

foreachの構文:

for(数据类型 临时变量 : 数组(集合)){
	//循环次数为数组长度,而每一次循环都会顺序取出数组中的一个元素赋值给临时变量
}

例としては、次のとおりです:

public class Test {
    public static void main(String[] args) {
        int[] data = new int[] { 1, 2, 3, 4, 5 }; // 原始数组
        for (int i : data) { // 将数组中每个元素赋值给i
            System.out.println(i); // 这种循环避免了角标的问题
        }
    }
}

3.静的インポート

MyMathカテゴリ:

package www.xpu.java.util;
public class MyMath {
    public static int add(int x, int y) {
        return x + y;
    }
    public static int sub(int x, int y) {
        return x - y;
    }
}

MyMath最初に呼び出すことで、その後、すべての静的MyMathクラスをクラスをインポートする
方法を:

package www.xpu.java.test;
import www.xpu.java.util.MyMath;

public class TestDemo {
    public static void main(String[] args) {
        System.out.println(MyMath.add(10, 20));
        System.out.println(MyMath.sub(30, 10));
    }
}

プロパティとメソッドは、この時点で呼び出すために、利用されるように、すべてのクラス、クラスのすべての静的フィールド(メソッドを含む静的プロパティ)から開始JDK1.5はもはや必須のクラス名ではありません直接メインメソッド呼び出すことができます。

package www.xpu.java.test;
import static www.xpu.java.util.MyMath.*; // 静态导入
public class TestDemo {
    public static void main(String[] args) {
        System.out.println(add(10, 20));
        System.out.println(sub(30, 10));
    }
}

実際には、この方法は効率的ではありませんが、開発が推奨されていません

おすすめ

転載: blog.csdn.net/LiLiLiLaLa/article/details/91348122