Java プログラミング入門

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、高水準言語の概念、その利点、およびJavaの仕組みを探求します。最初のJavaプログラムを書いて実行する方法を学び、Javaプログラミングの基礎を実践的に学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/comments("Comments") java/BasicSyntaxGroup -.-> java/output("Output") java/StringManipulationGroup -.-> java/strings("Strings") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_methods("Class Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/modifiers("Modifiers") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/oop("OOP") java/SystemandDataProcessingGroup -.-> java/system_methods("System Methods") subgraph Lab Skills java/comments -.-> lab-178546{{"Java プログラミング入門"}} java/output -.-> lab-178546{{"Java プログラミング入門"}} java/strings -.-> lab-178546{{"Java プログラミング入門"}} java/classes_objects -.-> lab-178546{{"Java プログラミング入門"}} java/class_methods -.-> lab-178546{{"Java プログラミング入門"}} java/modifiers -.-> lab-178546{{"Java プログラミング入門"}} java/oop -.-> lab-178546{{"Java プログラミング入門"}} java/system_methods -.-> lab-178546{{"Java プログラミング入門"}} end

プログラミング言語の理解

プログラミング言語は、高水準言語と低水準言語に分類されます。機械語やアセンブリ言語などの低水準言語は、コンピュータによって直接実行可能です。一方、高水準言語は実行前に低水準言語に翻訳する必要があります。

高水準言語にはいくつかの利点があります。

  1. プログラミングが容易:コードが短く、読みやすく、エラーが少なくなります。
  2. 移植性:同じプログラムをほとんど修正することなく、異なるマシンで実行できます。

これらの利点のため、ほとんどのプログラムは高水準言語で書かれ、低水準言語は特定のアプリケーションに予約されています。

高水準言語を低水準言語に翻訳する方法は2つあります。

  1. 解釈:解釈器は高水準言語のコードを1行ずつ読み取り、実行します。
  2. コンパイル:コンパイラは、高水準のプログラム全体を一度に実行可能なコードに翻訳します。

Javaは、コンパイルと解釈の両方を使ったハイブリッドなアプローチを採用しています。

  1. Javaソースコードはまずバイトコードにコンパイルされます。
  2. その後、バイトコードはJava仮想マシン(JVM)によって解釈され、実行されます。

このアプローチは、解釈言語の移植性とコンパイル言語のパフォーマンスの利点を兼ね備えています。

Javaコンパイル解釈プロセス

プログラムとは何か?

プログラムは、計算を行う方法を指定する命令のシーケンスです。数学的なものであれ象徴的なものであれ、すべてのプログラムはこれらの基本操作を行う文で構成されています。

  1. 入力:さまざまなソース(キーボード、ファイルなど)からデータを受け取ります。
  2. 出力:さまざまな宛先(画面、ファイルなど)にデータを表示または送信します。
  3. 数学:算術演算を行います。
  4. テスト:条件をチェックし、適切な文を実行します。
  5. 繰り返し:操作を繰り返し実行し、多くの場合、変化を伴います。

プログラミングは、複雑なタスクを小さなサブタスクに分解し、これらの基本操作を使って実装できるまで行います。

最初のJavaプログラムを書く

最初のJavaプログラムを作成しましょう。これは従来「Hello, World!」プログラムとして知られています。この簡単なプログラムは画面に「Hello, World!」という文字列を表示します。

LabExは、VS Codeに似たオンラインWebIDEを利用してJavaプログラムを書き、実行します。

WebIDE Javaプログラミングインターフェイス

まず、~/projectディレクトリにHello.javaという名前の新しいファイルを作成する必要があります。ターミナルを開き、次のコマンドを実行します。

cd ~/project
touch Hello.java

次に、Hello.javaファイルをテキストエディタで開き、次のコードを入力します。

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

このプログラムを解説しましょう。

  1. public class Hello:この行はHelloという名前のクラスを定義します。Javaでは、すべてのプログラムには少なくとも1つのクラスが必要です。
  2. public static void main(String[] args):これはメインメソッドです。これはJavaプログラムのエントリポイントです。Javaプログラムを実行すると、実行はmainメソッドから始まります。
  3. System.out.println("Hello, World!");:この行はコンソールに「Hello, World!」という文字列を出力します。System.outは標準出力を表すオブジェクトであり、printlnは1行文を出力するメソッドです。

Javaプログラムのコンパイルと実行

これでJavaプログラムを書き終えましたので、コンパイルして実行しましょう。Javaは2段階のプロセスを使用します。

  1. コンパイル:人間が読みやすいJavaコードをバイトコードに変換します。
  2. 実行:Java仮想マシン(JVM)を使ってバイトコードを実行します。

プログラムをコンパイルするには、javacコマンドの後にJavaファイルの名前を指定します。

javac Hello.java

このコマンドにより、同じディレクトリにHello.classという名前の新しいファイルが作成されます。このファイルには、プログラムのバイトコードバージョンが含まれています。

Javaコンパイルコマンドの例

プログラムを実行するには、javaコマンドの後にクラス名(.class拡張子なし)を指定します。

java Hello

次の出力が表示されるはずです。

Hello, World!
Javaプログラムの実行結果

エラーが発生した場合は、コードの誤字を再度確認し、正しいディレクトリ(~/project)にいることを確認してください。

Javaプログラムの構造を理解する

Javaプログラムの構造をもう少し詳しく見てみましょう。

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  1. public class Hello:この行はHelloという名前のpublicクラスを宣言します。Javaでは、クラス名はファイル名(.java拡張子を除く)と一致する必要があります。

  2. public static void main(String[] args):これはメインメソッドの宣言です。これはJavaプログラムのエントリポイントです。

    • public:このキーワードにより、メソッドはクラスの外からアクセス可能になります。
    • static:このキーワードは、メソッドがクラス自体に属しており、クラスの特定のインスタンスに属していないことを意味します。
    • void:これは、メソッドが戻り値を返さないことを示します。
    • main:これはメソッドの名前です。Java実行時環境は、このメソッドを探してプログラムの実行を開始します。
    • String[] args:これは、コマンドライン引数を受け取ることができるパラメータを宣言します。
  3. System.out.println("Hello, World!");:この行はコンソールに文字列を出力します。

    • Systemは、システムリソースへのアクセスを提供するクラスです。
    • outSystemクラスのstaticメンバであり、標準出力ストリームを表します。
    • printlnPrintStreamクラス(outがそのインスタンスである)のメソッドであり、1行文を出力します。

Javaプログラムの修正

Javaプログラムの基本構造を理解したので、「Hello, World!」プログラムを修正して、もっと対話型にしましょう。ユーザーの名前を尋ね、その後挨拶するプログラムを作成します。

まず、~/projectディレクトリにGreeting.javaという名前の新しいファイルを作成しましょう。

cd ~/project
touch Greeting.java

次に、Greeting.javaをテキストエディタで開き、次のコードを入力します。

import java.util.Scanner;

public class Greeting {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Please enter your name: ");
        String name = scanner.nextLine();

        System.out.println("Hello, " + name + "! Welcome to Java programming.");

        scanner.close();
    }
}

このプログラムの新しい要素を解説しましょう。

  1. import java.util.Scanner;:この行は、ユーザー入力を読むために使用するScannerクラスをインポートします。
  2. Scanner scanner = new Scanner(System.in);:これは、標準入力(キーボード)から読み取る新しいScannerオブジェクトを作成します。
  3. System.out.print("Please enter your name: ");:これは、新しい行に移動せずにユーザーにプロンプトを表示します。
  4. String name = scanner.nextLine();:これは、ユーザーが入力した1行文を読み取り、name変数に格納します。
  5. System.out.println("Hello, " + name + "! Welcome to Java programming.");:これは、ユーザーの名前を含む挨拶を表示します。
  6. scanner.close();:これは、リソースを解放するためにScannerオブジェクトを閉じます。

次に、新しいプログラムをコンパイルして実行します。

javac Greeting.java
java Greeting
Javaプログラムの挨拶出力

プロンプトが表示されたら、名前を入力してください。そうすると、個別化された挨拶が表示されるはずです。

まとめ

この実験では、Java プログラミングの世界に初めて足を踏み入れました。高度なプログラミング言語とその利点について学び、Java が効率的な実行のためにコンパイルと解釈をどのように組み合わせるかを学びました。最初の Java プログラム、伝統的な「Hello, World!」アプリケーションを書き、コンパイルし、実行しました。また、ユーザー入力を受け取り、個別化された挨拶を提供するより対話型のプログラムも作成しました。

これらの基本概念とスキルは、Java プログラミングの基礎を形成しています。この旅を続けるにつれて、これらの基本を基にして、より複雑で強力なアプリケーションを作成していきます。プログラミングは練習することで向上するスキルであることを忘れないでください。だから、コードを試して新しいことを試すことをためらわないでください。

もし LabEx についてもっと学びたいと思ったり、それをどのように使うか知りたい場合は、サポートセンターを訪問してください。または、LabEx についてもっと学ぶためにビデオを見ることができます。

あなたの Java プログラミングの旅はまさに始まったばかりです。練習を続け、学び続け、熟練した Java プログラマーになる過程を楽しんでください!