エンコーディング
ASCII--0~127 65-A 97-a
西ヨーロッパコードテーブル---ISO-8859-1---0-255---1バイト
gb2312----0 - 65535---gbk---2バイト
Unicodeエンコードシステム---utf-8---3バイト
中f
bit Byte byte 1Byte = 8bit 1KB=1024B MB GB TB PB---ストレージユニットコンピューター内
定数
整数定数---すべての整数3,99,107
10進数定数---すべての小数点3.5 100.9
文字定数---文字、数字、記号は単一引用符で囲みます。 'a' '=' ' '
文字列定数---1 つ以上の文字を識別するには二重引用符を使用します。 "abc" "234" "q2" ""
ブール定数--- -論理値を表すために使用します--- true/false
空の定数---null
5-整数、5.0-10進数の「5」-文字「5」-文字列「5.0」-間違った書き込み「5.0」-文字列
base
binary:完全なバイナリ1 に 1、0~1 1+1=10 0b10011 0b0011、JDK1.7 以降、数値を 2 進数として識別するために 0b で始めることが許可されています
8 進数: フル 8 から 1、0~7、7+ 1=10 は 0 06 015 で始まる必要があります
10 進数: 10 から 1 まで、0~9
16 進数: 16 進数から 1 まで、0~9、 、A~F、9+1=A f+1=10は 0x 0x5 0xad で始まる必要があります
10 進数の変換
10 進数から 2 進数に変換します: 2 で割って余りを取り、余りを逆の順序にします
2 進数を 10 進数に変換します: から開始します下位の次数に 2 の累乗を掛けて合計します
2 進数を 8 進数に変換します: 下位から始めて、3 桁ごとに 3 つ未満のグループに分割します ビットを 0 で埋めると 1 が生成されます8 進数で、これらの数字を順番に並べることができます
8 進数を 2 進数に変換します: 1 から 3 --- 1 つの 8 進数から 3 つの 2 進数が生成されます
2 進数を 16 進数に変換: 4 を 1 に変更するプロセス
変数
System.out.println(i);
int i = 5;---いいえ---変数は使用する前に宣言する必要があります
int i;
System.out.println(i);-- -いいえ--変数は使用前に初期化する必要があります
データ型
基本データ型
数値型
整数型
byte---バイト型-- -1 byte--- -2^7~2^ 7-1 --- -128~127
バイト b = 5; バイト b2 = -128;
short ---short integer--- 2 バイト --- -2^15~2^15-1 - -- -32768~32767
short s = 54; short s = -900;
int---整数---4バイト --- -2^31~2^31-1
int i = 100000 ;
int j = 100_000_000;--JDK1.7 以降で許可されます。これらはコンパイル中に自動的に無視されます_ -> int j = 100000000;
int i = 00001111;---8 進数
Java のデフォルトの整数型は int
long---long integer---8 バイト--- -2^63~2^63-1--- この数値がlong型数値であることを示すためにLで終わります
long l = 3L;
浮動小数点型
float--- 単精度- --4 バイト---f
float f = 3.2f;で終わる必要があります
double---倍精度---8 バイト
Java のデフォルトの 10 進数型は double 型です
double d = 3.5;
double d = 4.6D;---はい
double d = 3.9e4; //10進数の科学表記です
double d = 0x3p2; //16進数の科学表記です 数え方 -> 12
文字型
char---2バイト---0 ~65535
char c = 'a';
char c = '中';
Boolean
boolean---true/false
boolean b = false;
参照データ型
クラス---クラスインターフェース---インターフェース配列---[]
データ型変換
暗黙的変換/自動型変換
byte b = 100;
int i = b;
long l = 63;---はい---整数値が int 型の範囲内にある場合、末尾に L を追加する必要はありません
ルール 1: 小さい型は大きな型に変換される ---byte->short->int->long float->double
int i = 5;
float f = i;
long l = 6;
float f = l;
ルール 2: 整数は 10 進数に変換できますが、精度の損失が発生する可能性があります
char c = 'a';
int i = c;
ルール 3: 文字型は整数型に変換できます
short s = 'a';---can
char c = 100;---can
char c = 'a';
short s = c;-- -いいえ
は変数を定義しますchar 型の c は、格納されるデータが文字であるため、short 型に値を代入する際に、その文字に対応するエンコーディングが short 型であるかどうかを確認する必要はありません。 short 型の値の範囲は char 型と完全に重複していないため、この文字に対応する特定のエンコーディングを決定することはできません。範囲を超える事態を防ぐため、代入は許可されません。 。
short s = 97;
char c = s;-いいえ
明示的な変換/キャスト
long l = 54;
int i = (int)l;
double d = 3.5 ;
int i = (int)d;---小数を強制的に整数に変換する場合、小数部分は直接破棄されます
double型は小数を正確に格納できません
16進数--16進数
10進数- -10進数
8進数---8進数
2進数---2進数
演算子
算術演算子
+加減算*乗算/除算% Modulo++自動インクリメント--自動デクリメント+文字列連結
int i = 5210 / 1000 * 1000;--->i = 5000 ;
注:
1。整数演算が完了すると、結果は整数になる必要があります
2。整数が 0 で除算されると、コンパイルは成功し、実行時にエラーが報告されます。 --算術例外
3. 10 進数の除算 0 の結果は無限大です
4。0/0.0 の結果は NaN ---数値ではありません---数値ではありません
5。演算中に自動的に int 型に昇格します
% 剰余演算
-5%3=-2 -4%3=-1 -3%7=-3
5%-3=2 7%- 2=1 2%-8=2
- 5%-3=-2 -9%-3=0
負の数の余りについては、まず正の数の剰余演算をたどって符号を見てください。剰余記号の左側の数値の左側が負の数値である場合、結果は負の数値になります
5%1.2=0.2 6%1.3=0.8
4.3%1.4=0.1
++/--
++の場合、元の基準で1ずつ増加します
int i = 5;
int j = ++i;--->iを1増加させて値を代入しますof i to j---最初にインクリメントしてから演算します
int j = i++;--->最初に i の値 5 を取得し、i を 6 にインクリメントしてから、取得した値 5 を j に代入します---最初に演算します、次にインクリメントします
int i = 3;
int j = ++i * 2;-> j = 8;
int j = i++ * 2;->j = 6
int i = 6 ;
int j = i++ + ++i;->i = 8; j = 14;
int j = ++i + i++;->i = 14
バイト b = 5;
b++;---JVM は最下位レベルの結果に対して強制型変換を実行し、結果をバイト型に変換します
char c = 'a';
System.out。 println(c + 4);--can
char c2 = 'd';
System.out.println(c + c2);---操作を実行する前に int 型に昇格します
+ 文字列連結操作
"a" + "b"---> "ab"
"a" + 3---> "a3"
"a" + "atrue"
2 + 4 + "f"-> "6f"
"f" + 2 + 4-> "f24"
= += -= *= /= %= &= |= ^= >= >>>= ~=
i = 3;
; i -= 2;-> i = i - 2;-> i = 3;
int j;
j += 4;---いいえ
i = 5;
i + = i -= i *= 5;--> i = -15;
i = 5 + ( 5 - (5 * 5)) ;
i += i -= i *= ++i;- -->i = -20;
i += i*= i-= (i++ + --i) ;--->i = -20;
i = 5 + ( 5 * (5 - (5 + 5)));
バイト b = 5;
b += 3;--- はい
バイト b = 125;
b += 3;--- はい--- - 128
比較/関係演算子
==Equal!=等しくない=
3 == 4;-> false
instanceof---オブジェクトとクラス間の関係を決定します-- データ型の参照にのみ使用できます
String s = "abd";
System.out.println (s instanceof String);---true
System.out.println(“def”instanceof String) ;---true
論理演算子
は、論理値
&AND|OR! NOT^ XOR && 短絡 false !false=true
true=false true^false=true false^ を演算するために使用されます。 true=true false^false=false
&&は、前の式の値がfalseなら式全体の値が決まる 値がfalseの場合、&&以降の演算は行われなくなる
三項/三項/条件演算子
論理値? 式 1: 式 2
論理値が true の場合は式 1 を実行、それ以外の場合は式 2 を実行
int i = 5, j = 7;
i > j ? System.out.println(i): System.out.println(j);---いいえ!三項演算子の演算が完了した後には結果が存在する必要があります。
double d = i > j ? i * 2.5 : j;---2 つの式の戻り値の型は一貫しているか互換性があります
コンソールからデータを取得します
import java.util.Scanner;クラスの上のパッケージの下に書かれています
Scanner s = new Scanner(System.in);
int i = s.nextInt();
double d = s.nextDouble();
String str = s.nextLine( );
文字列 str2 = s.next();
以上がJava の基礎の説明 - 基本的なデータ型と操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Javaはプラットフォーム固有の問題をどのように軽減しますか? Javaは、JVMおよび標準ライブラリを通じてプラットフォームに依存します。 1)bytecodeとjvmを使用して、オペレーティングシステムの違いを抽象化します。 2)標準のライブラリは、パスクラス処理ファイルパス、CHARSETクラス処理文字エンコードなど、クロスプラットフォームAPIを提供します。 3)最適化とデバッグのために、実際のプロジェクトで構成ファイルとマルチプラットフォームテストを使用します。

java'splatformentencentenhancesmicroservicesecturectureby byofferingdeploymentflexability、一貫性、スケーラビリティ、およびポート可能性。1)展開の展開の展開は、AllosmicRoserviThajvm.2)deploymentflexibility lowsmicroserviceSjvm.2)一貫性のあるAcrossServicessimplisimpligiessdevelisementand

Graalvmは、Javaのプラットフォームの独立性を3つの方法で強化します。1。言語間の相互運用性、Javaが他の言語とシームレスに相互運用できるようにします。 2。独立したランタイム環境、graalvmnativeimageを介してJavaプログラムをローカル実行可能ファイルにコンパイルします。 3.パフォーマンスの最適化、Graalコンパイラは、Javaプログラムのパフォーマンスと一貫性を改善するための効率的なマシンコードを生成します。

aeffectivelytestjavaapplicationsforformcompativity、followthesesteps:1)setupautomatedacrossmultipleplatformsusingsingcitoolslikejenkinsorgithubactions.2)divivisonmanualtingonrealhardwaretocatissusuessususus.3)

Javaコンパイラは、ソースコードをプラットフォームに依存しないバイトコードに変換することにより、Javaのプラットフォームの独立性を実現し、JVMがインストールされた任意のオペレーティングシステムでJavaプログラムを実行できるようにします。

bytecodeachievesplatformedentencedexedectedbyavirtualMachine(VM)、forexApplev.forexample、javabytecodecanrunrunrunnonydevicewithajvm、writeonce、runany "ferfuctionality.whilebytecodeOffersenhの可能性を承認します

Javaは100%のプラットフォームの独立性を達成することはできませんが、そのプラットフォームの独立性はJVMとBytecodeを通じて実装され、コードが異なるプラットフォームで実行されるようにします。具体的な実装には、次のものが含まれます。1。bytecodeへのコンパイル。 2。JVMの解釈と実行。 3。標準ライブラリの一貫性。ただし、JVMの実装の違い、オペレーティングシステムとハードウェアの違い、およびサードパーティライブラリの互換性は、プラットフォームの独立性に影響を与える可能性があります。

Javaは、「Write onse、Averywhere」を通じてプラットフォームの独立性を実現し、コードの保守性を向上させます。 2。メンテナンスコストが低いため、1つの変更のみが必要です。 3.チームのコラボレーション効率が高く、知識共有に便利です。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









