26、強化されたforサイクルと自動梱包解体
2848 ワード
[java] view plain copy print ?
1、強化されたForサイクル:
[java] view plain copy print ?
int[] arr = {1,2,3,4,5,6}; for(int i = 0; i< arr.length;i++)
{ System.out.println(arr[i]);
}//拡張forサイクル
for(int element : arr) {
System.out.println(element); }
[java] view plain copy print ?
List list = new ArrayList(); list.add("a");
list.add("b"); list.add("c");
for(String element : list) {
System.out.println(elemnet); }
強化されたforループを使用する場合、セットまたは配列の下付きスケールにアクセスする必要がある場合は、インデックス情報が失われるため、強化されたforループを使用しないで、従来の方法でループまたはループを実現することが望ましい.
2、自動梱包/解体(Autoboxing/unboxing)
自動梱包/解体は、基本的なタイプのデータとパッケージクラスの使用を大幅に便利にします. 自動梱包:基本タイプは自動的に包装クラスに変更されます.(int>>Integer) 自動分解箱:包装類は自動的に基本タイプに転換する.(Integer>>int)
[java] view plain copy print ?
int a = 3; Collection c = new ArrayList();
c.add(3); //intタイプ3をIntegerタイプに自動的に変換してセットに入れる c.add(a + 3);
for(Integer i : c) {
System.out.println(i); }
3、Integerクラスにはキャッシュがあり、-128~127の間のすべての整数をキャッシュします.
Integer i1 =100;Integer i2 = 100; i 1==i 2はtrueである.
Integer i1 =200;Integer i2 = 200; i 1==i 2はfalseです.
4、可変パラメータ
[java] view plain copy print ?
public static int sum(int... nums) {
int sum = 0; for(int num : nums)
{ sum +=num;
} return sum;
}
可変パラメータ:本質的には配列です.可変パラメータを宣言するメソッドでは、離散的な値を渡すことも、配列オブジェクトを渡すこともできます.ただし、メソッドのパラメータを配列として定義すると、離散的な値を渡すことはできません.
可変パラメータは、メソッドパラメータの最後のパラメータとして使用する必要があります.すなわち、1つのメソッドが2つ以上の可変パラメータを持つことはできません.
1、強化されたForサイクル:
1、 For :
[java] view plain copy print ?
int[] arr = {1,2,3,4,5,6};
{
}
for(int element : arr)
System.out.println(element);
int[] arr = {1,2,3,4,5,6};
for(int i = 0; i< arr.length;i++)
{
System.out.println(arr[i]);
}
// for
for(int element : arr)
{
System.out.println(element);
}
[java] view plain copy print ?
List
list.add("b");
for(String element : list)
System.out.println(elemnet);
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
for(String element : list)
{
System.out.println(elemnet);
}
強化されたforループを使用する場合、セットまたは配列の下付きスケールにアクセスする必要がある場合は、インデックス情報が失われるため、強化されたforループを使用しないで、従来の方法でループまたはループを実現することが望ましい.
2、自動梱包/解体(Autoboxing/unboxing)
自動梱包/解体は、基本的なタイプのデータとパッケージクラスの使用を大幅に便利にします. 自動梱包:基本タイプは自動的に包装クラスに変更されます.(int>>Integer) 自動分解箱:包装類は自動的に基本タイプに転換する.(Integer>>int)
[java] view plain copy print ?
int a = 3;
c.add(3); //intタイプ3をIntegerタイプに自動的に変換してセットに入れる
for(Integer i : c)
System.out.println(i);
int a = 3;
Collection<integer> c = new ArrayList<Integer>();
c.add(3); // int 3 Integer
c.add(a + 3);
for(Integer i : c)
{
System.out.println(i);
}
3、Integerクラスにはキャッシュがあり、-128~127の間のすべての整数をキャッシュします.
Integer i1 =100;Integer i2 = 100; i 1==i 2はtrueである.
Integer i1 =200;Integer i2 = 200; i 1==i 2はfalseです.
4、可変パラメータ
[java] view plain copy print ?
public static int sum(int... nums)
int sum = 0;
{
}
}
public static int sum(int... nums)
{
int sum = 0;
for(int num : nums)
{
sum +=num;
}
return sum;
}
可変パラメータ:本質的には配列です.可変パラメータを宣言するメソッドでは、離散的な値を渡すことも、配列オブジェクトを渡すこともできます.ただし、メソッドのパラメータを配列として定義すると、離散的な値を渡すことはできません.
可変パラメータは、メソッドパラメータの最後のパラメータとして使用する必要があります.すなわち、1つのメソッドが2つ以上の可変パラメータを持つことはできません.