検索
ホームページJava&#&チュートリアル【Java入門ノート】Java言語の基礎(2):定数、変数、データ型

定数と変数

定数と変数とは何ですか?

定数と変数は、プログラムの実行中にデータを保存するためにプログラムによって使用されるメモリ空間です。

定数:

定数の値は、実行中に変更できません。プログラムが実行中です。定数は Java で宣言されています。final キーワードを使用する必要があります。定数は 2 つの意味にも分けられます:

1 つ目の意味は、この値自体を定数と呼ぶことができます:

整数定数: 123

実数定数: 3.14

文字定数: 'a'

論理定数: true、false

文字列定数: "helloworld"

これは単なる話で、たとえば、数字の 7 については、「int 7 型の定数」と言えます

2 番目の意味は、定数とも呼ばれる不変変数を表します。これは、final を追加し、final キーワードを使用して変数を変更することを意味します。値が割り当てられている限り、変更することはできません。再度代入することはできません

// int 型の定数 i を宣言しますfinal int i = 1; //String オブジェクト型の定数 s を宣言します。final String s = "Hello";

定数は宣言時に値を割り当てる必要があることに注意してください。

変数:

は、プログラムの実行時にデータを保存するために使用されるメモリ空間であり、変数名を使用して変数にアクセスできます。

Java変数の分類:

宣言位置による:

ローカル変数

メンバー変数

メソッドのパラメータはローカル変数です。

public class Test{ int i1 = 1; //メンバー変数 public class static main(String[] args){ //args はメソッドのパラメータであるため、ローカル変数でもあります int i2 = 2;

データ型別:

基本データ型変数

参照データ型変数

public class Test{ //基本データ型変数 String s = new String();データ型}


変数を使用する手順:

ステップ 1: 変数を宣言する - 型に従ってメモリ内のスペースを開く ステップ 2: 値を割り当てる - スペースにデータを保存する ステップ 3: 変数を使用する - メモリを取得する データ

変数を使用する前に値を宣言して代入する必要があります。宣言と代入は 1 つのステップに分離することも、結合することもできます。

宣言時に値が明示的に割り当てられていない場合は、値が割り当てられます。デフォルト値。

public class Test{ int i3; //メンバー変数の場合、システムはデフォルトで値 0 を割り当てます

public static void main(String[] args){ //i1 = 1 を宣言します。 ; //値を割り当てます int i2 = 2; //値 2 を宣言するときに値を割り当てます。 System.out.PRintln(i1); Java コンソールへの変数} }

基本データ型

Java は、厳密に型指定された言語であり、いわゆる強い型とは、各変数式がコンパイル時に特定のデータ型を持つ必要があることを意味します。 Java データ型は、基本型と参照型の 2 つの主要なカテゴリに分類されます。

参照データ型は、クラス、インターフェイス、配列です。基 Java の基本データ型は、次の 4 種類 8 種類に分類されます。

基本データ型

多量型

文字型 Char

占有空間: 2バイト

ブール型boolean

占有空間:1ビット

整数型

浮動小数点型

バイトバイト

短いinteger short

integer int

long integer long

単精度long

double double

1て

2バイト

4バイト

8バイト

4バイト

8バイト

- 128~127

-32 768~ 32767

-2147483648

~2147483647

-9223372036854774808

~9223372036854774807

-3.403E38

~3.403E38

-1.79 8E308

~1.798

整数型

Java 整数定数のデフォルトは int 型です。long 型定数を宣言するには、最後に L を追加する必要があります。

Java 言語整数定数の 3 つの式

12、-15、0 など

。 8 進整数: 要件 012

など、0 から始まる 16 進数: 0x12

など、0x または 0X で始まる必要があります 注: Java では 16 進値を割り当てることができるため、10 進数の 10 や 16 進数と似ていますA 記憶力に違いはありません。

Java7以降では、Javaでバイナリメソッドを使用して整数値を割り当てることもできます。

byte b1 = 127; //正しいバイト b2 = 128; //エラー、範囲外です short = b1; //正しい、別の変数の値をこの変数に代入し、範囲を超えません int i1 = 12;/ /正しい int i2 = 012; //正しい int i3 = 0x12; //i2 は 8 進数で割り当てられているため、10 を出力します。 //i3 は 16 進数で割り当てられているため、18 を出力します。 long lo = 2147483648L; //long 型宣言には L

浮動小数点型

を追加する必要があります。 Java 浮動小数点型定数には 2 種類があります。 :

10進数形式: 3.14 314.0 .314など

科学表記形式: 3.14e2 3.14E2 3.14E-2など

Javaの浮動小数点型定数のデフォルトはdoubleです。定数をfloatとして宣言したい場合、精度の問題のため、最後に F を追加する必要があるため、等価比較には浮動小数点型を使用しないでください

float f1 = 123.4F; double double d = 3.141_592_65_36; , Java7 以降の比較を行うには、長いデータの方が読みやすく、数値の間にアンダースコアを使用できます


文字型

文字型は一重引用符で囲まれた 1 文字です

Java 文字は Unicode でエンコードされます、各文字は 2 バイトを占めるため、char c = 'u0061' のように 16 進エンコードで表現できます。

では、エスケープ文字 '' を使用して、後続の文字を char c = などの他の意味に変換できます。 'n'; newline

Java でよく使用されるエスケープ文字

【Java入門ノート】Java言語の基礎(2):定数、変数、データ型char c1 = 'you'; //正しい char c2 = 'Hello' //間違った char c3 = 'u9999'; out.println (c3); //出力 '香'


ブール型

は、true と false の 2 つの値のみを持つ、"true" と "false" の型を格納するために使用されます。

boolean b = true;


データ型変換: (低位から高位)

Byte

byte b = 127; short s = b; //shortb = (byte)s に自動的に変換されます。強制的に変換する必要があります

double 定数は変換されますfloat 定数に変換され、オーバーフローが発生した場合は変換できません

public class Test {

public static void main(String[] args) throws Exception { double d = 1222222222222222222222222222222222222222.3; float) d; //d の値が範囲を超えています。 float なので、変換は「オーバーフロー」しますが、コンパイル中にエラーは報告されません
System.out.println(f); //オーバーフローが発生するため、「Infinity」が出力されます }

}


演算時に値をint型に変換し、結果を元の型に代入する際にキャスト操作が必要となります。

byte b1 = 1;byte b2 = (byte) (b1 + 2); //数値演算は自動的に int に変換されるため、結果を計算した後、値をバイト型変数に代入するときに強制変換する必要がありますb2

整数値のデフォルトが int であるため、定数値がデフォルトの型を超える場合は、long num=30000000000L のように、デフォルトの型より大きい数値型の最初の文字を末尾に追加する必要があります。 30000000000はintに入れられないので最後に追加する必要があります 小文字のlまたは大文字のLを追加してlong型に変換します。

(データ型名) 変換する変数または値と、変換する変数または値 + 変換文字 この 2 つの変換方法は本質的に異なります。前者は、コンピュータ内の本来の型であることを意味し、強制的に変換されます。これは、最初からコンピューター内で既にこの型に変換されていたことを意味します。


long lo = (long)2;long lo2 = 2L; //これら 2 つの宣言または変換には本質的な違いがあります

以上は、【Java 入門メモ】Java 言語の基礎 (2): 定数、変数、データです。タイプ コンテンツ。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Javaがクロスプラットフォームデスクトップアプリケーションを開発するための人気のある選択肢なのはなぜですか?Javaがクロスプラットフォームデスクトップアプリケーションを開発するための人気のある選択肢なのはなぜですか?Apr 25, 2025 am 12:23 AM

javaispopularforsoss-platformdesktopapplicationsduetoits "writeonce、runaynay" philosophy.1)itusesbytecodatiTatrunnanyjvm-adipplatform.2)ライブラリリケンディンガンドジャヴァフククレアティック - ルルクリス

Javaでプラットフォーム固有のコードを作成する必要がある場合がある状況について話し合います。Javaでプラットフォーム固有のコードを作成する必要がある場合がある状況について話し合います。Apr 25, 2025 am 12:22 AM

Javaでプラットフォーム固有のコードを作成する理由には、特定のオペレーティングシステム機能へのアクセス、特定のハードウェアとの対話、パフォーマンスの最適化が含まれます。 1)JNAまたはJNIを使​​用して、Windowsレジストリにアクセスします。 2)JNIを介してLinux固有のハードウェアドライバーと対話します。 3)金属を使用して、JNIを介してMacOSのゲームパフォーマンスを最適化します。それにもかかわらず、プラットフォーム固有のコードを書くことは、コードの移植性に影響を与え、複雑さを高め、パフォーマンスのオーバーヘッドとセキュリティのリスクをもたらす可能性があります。

プラットフォームの独立性に関連するJava開発の将来の傾向は何ですか?プラットフォームの独立性に関連するJava開発の将来の傾向は何ですか?Apr 25, 2025 am 12:12 AM

Javaは、クラウドネイティブアプリケーション、マルチプラットフォームの展開、および言語間の相互運用性を通じて、プラットフォームの独立性をさらに強化します。 1)クラウドネイティブアプリケーションは、GraalvmとQuarkusを使用してスタートアップ速度を向上させます。 2)Javaは、埋め込みデバイス、モバイルデバイス、量子コンピューターに拡張されます。 3)Graalvmを通じて、JavaはPythonやJavaScriptなどの言語とシームレスに統合して、言語間の相互運用性を高めます。

Javaの強力なタイピングは、プラットフォームの独立性にどのように貢献しますか?Javaの強力なタイピングは、プラットフォームの独立性にどのように貢献しますか?Apr 25, 2025 am 12:11 AM

Javaの強力なタイプ化されたシステムは、タイプの安全性、統一タイプの変換、多型を通じてプラットフォームの独立性を保証します。 1)タイプの安全性は、コンパイル時間でタイプチェックを実行して、ランタイムエラーを回避します。 2)統一された型変換ルールは、すべてのプラットフォームで一貫しています。 3)多型とインターフェイスメカニズムにより、コードはさまざまなプラットフォームで一貫して動作します。

Javaネイティブインターフェイス(JNI)がプラットフォームの独立性をどのように妥協できるかを説明します。Javaネイティブインターフェイス(JNI)がプラットフォームの独立性をどのように妥協できるかを説明します。Apr 25, 2025 am 12:07 AM

JNIはJavaのプラットフォームの独立を破壊します。 1)JNIは特定のプラットフォームにローカルライブラリを必要とします。2)ローカルコードをターゲットプラットフォームにコンパイルおよびリンクする必要があります。3)異なるバージョンのオペレーティングシステムまたはJVMは、異なるローカルライブラリバージョンを必要とする場合があります。

Javaのプラットフォームの独立性を脅かしたり強化したりする新しいテクノロジーはありますか?Javaのプラットフォームの独立性を脅かしたり強化したりする新しいテクノロジーはありますか?Apr 24, 2025 am 12:11 AM

新しいテクノロジーは、両方の脅威をもたらし、Javaのプラットフォームの独立性を高めます。 1)Dockerなどのクラウドコンピューティングとコンテナ化テクノロジーは、Javaのプラットフォームの独立性を強化しますが、さまざまなクラウド環境に適応するために最適化する必要があります。 2)WebAssemblyは、Graalvmを介してJavaコードをコンパイルし、プラットフォームの独立性を拡張しますが、パフォーマンスのために他の言語と競合する必要があります。

JVMのさまざまな実装は何ですか、そしてそれらはすべて同じレベルのプラットフォームの独立性を提供しますか?JVMのさまざまな実装は何ですか、そしてそれらはすべて同じレベルのプラットフォームの独立性を提供しますか?Apr 24, 2025 am 12:10 AM

JVMの実装が異なると、プラットフォームの独立性が得られますが、パフォーマンスはわずかに異なります。 1。OracleHotspotとOpenJDKJVMは、プラットフォームの独立性で同様に機能しますが、OpenJDKは追加の構成が必要になる場合があります。 2。IBMJ9JVMは、特定のオペレーティングシステムで最適化を実行します。 3. Graalvmは複数の言語をサポートし、追加の構成が必要です。 4。AzulzingJVMには、特定のプラットフォーム調整が必要です。

プラットフォームの独立性は、開発コストと時間をどのように削減しますか?プラットフォームの独立性は、開発コストと時間をどのように削減しますか?Apr 24, 2025 am 12:08 AM

プラットフォームの独立性により、開発コストが削減され、複数のオペレーティングシステムで同じコードセットを実行することで開発時間を短縮します。具体的には、次のように表示されます。1。開発時間を短縮すると、1セットのコードのみが必要です。 2。メンテナンスコストを削減し、テストプロセスを統合します。 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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

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 プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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

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

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