コンテンツ
1.データ型
Javaデータ型は、基本データ型と参照型に分けられます。基本的なデータ型には、byte、short、int、long、float、double、char、およびbooleanの8つがあります。(ps:これらの8つのデータ型はすべて変数です)参照型には、文字列、インターフェイス、列挙型などがあります。
1.変数とタイプ
1.データ型のサイズ
まず、Javaの文字タイプはUnicodeエンコード方式を使用しており、各Unicodeコードは16ビットを占めることを知っておく必要があります。Unicodeコードの文字セットには、ラテン語、英語、および中国語が含まれます。Javaのすべてのデータ型には値の範囲があるため、保存するときに値の範囲を超えないようにしてください。nをデータ型が占めるビットとすると、データ型の値の範囲は-2 ^(n-1)-2 ^(n-1)-1になります。intを例にとると、intは4バイト、つまり32ビットを占め、intの値の範囲は-2 ^ 31-2^31-1です。
以下は、各データ型のサイズを知るためのコードです
public static void main(String[] args) {//1个字节等于8个比特位
System.out.println("byte:"+Byte.SIZE/8);
System.out.println("char:"+Character.SIZE/8);
System.out.println("short:"+Short.SIZE/8);
System.out.println("int:"+Integer.SIZE/8);
System.out.println("float:"+Float.SIZE/8);
System.out.println("long:"+Long.SIZE/8);
System.out.println("double:"+Double.SIZE/8);
}
2.文字データ型
文字リテラルは、Javaでは一重引用符+1文字の形式で表されます。
public static void main3(String[] args) {
char ch = '王';//2个字节
char ch2 = 67;//会解析成对印的字符,而不是数字67
System.out.println(ch);
System.out.println(ch2);
}
もちろん、javac:未終了の文字リテラルを実行するときにもエラーが発生する可能性があります。現時点では、javacの後に-encodingUTF-8を追加するだけで済みます。
3.ブールデータ型
ブール型の変数には、trueの場合はtrue、falseの場合はfalseの2つの値しかありません。Javaのブール型はint型と交換できないことに注意してください。つまり、1がtrueを意味し、0がfalseを意味するということはありません。JVMの規定では、ブール型のサイズが明確に指定されていません。ビットであると言う人もいれば、バイトであると言う人もいます。読者の意見は異なります。具体的な使用法は次のコードに示されています
public static void main(String[] args) {
boolean flg = true;
System.out.println(flg);
}
4.文字列型変数
Javaは、二重引用符といくつかの文字を使用して文字列リテラルを表します。最初に示したように、Stringはプリミティブデータ型ではなく、参照データ型です。保存されているアドレスかどうかを確認することで、参照型かどうかを判断できます。
public static void main(String[] args) {
String str = "你好啊";
System.out.println(str);
}
直接表現するのが簡単ではない文字列内の特定の文字は、エスケープする必要があることに注意してください。
エスケープ文字 | 意味 |
\ n | 改行 |
\ t | 水平タブ(TAB) |
\ ' | アポストロフィ |
\ " | 二重引用符 |
\\ | バックスラッシュ(/) |
文字列を使用して、2つの文字列を「+」で連結したり、文字列と整数を連結したりすることもできます。
public static void main(String[] args) {
String a ="Hello";
String b ="World";
System.out.println(a+b);
}
5.変数の範囲
変数のスコープは、C言語と同様に、対応する中括弧を見つけるだけで済みます。
6.変数の命名規則
1.変数名には、数字、文字、およびアンダースコアのみを含めることができます(ただし、$にも名前を付けることができますが、お勧めしません)。
2.番号を開始できません
3.変数名では大文字と小文字が厳密に区別されます
4.変数名には小さなキャメルケースを使用し、クラス名には大きなキャメルケースを使用します
2.定数
定数の値はコンパイル時に決定されますが、変数は実行時まで値を認識しません。プログラムの実行中は定数を変更できません。
1.リテラル定数
つまり、123、123.0、true、10.0Lなどのように決定されます。
2.fanalキーワードによって変更された定数
Javaのfinalは、C言語のconstと同じ意味です。
public static void main(String[] args) {
final int a = 10;
a = 20;
System.out.println(a);
}
プログラムの実行中は定数を変更できないため、コンパイルエラーが表示されます。
3.データ型変換
1.自動型変換
自動型変換はlowからhighになります。たとえば、intは自動的にlongに変換されますが、byteには変換できません。
2.強制型変換
それで、それを高から低に変換することはできませんか?実際にはそうではありません。たとえば、強制を使用してlongをintに変換することはできますが、精度の欠如などの問題が発生する可能性があります。
public class TestDemo {
public static void main(String[] args) {
long x = 500;
int y =(int) x;
System.out.println(y);
}
}
注:ターゲットタイプの表現範囲を超えて値を別のタイプから別のタイプに変換しようとすると、結果は(byte)500=-12などの完全に異なる値に切り捨てられます。
public class TestDemo {
public static void main(String[] args) {
long x = 500;
byte y =(byte) x;
System.out.println(y);
}
}
3.数値の改善
サイズの異なる2つのデータ型が計算されると、システムは自動的に小さい範囲を大きい範囲に昇格させます。
public static void main(String[] args) {
int a = 10;
double b = 10.0;
System.out.println(a+b);
}
最後に、int型の20ではなく、double型の20.0を出力します。
2.オペレーター
1.算術演算子
算術演算子には次のものが含まれます:+-* /%、使用法はC言語の使用法と同じであり、ここでは繰り返されません。
2.関係演算子
論理演算子は次のとおりです。==!= <> <=> =
論理演算子の結果はすべてブール値です。つまり、trueとfalseの2つのケースしかありません。
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a>=b);
System.out.println(a<=b);
}
3.論理演算子
3つの論理演算子があります:&&、||、!。論理演算子のオペランド(オペランドは多くの場合、関係演算子の結果です)と戻り値は両方ともブール値です
1。&&:論理積
expression1 && expression2
1つが偽の場合、すべてが偽です
短絡:式1が偽の場合、式2は実行されません
2. ||:論理OR
expression1 || expression2
1つが真であれば、すべてが真です
短絡:式1が真の場合、式2は実行されません
3.!:論理否定
!表現
式がtrueの場合、式はfalseです。式がfalseの場合、式はtrueです。
4.注意事項
&および|は、オペランドがブール値の場合の論理演算も表します。ただし、&&や||と比較すると、短絡評価に対応していないため、使用をお勧めしません。
4.ビット演算子
Javaでのデータ操作の最小単位はバイトではなく、バイナリビットです。
4つの主要なビット演算子があります:&| 〜^
ビット操作とは、バイナリビットを操作することを意味します。コンピューターはバイナリーを使用してデータ(01で構成されるシーケンス)を表し、ビット単位の演算はバイナリーの各ビットに従って順番に実行されます。
1.&ビット単位AND
対応する2進ビットが1の場合のみ、演算結果の2進ビットは1になります。
2.|ビットごとのOR
バイナリビットの1つが1である限り、演算結果のバイナリビットは1です。
3.^ビット単位のXOR
同じバイナリビットは0になり、異なるバイナリビットは1になります。
4.〜ビット単位の否定
ビットが0の場合は1に、ビットが1の場合は0になります。
5.シフト操作
ただ理解してください、3つのシフト演算子があります:<<、>>、>>>
6.条件演算子
expression1?式2:式3
expression1の値がtrueの場合、式全体の値はexpression2の値になり、expression1の値がfalseの場合、式全体の値はexpression3の値になります。具体的な使用法は次のコードに示されています
public static void main(String[] args) {
int a = 10;
int b = 20;
int max = a>b ? a:b;
System.out.println(max);
}
7.操作の優先順位
優先順位 | オペレーター |
1 |
() |
2 | !+-++- |
3 | * /% |
4 | +- |
5 | <<= >> = |
6 | ==!= |
7 | ^ |
8 | && |
9 | || |
10 | ?: |
11 | = + =-= * = / =%= |
3.キーワード
キーワードは、Javaで特定の意味を持ついくつかの単語であり、Javaの予約語とも呼ばれます。Javaキーワードは、変数名、メソッド名、クラス名、パッケージ名、およびパラメーターとして使用できません。
現在、私たちが接触したキーワードは次のとおりです。public static final ...
興味のある友人は、 JavaキーワードDaquan(詳細なキーワード分類)|コードノート(mabiji.com)を通じて詳細を学ぶことができます
最後に、読んでくれてありがとう!作者のレベルには限りがありますので、間違いがあれば訂正してください!