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

黄舟
リリース: 2016-12-20 13:44:25
オリジナル
1663 人が閲覧しました


私は過去に時々本を読んでいましたが、そのほとんどは表面をなぞっただけで、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)に注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート