Java のデータ型と基本演算

JavaJavaIntermediate
オンラインで実践に進む

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

はじめに

Java のデータ型と基本演算の実験にようこそ!この実験では、Java プログラミングの基本的な構成要素を深く掘り下げます。整数、浮動小数点数、文字列など、任意の Java プログラムの基礎となる基本データ型を学びます。これらの用語が少し慣れ親しんでいない場合でも心配しないでください。各概念を段階的に説明し、実際のコードで使って練習します。

また、基本的な算術演算と文字列連結に関する実践的な経験も得られます。これらのスキルは、すべての Java プログラマにとって欠かせないものであり、これらをマスターすることで、プログラミングの旅を続ける上で成功の礎を築くことができます。

この実験が終了するとき、Java でさまざまな種類のデータを扱う方法をしっかりと理解し、より複雑なプログラミングチャレンジに取り組む準備ができているでしょう。始めましょう!

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 中級 レベルの実験の完了率は 77%です。学習者から 99% の好評価を得ています。

整数の扱い方

Java における整数の探索から旅を始めましょう。整数は小数点のない整数で、プログラミングではカウント、インデックス付け、その他多くの目的に頻繁に使用されます。

  1. WebIDE エディタで IntegerDemo.java ファイルを開きます。次のコードが表示されます。

    public class IntegerDemo {
        public static void main(String[] args) {
            // TODO: Declare an integer variable and print it
        }
    }

    これが Java プログラムの基本構造です。main メソッドがプログラムの実行が始まる場所です。

  2. 次に、TODO コメントを実際のコードに置き換えましょう。次の行を追加します。

    int number = 42;
    System.out.println("The number is: " + number);
Java code example screenshot

このコードを分解してみましょう。

  • int number = 42;: この行は、型 int(整数)の変数 number を作成し、それに値 42 を割り当てます。
  • System.out.println("The number is: " + number);: この行はメッセージを出力します。ここでの + 演算子は文字列連結に使用され、つまり、文字列 "The number is: " と number 変数の値を結合します。
  1. 素晴らしいです!次にファイルを保存します。WebIDE を含むほとんどの IDE では保存は自動的ですが、ファイルが保存されていることを確認するのは良い習慣です。

  2. 次に、プログラムをコンパイルする必要があります。コンパイルにより、人間が読みやすい Java コードがコンピュータが実行できる形式に変換されます。ターミナルで次のコマンドを実行します。

    javac ~/project/IntegerDemo.java

    出力が表示されない場合は、良いニュースです!コードがエラーなくコンパイルされたことを意味します。

  3. プログラムをコンパイルしたので、実行しましょう。次のコマンドを使用します。

    java -cp ~/project IntegerDemo

    注: java -cp は Java にコンパイル済みのクラスファイルを見つける場所を伝えます。この場合、~/project ディレクトリを見つけるように Java に伝えています。

Java program execution output

または、~/project ディレクトリに移動して、次のコマンドでプログラムを実行することもできます。

cd ~/project
java IntegerDemo

すべてが正しく動作した場合、出力 The number is: 42 が表示されるはずです。

おめでとうございます!整数を扱う最初の Java プログラムを作成、コンパイル、実行しました。エラーに遭遇した場合は心配しないでください。コーディングには多くのトラブルシューティングが伴います。コードの誤字を再度確認し、各ステップを注意深く行ったことを確認してください。

基本的な算術演算

整数に慣れたので、Java で基本的な算術演算を行う方法を探ってみましょう。これらの演算は、プログラミングにおけるより複雑な計算の基礎をなしています。

  1. 算術演算を含めるために、IntegerDemo.java ファイルを修正しましょう。その内容を次のコードで置き換えます。

    public class IntegerDemo {
        public static void main(String[] args) {
            int number1 = 10;
            int number2 = 5;
    
            // TODO: Perform arithmetic operations and print the results
        }
    }

    ここでは、計算に使用する 2 つの整数型の変数 number1number2 を宣言しています。

  2. 次に、TODO コメントを基本的な算術演算を行うコードに置き換えましょう。次の行を追加します。

    int sum = number1 + number2;
    int difference = number1 - number2;
    int product = number1 * number2;
    int quotient = number1 / number2;
    
    System.out.println("Number 1: " + number1);
    System.out.println("Number 2: " + number2);
    System.out.println("Sum: " + sum);
    System.out.println("Difference: " + difference);
    System.out.println("Product: " + product);
    System.out.println("Quotient: " + quotient);

    これを分解してみましょう。

    • 4 つの基本的な算術演算:加算 (+)、減算 (-)、乗算 (*)、除算 (/) を行っています。
    • 各結果を新しい変数に格納しています。
    • 最後に、すべての数値と結果を出力しています。
  3. ファイルを保存した後、前と同じコマンドを使用して再度コンパイルしてプログラムを実行します。

    javac ~/project/IntegerDemo.java
    java -cp ~/project IntegerDemo

    元の数値とすべての算術演算の結果が表示される出力が表示されるはずです。

    Number 1: 10
    Number 2: 5
    Sum: 15
    Difference: 5
    Product: 50
    Quotient: 2

    商について興味深いことに気づきましたか?10 を 5 で割ると 2.0 になりますが、結果は 2 だけです。これは、Java で 2 つの整数を除算すると、結果も整数になるためです。小数部分は切り捨てられ(切り取られ)、四捨五入されません。

このプログラムを試してみましょう!number1number2 の値を変更して、それが結果にどのような影響を与えるかを見てみましょう。これは、Java での算術がどのように機能するかを理解するための素晴らしい方法です。

浮動小数点数の扱い方

整数をマスターしたので、浮動小数点数を探ってみましょう。これらは小数点を持つ数で、分数やより精密な測定値を表すことができます。

  1. FloatDemo.java ファイルを開きます。このスターターコードが表示されます。

    public class FloatDemo {
        public static void main(String[] args) {
            // TODO: Declare and use floating-point numbers
        }
    }
  2. TODO コメントを浮動小数点数の使用を示すコードに置き換えましょう。

    double pi = 3.14159;
    System.out.println("The value of pi is approximately: " + pi);
    
    double radius = 5.0;
    double area = pi * radius * radius;
    System.out.println("The radius of the circle is: " + radius);
    System.out.println("The area of the circle is: " + area);
    
    // Demonstrating precision
    double result = 0.1 + 0.2;
    System.out.println("0.1 + 0.2 = " + result);

    これを分解してみましょう。

    • 浮動小数点数には double 型を使用します。これは float 型よりも精度が高くなります。
    • pi を定義し、円の面積を計算するために使用します。
    • 最後の部分は、初心者にとても驚かせる浮動小数点数演算の特徴を示しています。
  3. ファイルを保存した後、コンパイルしてプログラムを実行します。

    javac ~/project/FloatDemo.java
    java -cp ~/project FloatDemo

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

    The value of pi is approximately: 3.14159
    The radius of the circle is: 5.0
    The area of the circle is: 78.53975
    0.1 + 0.2 = 0.30000000000000004

    最後の行に何か奇妙なことに気づきましたか?0.1 + 0.2 は正確に 0.3 に等しいはずなのに、プログラムはやや異なる値を表示します。これは、コンピュータが 2 進数で小数を表現する方法によるものです。これは新しいプログラマにとって一般的な混乱の原因ですが、ほとんどの実用的なアプリケーションでは、この些細な不一致は問題になりません。

浮動小数点数は、整数よりもはるかに広い値の範囲、つまり非常に大きな数や非常に小さな数を扱うことができます。科学的計算、グラフィックス、その他多くのアプリケーションに欠かせないものです。

文字列の扱い方

この実験の最後のトピックは文字列です。プログラミングにおいて、文字列は文字のシーケンスであり、言葉や文のようなものです。文字列は、プログラム内のテキストを扱う際に不可欠です。

  1. StringDemo.java ファイルを開きます。このスターターコードが表示されます。

    public class StringDemo {
        public static void main(String[] args) {
            // TODO: Declare and manipulate strings
        }
    }
  2. TODO コメントを、さまざまな文字列操作を示すコードに置き換えましょう。

    String greeting = "Hello";
    String name = "Alice";
    
    // 文字列の連結
    String message = greeting + ", " + name + "!";
    System.out.println(message);
    
    // 文字列の長さ
    System.out.println("The length of the message is: " + message.length());
    
    // 文字列内の文字のアクセス
    System.out.println("The first character is: " + message.charAt(0));
    
    // 大文字に変換
    System.out.println("Uppercase message: " + message.toUpperCase());
    
    // 部分文字列
    System.out.println("First five characters: " + message.substring(0, 5));

    これを分解してみましょう。

    • ダブルクォートを使って文字列を作成します。
    • + 演算子を使って文字列を連結(結合)できます。
    • Java の文字列には、length()charAt()toUpperCase()substring() など、たくさんの便利なメソッドがあります。
    • 文字列は「ゼロオリジン」であり、最初の文字は位置 0 にあります。
  3. ファイルを保存した後、コンパイルしてプログラムを実行します。

    javac ~/project/StringDemo.java
    java -cp ~/project StringDemo

    さまざまな文字列操作が示される出力が表示されるはずです。

    Hello, Alice!
    The length of the message is: 13
    The first character is: H
    Uppercase message: HELLO, ALICE!
    First five characters: Hello

Java の文字列は非常に使い勝手が良く、操作するためのたくさんの組み込みメソッドがあります。Java の学習を続けるにつれて、さらにたくさんの便利な文字列操作を発見するでしょう。

まとめてみる

最後のステップとして、これまで学んだことをまとめたプログラムを作成しましょう。整数、浮動小数点数、文字列が使われる簡単な温度変換器を作ります。

  1. TemperatureConverter.java ファイルを開きます。このスターターコードが表示されます。

    public class TemperatureConverter {
        public static void main(String[] args) {
            // TODO: Implement temperature conversion
        }
    }
  2. TODO コメントを次のコードに置き換えます。

    int fahrenheit = 98;
    double celsius = (fahrenheit - 32) * 5.0 / 9.0;
    
    String message = fahrenheit + "°F is equal to " + celsius + "°C";
    System.out.println(message);
    
    // 小数点以下 2 桁で丸める
    double roundedCelsius = Math.round(celsius * 100.0) / 100.0;
    String formattedMessage = String.format("%d°F is equal to %.2f°C", fahrenheit, roundedCelsius);
    System.out.println(formattedMessage);
    
    // 逆方向に変換する
    celsius = 37.0;
    fahrenheit = (int) (celsius * 9.0 / 5.0 + 32);
    System.out.println(celsius + "°C is approximately " + fahrenheit + "°F");

    このプログラムは以下を示しています。

    • int 型と double 型の両方を使用すること
    • 異なる型を含む計算を行うこと
    • 出力用の文字列連結
    • 丸めるための Math.round() メソッドの使用
    • 出力フォーマットをよりコントロールするための String.format() の使用
    • double 型を int 型にキャストすること(2 番目の変換で)
  3. ファイルを保存し、コンパイルしてプログラムを実行します。

    javac ~/project/TemperatureConverter.java
    java -cp ~/project TemperatureConverter

    異なる精度の温度変換が表示される出力が表示されるはずです。

    98°F is equal to 36.666666666666664°C
    98°F is equal to 36.67°C
    37.0°C is approximately 98°F

この最後のプログラムは、整数、浮動小数点数、文字列、算術演算、型キャストといったこれまでに学んだすべての概念をまとめています。また、丸めとフォーマット済みの出力のようないくつかの新しい概念も紹介されており、Java プログラミングの旅で非常に役立つことがわかります。

まとめ

おめでとうございます!あなたは Java のデータ型と基本演算の実験を完了しました。学んだことを振り返りましょう。

  1. 整数の扱いと基本的な算術演算の実行
  2. より精密な計算のための浮動小数点数の使用
  3. 文字列の操作と文字列連結の実行
  4. 実用的なプログラム(温度変換器)で異なるデータ型を組み合わせる
  5. 基本的なフォーマットと丸め演算の使用

これらのスキルは Java プログラミングの基礎を形成し、ソフトウェア開発の旅を続ける上で欠かせないものになります。プログラミングは練習することで向上するスキルです。ここで学んだ概念を試してみることをためらわないでください。プログラムを修正したり、値を変更したり、新しい計算を追加したりしてみてください。

これから先は、これらの基本を基にしてより複雑で強力なプログラムを作成していきます。コーディングを続け、学習を続け、最も重要なのは、楽しんでください!あなたはすでに Java のエキスパートになる道のりを歩んでいます。