検索

初心者向けJava学習メモ(1)

Dec 20, 2016 pm 01:44 PM
java


私は過去に時々本を読んでいましたが、そのほとんどは表面をなぞっただけで、Java を知っているとはあえて言えませんでした。新しいテクノロジーとの接触は、初恋と同じで、初めてのことですが、違いは、後者は通常、非常に甘く始まりますが、非常に痛みを伴う終わりを迎えるのに対し、前者は、最初は非常に痛みを伴うことが多いですが、次第に面白くなるということです。時間は経過し、今では最も単純な Helloworld を実行することさえできず、常にオンラインにしないといけません。確認して検索するのはよくないので、いつでも使えるようにすぐに検索して保存しました

通常、JDK をインストールした後は、その前に設定する必要があります。正しくコンパイルして実行できます
(jdk バージョンが 1.4.0 であると仮定します)
1. jdk1.4.0 - 自分のマシンのドライブ文字のルート ディレクトリにインストールします。たとえば、C にインストールできます。 jk。
***(以下に表示されるc:jdkはJDKをインストールしたディレクトリに変更されます)***
2. 実行環境がwin98の場合は、Cドライブのルートディレクトリに以下を追加します。 autoexec.bat ファイル 2 つのステートメント:
set Path=%PATH%;c:jdk in
set CLASSPATH=.;c:jdklibdt.jar;c:jdklib ools.jar
保存後、マシンを再起動し、jdk1 のインストールを完了します.4 インストールします。
3. 実行環境が win2000 の場合は、「コントロール パネル」の「システム」の「詳細」オプションの「環境変数」に 2 つのユーザー変数を追加する必要があります。
ユーザー変数の 1 つの名前は「path」、値は「.;d:j2sdk1.4.0_01 in」です。
もう 1 つのユーザー変数の名前は「CLASSPATH」、値は「.;d」です。 j2sdk1.4.0_01libdt .jar;d:j2sdk1.4.0_01lib ools.jar」を選択し、「OK」をクリックすると、jdk1.4.0のインストールが完了します。

これの意味としては、Javaを実行させるということだと思います。システムは単語をコンパイルします コード (.java) を編集するときにどのようなサポートが必要ですか? これをどこに配置するかを指示しないと、愚かになります?!

ついに画面に Hello world が表示されました。これは私がこの 1 年で書いた最初のプログラムです。再びプログラミングの道に足を踏み入れると、自分の居場所が見つからなくなったように感じます。 C++ と指向性に関するいくつかのこと。オブジェクトの表面を忘れたわけではないので、少し苦労して JDK 環境に慣れると、次のことははるかに扱いやすくなり、より安心できるようになります。文字列変数を直接定義する String クラスは、C ポインタを使用するよりも面倒ではありません。私は Object Pascal に慣れています * * に戻ると、配列の定義が本当におかしくなりそうです。 C や C++ とは少し異なりますが、はっきりとは思い出せません。まず、書き留めて後で話します

int[]number=new int[5]
String[]message=new String[5] ]

変数のこの部分で説明できることは限られています。私は初心者ですが、Tan Haoqiang のように常に文法にこだわる人は単なるバカです。ほとんどの場合、美しいプログラムはそうではありません。不要な装飾はまったく必要なく、アイデアがきちんとしていればよいのです
Java プログラムのフレームワークについては、簡単な Java プログラムには次のようなフレームワークがあるようです

class PROgramName。
{
public static void main(String[] args)
{
file://プログラム本体
}

public static int othermethod()
{
file://その他のメソッド
}
}

プログラム全体は大きなクラス内にあります。このクラスの概念は、pascal と同様に、ユニット名と同じである必要があります。 Java には大文字の使用に関する非常に厳しい要件があります。このため、Java プログラムは 1 つまたは複数のメソッドで構成されています。上のコードでは、定義されたメソッドのパラメータは次のとおりです:

public は、このメンバー関数がパブリックであり、他のクラスから直接呼び出すことができることを意味します

static は、メインのメンバー関数が ProgramName クラスにあることを意味します すべてのオブジェクトの中で一意であり、Java は永続的な割り当てを行いますそのための保管スペース

(1月17日) Staticに関しては、もう少し拡張したいと思います。場合によっては、クラスを作成し、このクラスのすべてのインスタンスが変数を共有することを望みます。つまり、このクラスのすべてのオブジェクトがインスタンス変数のコピーしか持たない場合、そのような静的インスタンス変数のメモリを使用して作成することはできません。これはクラスのインスタンスに割り当てられるため、誰もがこれを使用し、再割り当てする必要がないため、Java は永続的なストレージ領域を割り当てます。
例:
class Block{
static int number=50
}
この定義の後、Block1 または Block2 に関係なく、Block クラスのすべてのインスタンスは同じ番号にアクセスします。この番号は、クラスの変数と呼ばれます。インスタンス変数 実際、静的変数はクラス変数とも呼ばれます。

(1 月 17 日) さらに詳しく見ていきます。Static で定義された静的メンバー関数または静的変数は、それらが属するクラスの名前を通じて直接呼び出すことができます。なぜなら、このクラスのすべてのオブジェクトがこの変数を使用するからです。もちろん、オブジェクトから参照する必要はありませんが、クラス名を介して参照するだけで、グローバル関数やグローバル変数をすべて静的に定義できるので便利ではないでしょうか。クラスを呼び出すと、このクラス名を通じてすべてのグローバル変数とグローバル関数に簡単にアクセスできます

(1 月 20 日) すべてのプログラムがアクセスする必要があるグローバル変数を定義するには、
を使用する必要があります。初心者がよく遭遇する問題に遭遇しました
非静的変数メインフレームは静的コンテキストから参照できません
つまり、非静的変数は静的メソッドで参照できません
なぜですか?
インスタンスが作成されていない場合でも静的メソッドを使用できることがわかっており、非静的として宣言されたメンバー変数はオブジェクトのプロパティであり、オブジェクトが存在する場合にのみ参照されるため、静的メソッドでそれを呼び出すと、オブジェクトはインスタンスを作成しません 非静的メンバー メソッドは当然違法であるため、この時点でコンパイラーはエラーを返します

簡単に言えば、静的メソッドはオブジェクトを作成せずに呼び出すことができますが、非静的メソッドはインスタンスを持たなければなりません。したがって、静的メソッドで非静的メソッドを参照することは不可能です。オブジェクトが存在しないため、コンパイラは答えを返すことができません。エラーが報告されます。

最後に、「Java で考える」の鋭い説明を見ると、この問題は非常に明確だと思います

2.6.3 static キーワード
通常、クラスを作成するときに、そのクラスのオブジェクトの外観と動作を調べます。 new を使用してそのクラスのオブジェクトを作成しない限り、実際には何も取得されません。 new が実行された後にのみ、データ ストレージ領域が正式に生成され、対応するメソッドを使用できるようになります。
しかし、2 つの特殊な状況では、上記の方法は役に立ちません。状況の 1 つは、作成されるオブジェクトの数に関係なく、またはオブジェクトがまったく作成されない場合でも、特定のデータを保持するためにのみストレージ領域を使用したい場合です。もう 1 つの状況は、このクラスのどのオブジェクトにも関連付けられていない特殊なメソッドが必要な場合です。つまり、オブジェクトを作成しなくても呼び出せるメソッドが必要になります。これら 2 つの要件を満たすために、static キーワードを使用できます。何かが静的になると、データまたはメソッドはそのクラスのどのオブジェクト インスタンスにも関連付けられなくなります。したがって、そのクラスのオブジェクトが作成されていない場合でも、静的メソッドを呼び出したり、静的データにアクセスしたりすることができます。それまでは、非静的データやメソッドの場合、オブジェクトを作成し、そのオブジェクトを使用してデータやメソッドにアクセスする必要がありました。これは、非静的データとメソッドが操作対象となる特定のオブジェクトを認識している必要があるためです。もちろん、正式に使用する前に、静的メソッドはオブジェクトを作成する必要がないため、名前付きオブジェクトを参照せずに他のメンバーを呼び出すだけで、非静的メンバーやメソッドに直接アクセスすることはできません (非静的メンバーとメソッドを関連付ける必要があるため)特定のオブジェクトを使用して)。

おっと!さて、本題に戻りましょう

void は、メソッドによって返される値の型が空であることを意味します。特定の型を返す場合、そのメソッドは実際には関数であり、それ以外の場合は単なるプロセスです。

これらが老化のせいで歯を失ったかどうかはわかりません。粉砕したい場合は、ただ粉砕してください。専門家に質問します。なぜ jdk のコンパイル速度は遅いのでしょうか?

上記はJavaを学ぶ初心者のためのメモ(1)の内容です。その他の関連コンテンツについては、PHP中国語Webサイト(www.php.cn)に注目してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール