検索
ホームページJava&#&チュートリアルJava の基礎の説明 - 基本的なデータ型と操作

エンコーディング

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

tru​​e=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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Javaアプリケーションでプラットフォーム固有の問題を緩和するためのいくつかの戦略は何ですか?Javaアプリケーションでプラットフォーム固有の問題を緩和するためのいくつかの戦略は何ですか?May 01, 2025 am 12:20 AM

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

Javaのプラットフォームの独立性とマイクロサービスアーキテクチャの関係は何ですか?Javaのプラットフォームの独立性とマイクロサービスアーキテクチャの関係は何ですか?May 01, 2025 am 12:16 AM

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

GraalvmはJavaのプラットフォーム独立目標とどのように関係していますか?GraalvmはJavaのプラットフォーム独立目標とどのように関係していますか?May 01, 2025 am 12:14 AM

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

プラットフォームの互換性についてJavaアプリケーションをどのようにテストしますか?プラットフォームの互換性についてJavaアプリケーションをどのようにテストしますか?May 01, 2025 am 12:09 AM

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

プラットフォームの独立性を達成する上でのJavaコンパイラ(Javac)の役割は何ですか?プラットフォームの独立性を達成する上でのJavaコンパイラ(Javac)の役割は何ですか?May 01, 2025 am 12:06 AM

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

プラットフォームの独立性のためにネイティブコードを介してbytecodeを使用することの利点は何ですか?プラットフォームの独立性のためにネイティブコードを介してbytecodeを使用することの利点は何ですか?Apr 30, 2025 am 12:24 AM

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

Javaは本当に100%プラットフォームに依存していませんか?なぜまたはなぜですか?Javaは本当に100%プラットフォームに依存していませんか?なぜまたはなぜですか?Apr 30, 2025 am 12:18 AM

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

Javaのプラットフォーム独立性は、コードの保守性をどのようにサポートしますか?Javaのプラットフォーム独立性は、コードの保守性をどのようにサポートしますか?Apr 30, 2025 am 12:15 AM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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