条件付き構造。 JavaServerPage。 JSPページの構文
JSPページには、組み合わせた構文があります。HTML仕様で定義されている標準構文と仕様で定義されているJSP構文の組み合わせです。 Javaサーバーページ。 JSP構文標準のHTMLタグとJSPタグで構成されるJSPページを作成するためのルールを定義します。
JSPページには、HTMLタグに加えて、次のカテゴリのJSPタグが含まれています。
JSPディレクティブ
JSPディレクティブサーバーに送信された特定の要求に関するグローバル情報を提供し、翻訳段階で必要な情報を提供します。 ディレクティブは常に他のすべてのタグの前にJSPページの先頭に配置されるため、 パーサー(パーサー)JSPは、テキストを解析するときに、最初にグローバル命令を強調表示しました。 したがって、JSPエンジン(JSPランタイム)はコードを解析し、JSPからサーブレットを作成します。 指令 JSPコンテナへのメッセージです。
構文 JSPディレクティブ次のように:
<%@ директива имяАтрибута="значение" %>
タスクの構文 ディレクティブ XMLの場合:
JSPディレクティブ複数の属性を持つことができます。 この場合、ディレクティブは属性ごとに繰り返すことができます。 同時に、カップル "属性名=値"スペースを区切り文字として使用して、1つのディレクティブの下に配置できます。
ディレクティブには次の3つのタイプがあります。
- ページ(ページ)
- taglib(タグライブラリ)
- インクルード(インクルード)
JSPページディレクティブ
JSPページディレクティブトランスレータに影響を与えるJSPページのプロパティを定義します。 ディレクティブ内の属性の順序 ページ重要ではない。 構文に違反したり、認識されない属性が存在したりすると、翻訳エラーが発生します。 ディレクティブの例 ページ次のコードが役立ちます。
<%@ page buffer="none" isThreadSafe="yes" errorPage="/error.jsp" %>
pageディレクティブはそれを宣言します このページ JSPはバッファリングを使用しないため、指定されたものに同時にアクセスできます。 JSPページ多くのユーザー、そしてその名前のエラーページ error.jsp.
JSPページディレクティブページに関する情報が含まれる場合があります。
<%@ page info = "JSP Sample 1" %>
可能なディレクティブ属性のリスト ページ表に示されています。
属性名 | 意味 | 説明 |
---|---|---|
言語 | ライン | 翻訳されたコードの本体を含む、JSPファイルのスクリプトレット、式、または任意のインクルードファイルで使用される言語を決定します。 デフォルトは「java」です |
拡張します | ライン | 生成されたサーブレットのスーパークラスを指定します。 サーバーがすでにスーパークラスを使用している可能性があるため、この属性は細心の注意を払って使用する必要があります。 |
輸入 | ライン | インポートするパッケージの定義。例: <%@ page import="java.util.* %> |
セッション | 正しいか間違っているか | 意味 NS(デフォルト)は、事前定義された変数を示します セッション(タイプHttpSession)は、既存のセッションにバインドする必要があります。バインドしない場合は、新しいセッションが作成されてバインドされます。 意味 NSセッションが使用されないことを決定し、変数へのアクセスを試みます セッション JSPページをサーブレットに変換するときにエラーが発生します |
バッファ | なし、またはバッファのサイズ(kB)。 | JspWriter出力のバッファサイズを設定します。 デフォルト値はサーバー設定によって異なり、8kBを超えてはなりません。 値が なし出力はオブジェクトに直接送られます ServletResponse |
autoFlush | 正しいか間違っているか | バッファがオーバーフローしたとき、またはエラーが発生したときに、バッファを自動的に空にするかどうかを決定します。 デフォルト値 NS |
isThreadSafe | 正しいか間違っているか | 意味 NS(デフォルト)サーブレットの通常の実行モードを指定します。作成者がそのインスタンスの変数へのアクセスを同期していると仮定して、単一のサーブレットインスタンスを使用して複数のリクエストが同時に処理されます。 偽の値は、サーブレットが継承する必要があることを示します SingleThreadModel(シングルスレッドモデル)シーケンシャルリクエストまたはコンカレントリクエストがサーブレットの個別のインスタンスによって処理される場合 |
情報 | ライン | メソッドを使用してアクセスされるJSPページに関する情報の文字列を定義します サーブレット.getServletInfo() |
errorPage | ライン | 属性値は、例外の原因となる可能性のあるエラーの場合に表示されるページのURLです。 |
isErrorPage | 正しいか間違っているか | このページを使用して他のJSPページのエラーを処理できるかどうかを通知します。 デフォルトは NS |
contentType | ライン | JSPページと応答のエンコーディング、およびJSP応答のMIMEタイプを指定します。 コンテンツタイプのデフォルト値は テキスト/ html、エンコーディング- ISO-8859-1。例えば: contentType = "text / html; charset = ISO-8859-1" |
pageEncoding | ライン | JSPページの文字エンコードを決定します。 デフォルトは 文字コード属性から contentTypeそこで定義されている場合。 値が 文字コード属性内 contentType未定義、値 pageEncoding等しく設定されている ISO-8859-1 |
JSPtaglibディレクティブ
JSPディレクティブ taglib指定されたJSPページがタグライブラリを使用することを宣言し、URIで一意に識別し、ライブラリの操作に使用できるタグプレフィックスをマップします。 コンテナがタグライブラリを見つけられない場合、致命的な変換エラーが発生します。
指令 taglib構文は次のとおりです。
<%@ taglib uri="含まれているタグライブラリのURI"プレフィックス=" プレフィックス名" %>
プレフィックス " プレフィックス名「ライブラリを参照するときに使用されます。タグライブラリの使用例 mytags:
<%@ taglib uri="http://www.taglib/mytags" prefix="customs" %>
. . .
この例では、タグライブラリにURIがあります "http://www.taglib/mytags"、文字列はプレフィックスとして割り当てられます 税関これは、タグライブラリの要素にアクセスするときにJSPページで使用されます。
JSPincludeディレクティブ
JSPディレクティブ 含む JSPページをサーブレットに変換するときにテキストまたはコードを挿入できます。 ディレクティブ構文 含むこのように見えます:
<%@ include file="含めるページの相対URI" %>
指令 含む 1つの属性があります- ファイル..。 指定されたリソースのテキストがJSPファイルに含まれます。 このディレクティブを使用して、すべてのJSPページに標準の著作権ヘッダーを配置できます。
<%@ include file="copyright.html" %>
JSPコンテナはインクルードファイルにアクセスします。 インクルードファイルが変更された場合、コンテナはJSPページを再コンパイルできます。 指令 含む JSPページなどのリソースを静的オブジェクトとして扱います。
指定されたURIは通常、リンクが配置されているページのJSPに関連して解釈されますが、他の相対URIと同様に、先頭に追加することで、WEBサーバーのホームディレクトリに対する対象のリソースの位置をシステムに伝えることができます。 「/」文字を含むURI。 インクルードファイルのコンテンツはプレーンJSPテキストとして扱われるため、静的HTML、スクリプト要素、ディレクティブ、アクションなどの要素を含めることができます。
多くのサイトでは、すべてのページで小さなナビゲーションバーを使用しています。 HTMLフレームの使用には問題があるため、このタスクは、ページの上または左半分に小さなテーブルを配置することで解決されることがよくあります。このテーブルのHTMLコードは、サイトのページごとに何度も繰り返されます。 指令 含む-これは、この問題を解決するための最も自然な方法であり、開発者をHTMLを個別のファイルにコピーするという悪夢から救います。
指令以来 含むページの翻訳中にファイルが含まれ、ナビゲーションバーに変更を加えた後、それを使用してすべてのJSPページを再翻訳する必要があります。 添付ファイルが頻繁に変更される場合は、アクションを使用できます jsp:含めるこれは、JSPページにアクセスするときにファイルを接続します。
JSP宣言ディレクティブ
JSPディレクティブ 宣言スクリプト言語で変数とメソッドを定義することを目的としています。これらは後でJSPページで使用されます。 構文 宣言このように見えます:
<%! код Java %>
宣言は宣言ブロックにあり、JSPページの式ブロックで呼び出されます。 宣言ブロックのコードは通常Javaで記述されていますが、アプリケーションサーバーは他のスクリプトの構文を使用できます。 広告 JavaBeansコンポーネントのプロパティから取得した動的データを操作するときに、機能を追加するために使用されることがあります。 の例 広告表に示されています。
宣言関数の値を計算するための以下のコードのように、複数の行を含めることができます 事実(int n)、nが2未満でnの場合、これは1に等しくなります。 nの正の値で;
<%! public static int fact (int n) { if (n <= 1) return 1; else return n * fact (n - 1); } %>
宣言標準出力への出力を生成しません アウト..。 宣言で宣言された変数とメソッドは初期化され、スクリプトレットなどで使用できるようになります 広告 JSPページが初期化されたとき。
スクリプトレットスクリプトレット
スクリプトレットディレクティブで定義されたスクリプト言語で記述されたさまざまなコードを含める 言語..。 コードスニペットは、言語の構文構造に準拠している必要があります スクリプトレットつまり、通常はJava言語の構文です。 スクリプトレット次の構文があります。
<% текст скриптлета %>
同等の構文 スクリプトレット XMLの場合:
本文中の場合 スクリプトレット文字のシーケンス%>は、タグとしてではなく、文字の組み合わせとして正確に使用する必要があります-終了記号 スクリプトレット、シーケンス%>の代わりに、次の文字の組み合わせ%\>を使用します。
JSP仕様は、単純でわかりやすい例を提供します スクリプトレットこれにより、JSPページのコンテンツが1日を通して動的に変更されます。
<% if (Calendar.getInstance ().get (Calendar.AM_PM) == Calendar.AM) {%>おはようございます<% } else { %>こんにちは<% } %>
内部のコードは注意する必要があります スクリプトレット書かれたとおりに挿入され、すべての静的HTMLテキスト(テンプレートテキスト)が前後に挿入されます スクリプトレット演算子を使用して変換 印刷..。 これは、スクリプトレットに完成したJavaチャンクを含める必要がなく、開いたままのチャンクが外部の静的HTMLに影響を与える可能性があることを意味します。 スクリプトレット.
スクリプト式と同じ自動定義変数にアクセスできます。 したがって、たとえば、ページに情報を表示する必要がある場合は、変数を使用する必要があります アウト.
<% String queryData = request.getQueryString (); out.println ("Дополнительные данные запроса: " + queryData); %>
式式
式 式 JSPページで、言語宣言で指定されたスクリプト言語(通常はJava)で記述された実行可能式。 結果 式必要なタイプの文字列であるJSPは、標準出力ストリームに送信されます アウト現在のオブジェクトを使用する JspWriter..。 結果が 式キャストできません 弦、翻訳段階で問題が検出された場合に翻訳エラーが発生するか、例外がスローされます ClassCastExceptionリクエストの実行中に不整合が検出された場合。 表現構文は次のとおりです。
<%= текст выражения %>
JSPの代替構文 式 XMLを使用する場合:
実行順序 式 JSPページで左から右へ。 もしも 表現複数のランタイム属性に表示され、そのタグで左から右に実行されます。 表現特定のスクリプト(通常はJava)の完全な式である必要があります。
式 HTTPプロトコルの実行中に実行されます。 式の値は文字列に変換され、JSPファイルの適切な位置に含まれます。
式通常、JSPページ宣言ブロックで定義された、またはJSPからアクセス可能なJavaBeansから派生した変数とメソッドの文字列表現を計算して表示するために使用されます。 次のコード 式ページリクエストの日付と時刻を表示するのに役立ちます。
現在の時刻:<%= new java.util.Date () %>
単純化するために 式使用できる事前定義された変数がいくつかあります。 最も一般的に使用される変数は次のとおりです。
- リクエスト、HttpServletRequest;
- 応答、HttpServletResponse;
- セッション、HttpSession- リクエストに関連付けられている場合。
- アウト、PrintWriter- クライアントにデータを送信するためのJspWriterタイプのバッファバージョン。
多くのプログラミング言語の基本的な要素の1つは 条件付き構文..。 これらの構造により、特定の条件に応じて、プログラムの作業をいずれかのパスに沿って指示することができます。
Java言語は、次の条件を使用します:if..elseおよびswitch..case
if / else構築
if / else式は特定の条件の真偽をチェックし、テストの結果に応じて、特定のコードを実行します。
Int num1 = 6; int num2 = 4; if(num1> num2)(System.out.println( "最初の数値が2番目の数値より大きい");)
ifキーワードの後に条件が配置されます。 そして、この条件が満たされた場合、中括弧がトリガーされた後、ifブロックにさらに配置されるコード。 2つの数値を比較する操作が条件として機能します。
この場合、最初の数値は2番目の数値よりも大きいため、式num1> num2はtrueであり、trueを返します。 その結果、制御は中括弧の後にコードのブロックに渡され、そこに含まれる命令、具体的にはSystem.out.printlnメソッド(「最初の数値が2番目の数値よりも大きい」)の実行を開始します。 ..。 最初の数値が2番目の数値以下の場合、ifブロックのステートメントは実行されません。
しかし、条件が満たされない場合に何らかのアクションを実行したい場合はどうなりますか? この場合、elseブロックを追加できます。
Int num1 = 6; int num2 = 4; if(num1> num2)(System.out.println( "最初の数値が2番目の数値よりも大きい");)else(System.out.println( "最初の数値が2番目の数値よりも小さい");
Int num1 = 6; int num2 = 8; if(num1> num2)(System.out.println( "最初の数値が2番目の数値より大きい");)else if(num1 論理演算子を使用して、一度に複数の条件を組み合わせることもできます。 Int num1 = 8; int num2 = 6; if(num1> num2 && num1> 7)(System.out.println( "最初の数値が2番目の数値より大きく、7より大きい");) ここで、num1> num2がtrueであると同時に、num1> 7がtrueの場合、ifブロックが実行されます。 設計 スイッチケース複数の条件を一度に処理できるため、if / else構文に似ています。 Int num = 8; switch(num)(case 1:System.out.println( "number is 1"); break; case 8:System.out.println( "number is 8"); num ++; break; case 9:System。 out .println( "number is 9"); break; default:System.out.println( "number is not 1、8、9");) 比較する式は、括弧内のswitchキーワードの後に続きます。 この式の値は、case演算子の後の値と順次比較されます。 そして、一致するものが見つかった場合、特定のケースブロックが実行されます。 他のブロックの実行を回避するために、breakステートメントはcaseブロックの最後に配置されます。 たとえば、次の場合にbreakステートメントを削除するとします。 ケース8:System.out.println( "数値は8"); num ++; ケース9:System.out.println( "数値は9"); 壊す; 次に、変数numが8に等しいため、case 8ブロックが実行されますが、このブロックではnum変数が1増加するため、breakステートメントがないため、case9ブロックが実行を開始します。 一致するものが見つからない場合の状況も処理する場合は、上記の例のように、デフォルトのブロックを追加できます。 ただし、デフォルトのブロックはオプションです。 JDK 7以降、switch..case式では、プリミティブ型に加えて、次の文字列を使用することもできます。 パッケージfirstapp; java.util.Scannerをインポートします。 public class FirstApp(public static void main(String args)(Scanner in = new Scanner(System.in); System.out.println( "Enter Y or N:"); String input = in.nextLine(); switch( input)(case "Y":System.out.println( "You press the letter Y"); break; case "N":System.out.println( "You press the letter N"); break; default:System .out .println( "不明な文字を押しました");))) 三項演算の構文は次のとおりです。[第1オペランドは条件です]? [第2オペランド]:[第3オペランド]。 したがって、この操作には3つのオペランドが同時に含まれます。 条件に応じて、3項演算は2番目または3番目のオペランドを返します。条件が真の場合、2番目のオペランドが返されます。 条件がfalseの場合、3番目。 例えば: Int x = 3; int y = 2; int z = x ここで、三項演算の結果は変数zです。 まず、条件x Javaプログラムを考えるとき、それはお互いのメソッドを呼び出すことによって相互作用するオブジェクトのコレクションとして定義することができます。 簡単に理解しましょう Java構文クラス、オブジェクト、メソッド、インスタンス変数はどういう意味ですか。 オブジェクト-オブジェクトには状態と動作があります。 例:犬は状態(色、名前、行動)を持つことができます-うなずく、走る、吠える、食べる。 オブジェクトはクラスのインスタンスです。 クラス-オブジェクトの動作を説明するテンプレートとして定義できます。 方法-主に動作です。 クラスには複数のメソッドを含めることができます。 論理的に記録されたデータが操作および実行されるのはメソッド内です。 インスタンス変数-各オブジェクトには、独自のインスタンス変数のセットがあります。 オブジェクトの状態は、これらのインスタンス変数に割り当てられた値によって生成されます。 「Helloworld!」という単語を表示する簡単なコードを見てみましょう。1つは、Java構文です。 public class MyFirstJavaProgram(public static void main(String args)(/ *これは私の最初のJavaプログラムです。実行すると "Hello world!"が表示されます* / System.out.println( "Hello world!"); //メッセージを表示します画面上)) 構文の次の点を知って覚えておくことが非常に重要です。 識別子-クラス、変数、およびメソッドに使用される名前。 すべてのJavaコンポーネントには名前が必要です。 Java構文には、識別子について覚えておくべきいくつかの規則があります。 それらは次のとおりです。 列挙はJava5.0で導入されました。 それらは、いくつかの事前定義された値の1つだけを選択するように変数を制約します。 この列挙されたリストの値は呼び出されます 転送. Javaで列挙型を使用することにより、コード内のエラーの数を減らすことができます。 たとえば、店舗でフレッシュジュースの注文を検討している場合、ジュースパックのサイズを小、中、大に制限できます。 これにより、Javaで列挙型を使用できるようになり、小、中、大以外のパッケージサイズを注文する人がいなくなります。 上記の例の結果の出力: サイズ:ミディアム ノート: Javaでは、列挙型は独立して宣言することも、クラス内で宣言することもできます。 メソッド、変数、コンストラクターも列挙内で定義できます。 他の言語と同様に、Javaでは、修飾子を使用してクラスやメソッドなどを変更できます。 Javaの修飾子は、次の2つのカテゴリに分類されます。 次のセクションでは、クラス修飾子、メソッド修飾子などについて詳しく見ていきます。 Javaでは、配列は同じタイプの複数の変数を格納するオブジェクトです。 ただし、配列自体はオブジェクトです。 後の章で、配列を作成してデータを設定する方法を見ていきます。 Javaマシンの起動時にmain()メソッドが呼び出されるクラスの名前と必ず一致する必要があります。 Javaソースファイルは、1つ以上のクラス定義を含むテキストファイルです。 Javaトランスレータは まず、この章では、正規の「Hello World」プログラムを作成、翻訳、および実行します。 その後、Javaトランスレータによって認識されるすべての重要な語彙要素(スペース、コメント、キーワード、識別子、リテラル、演算子、および区切り文字)を確認します。 この章の終わりまでに、優れたJavaプログラムを自分でナビゲートするのに十分な情報が得られます。 これが最初のJavaプログラムです クラスHelloWorld( システム。 アウト。 println( "Hello World"); この本に記載されている例を使用するには、Sun Microsystemsからネットワークを経由して、Javaアプリケーションを開発するためのパッケージであるJava Developers Kitをインストールする必要があります( Java言語では、すべてのプログラムコードが名前付きクラスに含まれている必要があります。 上記のサンプルテキストは、HelloWorld.javaファイルに書き込む必要があります。 ファイル名の大文字が、含まれているクラスの名前と同じであることを必ず確認してください。 この例を翻訳するには、Javaトランスレータであるjavacを起動して、ソーステキストをパラメータとしてファイル名を指定する必要があります。 この例では、トランスレータはプロセッサに依存しないバイトコードを使用してHelloWorld.classファイルを作成します。 結果のコードを実行するには、Javaランタイム環境(この場合はJavaプログラム)が必要です。この環境に、実行用の新しいクラスをロードする必要があります。 このクラスが含まれているファイルの名前ではなく、クラスの名前が指定されていることを強調します。 ほとんど行われていませんが、インストールされたJavaトランスレータとランタイムが機能することを確認しました。 ステップバイステップ クラスHelloWorld( この行は予約語を使用しています public static void main(String args)( これは、一見、過度に複雑な例の行は、Java言語の開発に固有の重要な要件の結果です。 ポイントは この行を別々のトークンに分割すると、すぐにキーワードに出くわします 次のキーワードは 多くの場合、あるタイプまたは別のタイプの値を返すメソッドが必要になります。たとえば、 最後に、メソッド名を取得します メソッドに渡す必要のあるすべてのパラメーターは、「;」で区切られた項目のリストとして、括弧のペア内で指定されます。 (セミコロン)。 パラメータリストの各項目は、スペースで区切られたタイプと識別子で構成されています。 メソッドにパラメーターがない場合でも、名前の後にいくつかの括弧を付ける必要があります。 私たちが今議論している例では、方法 システム。 アウト。 prlntln( "Hello World!"); この行はメソッドを実行します 4行目の閉じ中括弧は、メソッド宣言を終了します。 語彙の基本 最小限のJavaクラスについて詳しく説明したので、戻ってこの言語の構文の一般的な側面を見てみましょう。 のためのプログラム コメント(1) コメントはプログラムの実行可能コードにはまったく影響しませんが、 a = 42; // もしも より詳細な説明については、コメントのテキストを記号/ *で開始し、記号* /で終了する、複数行に配置されたコメントを使用できます。この場合、これらの記号のペア間のすべてのテキストはコメントおよび翻訳者として扱われます。それを無視します。 *このコードはやや複雑です... *説明しようと思います: 3番目の特別な形式のコメントは、サービスプログラム用です。 *このクラスは素晴らしいことをすることができます。 私たちは誰にでもアドバイスします *さらに完璧なクラスを書きたいので、 *基本。 * @seeJava。 アプレット。 アプレット *©著者パトリックノートン クラスCoolAppletはアプレットを拡張します(/ ** *このメソッドには2つのパラメーターがあります。 * / void put(文字列キー、オブジェクト値)( 予約キーワード 予約キーワードは、ある言語で使用される特別な識別子です。 表2 Javaの予約語 言葉に注意してください 表3 予約済みのメソッド名 識別子 識別子は、クラス、メソッド、および変数に名前を付けるために使用されます。 小文字と大文字、数字、記号_(アンダースコア)と$(ドル)の任意のシーケンスを識別子として使用できます。 識別子は数字で始めないでください。これにより、トランスレータは、以下で説明する数値リテラル定数と識別子を混同しないようにします。 リテラル の定数 整数リテラル 整数は、通常のプログラムで最も一般的に使用される型です。 1、2、3、42などの整数値は、整数リテラルです。 この例では、10進数、つまり基数10の数値が示されています。これは、コンピューターの世界以外で日常的に使用されている数値です。 10進数に加えて、基数8および16の数値(8進数および16進数)も整数リテラルとして使用できます。 Javaは、先行ゼロによって8進数を認識します。 通常の10進数はゼロから始めることができないため、プログラムで外部的に有効な数値09を使用すると、9が0の範囲にないため、変換エラーメッセージが表示されます。 整数リテラルはタイプの値です 浮動小数点リテラル 浮動小数点数は、小数部分を持つ10進値を表します。 それらは、通常の形式または指数形式のいずれかで記述できます。 通常の形式では、数値は、小数点以下の桁数とそれに続く小数部の小数点以下の桁で構成されます。 たとえば、2.0、3.14159、および6667は、標準形式で記述された有効な浮動小数点値です。 指数形式では、リストされた要素の後に10進数の順序が追加で示されます。 順序は、文字EまたはEに続く正または負の10進数によって決定されます。指数形式の数値の例は、6.022e23、314159E-05、2e +100です。 V ブールリテラル ブール変数は2つの値しか持つことができません- 文字リテラル の記号 表3。 制御シーケンス 説明 8進数の記号 16進文字 アポストロフィ バックスラッシュ キャリッジリターン ラインフィード、改行 ページの翻訳 水平タブ 一歩戻る 文字列リテラル の文字列リテラル 演算子 演算子は、1つまたは2つの引数に対して何らかのアクションを実行し、結果を生成するものです。 構文的には、演算子はほとんどの場合、識別子とリテラルの間に配置されます。 演算子については、 表3。 セパレーター 構文的に正しいJavaプログラムに表示される可能性のある文字のいくつかのグループだけがまだ名前が付けられていません。 これらは、コードのルックアンドフィールに影響を与える単純な区切り文字です。 名前 それらは何のために使用されますか? 丸括弧 メソッドの宣言と呼び出しでパラメーターのリストを割り当てます。また、式での操作の優先順位の設定、プログラム実行制御ステートメントでの式の強調表示、および型キャスト演算子でも使用されます。 中かっこ 角括弧 配列宣言で、および個々の配列要素にアクセスするときに使用されます。 セミコロン 演算子を区切ります。 変数宣言内の識別子を区切ります。ループヘッダー内のステートメントをリンクするためにも使用されます パッケージ名をサブパッケージおよびクラス名から分離します。変数またはメソッド名を変数名から分離するためにも使用されます。 変数 変数は、Javaプログラムの主なストレージ要素です。 変数は、識別子、タイプ、およびスコープの組み合わせによって特徴付けられます。 変数を宣言した場所に応じて、たとえばforループ内のコードに対してローカルにすることも、このクラスのすべてのメソッドにアクセスできるインスタンス変数にすることもできます。 ローカルスコープは中括弧を使用して宣言されます。 変数宣言 変数を宣言する基本的な形式は次のとおりです。 タイプ識別子[=値] [、識別子[=値 タイプは、組み込みタイプのいずれかです。つまり、 以下の例では、直角三角形の辺に対応する3つの変数を作成してから クラス変数( public static void main(String args)( System.out.println( "c =" + c); あなたの最初のステップ 私たちはすでに多くのことを達成しています:最初に私たちはその言語で小さなプログラムを書きましたスイッチコンストラクト
三項演算
最初のプログラムと言語の構文に精通している
C:> javac MyFirstJavaProgram.java C:> java MyFirstJavaProgram Hello world! Java構文の基本
Java識別子
列挙
Java列挙型コード例
class FreshJuice(enum FreshJuiceSize(SMALL、MEDIUM、LARGE)FreshJuiceSize size;)public class FreshJuiceTest(public static void main(String args)(FreshJuicejuice = new FreshJuice(); juice.size = FreshJuice.FreshJuiceSize.MEDIUM; System.out .println( "サイズ:" + Juice.size);)) 変数タイプ
修飾子
配列
int a; ...変数に対するアクションa ...; もし) (...)
Java構文に関して正しくなく、コンパイルされません。
さらに、サポートされています 限定タイプ、パラメータクラスのスーパークラスを指定します。 たとえば、「ジェネリッククラス」クラスCLASS_NAMEを宣言します。