データの種類
Java データ型は、基本データ型と参照型で構成されます
基本データ型は C 言語のデータ型と一致していますが、基本型以外は参照型です。
参照型には主に、クラス (クラス)、インターフェイス (インターフェイス)、配列、列挙 (enum)、注釈 (注釈) が含まれます。
char 定数は、一重引用符 ('') で囲む必要があります。char c = 'a';//変数 c を char 型として指定し、a に初期値を代入します。
さまざまな定義規則:
int i = 100; char c1 = a; byte b = 0b11; long l = 567L; float f = 1.86f; double d = 2.1;
エスケープ文字について: \` は ` を表すために使用され、\\ は char 型である \ を表すために使用されます。
自動型変換:
条件: 2 つのタイプに互換性がある必要があります。ターゲット タイプがソース タイプより大きいこと。
float fl = b * f; //バイト型 b は、操作に参加するために f1 と一致する float 型に自動的に変換されます。
ビット演算子
ビット演算型 |
文法形式 |
ルール |
ビット論理積 (AND) |
値1 & 値2 |
1 & 1= 1、その他の場合、結果はすべて 0 |
ビット単位の NOT (NOT) |
〜値1 |
取反 |
ビット単位または (OR) |
値1 | 値2 |
どちらの演算子も 1 で、結果は 1 です |
ビットごとの排他的 OR (XOR) |
値1 ^ 値2 |
違うなら1、同じなら0。 |
左に移動 |
値 << 数値 |
最上位ビットを捨て、右側を 0 で埋めます。 左右シフトしても桁数は変わらない |
右に動く |
値 >> 数値 |
最下位ビットは破棄され、最上位ビットには元の最上位ビットの数値が追加されます。 |
符号なし右シフト |
値>>>数値 |
最下位ビットは破棄され、最上位ビットは 0 で埋められます。 |
配列
配列の作成と初期化
静的初期化: 配列は、配列の定義と同時に初期化されます。
例: int[] K={1,2,3,4} または int[] K= new int[]{1,2,3,4}
動的初期化: 配列の定義と初期化を分離します。
例: int[] array; //配列宣言
array[0] = 1; // 配列の最初の要素を割り当てます
array[1] = 2; // 配列の 2 番目の要素を割り当てます
//[] 配列は配列[]と同じですが、前者がよく使われます
または int[] K= new int[100];// 長さ 100 の整数配列を新たに出力します。
配列が作成されると、配列の要素には既定の初期値が設定され、配列の初期値は、数値型の場合は 0、ブール型の場合は false、文字型の場合は \0、参照型の場合は null になります。
配列のコピー
配列のコピーとは、ソース配列の要素のコピーを作成し、それらをターゲット配列の対応する位置に割り当てることを指します。一般的に使用される 3 つの配列割り当て方法があります。
1. ループ ステートメントを使用してコピーします (ループ ステートメントを使用してソース配列の各要素を走査し、それをターゲット配列の対応する位置に割り当てます)。
2. chone() メソッドを使用する
Java では、Object クラスはすべてのクラスの親クラスであり、その clone() メソッドは通常、このオブジェクトのコピーを作成して返すために使用されます. Java では、すべてが「オブジェクト」と見なされるため、このメソッドも配列のコピーに使用されます。clone() メソッドはオブジェクトクラスのメソッドで、その機能はコンテンツをコピーすることです。
public class ArrayCopyClone {
public static void main(String[] args) {
int[]array1={ 1,2.3.4.5}; //
int[]array2 = array1.clone(); //array2是array1的副本,值相同
for(int i=0;i< array2.length, i++)
{
System.out.println(array2[i]+".");//输出
}
}
3. System.arraycopy メソッドを使用する
arraycopy() メソッドは System クラスの静的メソッドです (非常に効率的なローカル メソッドです)。System.arraycopy() メソッドの構造は次のとおりです。
System.arraycopy(from、fromIndex、to、toindex、count)
例:
public class ArrayCopy {
public static void main(String[] args){
int[]array1 ={ 1,2,3,4, 5 };
int[]array2 = new int[array1.length]; //声明array2
System.arraycopy(array1, 0, array2, 0, array1.length); //复制
/*表示从array1的0号开始复制,复制好的放在array2里的0号位置去,一共复制array1.length个长度*/
for (int i= 0; i< array2 length; i++) {
System.out.print(array2[i]+",");//输出
}
}
配列を使用
配列は、使用する前に割り当てる (新規) 必要があります。
配列には、プリミティブ データ型とオブジェクト データ型を格納できます。
配列を使用して 5 つの整数を格納し、その中の最大値を出力します。
public class FindMax {
public static void main(String[] args) {
int[] array={ 10, 23, 6, 88, 19 };
int index =0; //最大值索引号,默认为0
int max = array[index]; //最大值
//寻找最大值
for (int i= 1; i< array.length; i++) //注意java里是在for循环里面对进行的定义
{
if (array[i] > max){
index = i;
max = array[i];
}
}
System.out.println("最大值为" + max+", 索引号为”+ index);
}
}
//数组属于对象范畴,使用。length属性来获取数组的元素个数。
二次元配列
new を使用して多次元配列を作成する場合、各次元のサイズを指定する必要はなく、最初の次元のサイズのみを指定する必要があります. 例 in[][] array = new int[10][ ];
現時点では、1 次元配列の要素型は依然として 1 次元配列であり、行列などの問題を解決するためによく使用されます。
int[][] array ={ {1,2},{3,4},{4,5}};// これは C 言語とは異なることに注意してください。
データ 2 を取得する場合は、array[0][1] を使用して取得できます。(配列名とインデックスを指定します)。