Java はじめて8 〜booleanとif~

イントロダクション

ほとんどのプログラム言語で共通する処理として「条件分岐」というのがあります。これは、「XXXの時は〜の処理」という場合と「◯◯◯の時は□□□」というような形で処理を分けたいときに使用します。
<実行サンプル>

補足

文字列の比較は「equals()」を使用して行います。具体的には、下のようなコードで判定を行います。

String str = "abc";
// trueがisTrueにセットされる
boolean isTrue = "abc".equals(str);
// falseがisFlaseにセットされる
boolean isFalse = "aaa".equals(str);

上記コード、変数のisTrueisFalseにはそれぞれ「true」と「false」が入っています。
日本語で言うならば、trueは「真」、falseは「偽」です。

boolean型とif文

if文は「もし〜だったら〜」のような処理を行います。条件分岐と呼ばれる処理です。
これはよく使うし、プログラムでもちょっと間違うとえらいことになってしまうので。要注意です。

Boolean変数

プリミティブ型の変数「boolean」があります。これは値として持つのが2つだけです。
「True」と「False」だけです。時によりint型の「0」をFalse, 「1」をTrueとして扱うこともあり、実際にそのように値をセットすることもできたのは昔の話のようです。。。
それでは、これを一体何に使うのか?

if文の書き方

プログラムでのif文は下のように書きます。下の「条件式」とは巷で「論理式」とも言われているものです。結局は「TRUE」か「FALSE」のどちらかを返す式のことです。

if (条件式) {
   // 処理
   }

<条件式のサンプル>

1 == 1; // TRUE
1 == 2; // FALSE
1 != 2; // TRUE
ture != true; // FA+SE

実際には、このように書きます。

Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
if ("aaa".equals(str)) {
   System.out.println("aaaが入力されました。");
}

これがif文です。大したことありません(笑)
でわ、次、「もし〜だったら〜、そのほかの場合はXXXX」を加えてみます。

Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
if ("aaa".equals(str)) {
   System.out.println("aaaが入力されました。");
} else {
   System.out.println("そのほかの値が入力されました。");
}



これをelse文とかelse句と呼びます。実際は「エルスのなかにXXXX」なんて言ったりします。

まぁ手応えがあるかと思います。
でわ、次「もし〜だったら〜、他にもしXXXだったら、XXX、そのほかの場合は○○○」
のようにちょっと複雑な処理を行いたい場合

Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
if ("aaa".equals(str)) {
   System.out.println("aaaが入力されました。");
} else if ("bbb".equals(str)) {
   System.out.println("bbbが入力されました。");
} else {
   System.out.println("そのほかの値が入力されました。");
}

上のように条件を加えてやります。


あれ?

「boolean使ってなくない?」と思った方、流石でございます。 変数にbooleanを取り出していないのです。
つまり「"aaa".equals(str)」の部分がbooleanを返却します。
それに関しては、JavaDocAPIを見るのが一番です。今回使用しているのは"aaa"のメソッド「equals」です。
「"aaa"は文字列では?」と思った方、流石でございます。「文字列=String」なのです。
だからStringクラスのメソッド(JavaDocへのリンク)が使用できるのです。

実際に使用する時には次のように書きます。

boolean flg = "hello".equals(args[0];
if (flg) {
   System.out.println("True")l
} else {
   System.out.println(""False");
}

実践

以前作成したハローワールドの処理を変更してみます。
以前のソース

ublic class MainMethodTest {
   public static void main(String[] args) {
      System.out.println("Hello World");
      MainMethodTest main = new MainMethodTest();
      main.calculation();
   }
   /** viを使用する時「i」を入力すると文字入力ができる*/
   public void calculation() {
       System.out.println("1 + 1 = " +(1+1));
   }

}

このソースに先ほどのif文を入れてみます。

public class MainMethodTest {
   public static void main(String[] args) {
      System.out.println("Hello World");
      MainMethodTest main = new MainMethodTest();
      main.calculation();
      // if文を追加
      if (args.length == 0) {
         System.out.println("プログラム引数がありません");
      } else if (args.length >= 3) {
         System.out.println("プログラム引数は2つまでです。");
      } else {
         System.out.println("プログラム引数は1、2個あります");
      }
   }
   /** viを使用する時「i」を入力すると文字入力ができる*/
   public void calculation() {
       System.out.println("1 + 1 = " +(1+1));
   }

}

実行してみました。こんな感じで動きます。
ちなみに、プログラム引数の使い方は下のような手順です。※Eclipseでのやり方
Eclipseでプログラム引数を渡すときは下のように行います。

  1. 実行するJavaファイルを右クリック
  2. 実行⇒実行の構成
    Program args
  3. 起動するクラスを選択、もしくは、検索
  4. 引数タブの「プログラム引数」に引数(文字列)を渡す
    ※プログラム引数を複数渡すときは間にスペースを入れる


例題

  1. boolean型の変数「flg」を「false」で初期化します。
  2. もし「flg」がtrueの場合は「こんにちは」をコンソール(標準出力)に出力してください。
  3. そうでない場合は、「さようなら」をコンソール(標準出力)に出力してください。
public class Hajimete8 {
    public static void main(String[] args) {
        boolean flg = false;

        if (flg == true) {
            System.out.println("こんにちは");
        } else {
            System.out.println("さようなら");
        }
    }
}

問題

例題のコードを変更して「こんにちは」を表示するようにプログラムを変更してください。

でわでわ。。。

<<< 前回 次回 >>>

関連ページ

Java Basic Step1-3



関連ページ

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseCDTをインストール〜
  3. Setup OpenGL with JavaJOGLを使う準備 for Eclipse
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder EclipseSceneBuilder連携~

Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜

Git関連

  1. Java Git clone in Eclipse 〜サンプルの取得〜
  2. Eclipse Gitリポジトリの取得 GitからソースをPullしよう〜
  3. IntelliJ IDEA GitGitリポジトリからクローン〜

Java はじめて7 〜配列とは、配列の使い方〜

イントロダクション

プログラムを作成する上で、沢山のデータを扱うことがあります。例えば、日本の統計局で作成した人口統計などをダウンロードしてきて、そのファイル(CSVファイルといいます)からデータを取得して何かしらの処理を行う。。。

このときに取得したデータを変数にセット(代入)する必要がありますが、使用する変数の型が「配列」というわけで配列について学習します。

Java基礎をハローワールドから順番に1分以内の動画にしています

配列の実装動画

配列に関する解説

配列の種類と宣言

int型の配列: int[] intArr;
double型の配列: double[] doubleArr;
String型の配列: String[] strArr;

上記のように各データ型の後に「[]」をつけた形で宣言してやれば配列として宣言したことになります。
初期化する場合は、下のようになります。これで「=」の右側を書かなければ宣言ですね。

// 宣言
int[] arr;
// 初期化
int[] na = new int[]{1,2,3,4};
double[] da = new double[]{0.1,0.2,0.3};
String[] sa = new String[]{"aaa","bbb","ccc"};

配列の使い方

今回は、配列について記載します。配列とはデータの集まりです。目に見えるものではなく、データをメモリ領域です。
これらを操作するためには、自分なりのイメージを持つのがわかりやすいと思います。
自分のイメージは「ダンボール」です。

配列とはイメージ的な話をしても仕方ないのですが、目に見えないものなのでイメージを「自分なりに明確にする」必要があります。
データ型は以前示したように、int型、double型などプリミティブ型でも、参照型でも配列として扱うことができます。

//// プリミティブ型 ////
// int型の配列
int[] num = new int[] {0, 1, 2, 3];
// double型の配列
double[] dob = new double[] {1.0, 2.2, 0.1};
//// 参照型 ////
String[] strs = new String[] {"aa", "bbb", "vcv"};
OriginalClass[] cls = new OriginalClass[] {new OriginalClass(), new OriginalClass()};

とりあえずコードを書いてみました。

何に使うの?

ズバリ、情報処理の部分で使用します。具体的にはDBから取得したデータ、WebAPIで取得したデータなど(JSONの配列になっていることが多いです)、オープンデータなどがあります。
ちょっと、ダウンロードしてみたので、それを一部記載します。ダウンロードしたのは「オープンデータ取組済自治体一覧」です。

ちなみに、コマンドでオープンデータが取得できます。

団体コード,団体名,サイトのURL1,サイトのURL2,サイトのURL3,追加日,更新日
010006,北海道,http://www.pref.hokkaido.lg.jp/ss/jsk/opendata/opendata.htm,https://www.harp.lg.jp/opendata/,,,
020001,青森県,https://opendata.pref.aomori.lg.jp/,,,,2019.03.11
030007,岩手県,https://www.pref.iwate.jp/kensei/seisaku/jouhouka/1012070/index.html,,,,
040002,宮城県,http://www.pref.miyagi.jp/site/opendata-miyagi/,,,,
050008,秋田県,https://www.pref.akita.lg.jp/pages/archive/32419,,,,

このCSVデータというのは、「カンマ区切りの可変長データ」で行の一番初めの部分「団体コード,団体名,サイトのURL1,サイトのURL2,サイトのURL3,追加日,更新日」と記載している部分がヘッダー(見出し)にあたります。
見やすくすると、以下のようになります。

団体コード 団体名 サイトのURL1 サイトのURL2 サイトのURL3 追加日 更新日
010006 北海道 http://www.pref.hokkaido.lg.jp/ss/jsk/opendata/opendata.htm,https://www.harp.lg.jp/opendata/
020001 青森県 https://opendata.pref.aomori.lg.jp/ 2019.03.11
030007 岩手県 https://www.pref.iwate.jp/kensei/seisaku/jouhouka/1012070/index.html
040002 宮城県 http://www.pref.miyagi.jp/site/opendata-miyagi/
050008 秋田県 https://www.pref.akita.lg.jp/pages/archive/32419

上記のように、みることができます。そしてプログラムではこのようなデータをCSVと呼び、カンマ区切り、タブ区切りのデータとして通信したり、オープンデータのようにダウンロードできたりします。

配列の注意点

配列はデータとして扱うことが多いので、データの出し入れをやることが(実装として)多いです。ですが、データを取り出そうとした時に1番目、2番目。。。と考えていると間違えます。下のサンプルコードを見てください。
String[] lv1Array = new String[] {"a", "b", "c"};
上のコードは"a"を取得しようとするときはlv1Array [0]のように実装する必要があります。lv1Array[1]とすると"b"が取得されてしまいます。つまりは

配列は0番目から始まります。

とりあえずは「そんなもんだ」と理解しておいてください。

このようなデータを解析したり、統計学したりするのが最近の流行りのようですが、そんなことよりも早く「テキストRPG」を完成させたいという欲求が自分にはあります(笑)。
本当のことを言うと「統計学」がわからないので現状では作業がストップしている状況です。ただいま勉強中。。。

配列を使ったサンプルコード

Gitにアップしているのでこちらはダウンロードできます。そして、下のコードはGitのコードになります。

public static void main(String[] args) {
    // 1次元配列
    String[] lv1Array = new String[] {"a", "b", "c"};
    // 2次元配列
    String[][] lv2Array = new String[][] {{"a", "b", "c"}, {"d", "e", "f"}};
    // 3次元配列
    String[][][] lv3Array = new String[][][] {
        {{"a", "b", "c"}, {"d", "e", "f"}}
        ,{{"g", "h", "i"}, {"j", "k", "l"}}
        ,{{"m", "n", "o"}, {"p", "q", "r"}}
    };
    // 1次元配列を表示する
    System.out.println("*** 1次元配列を表示 ***");
    for (String nakami : lv1Array) {
        printf("", nakami);
    }
    // 2次元配列
    System.out.println("\n*** 2次元配列を表示 ***");
    for (String[] nakamiLv2 : lv2Array) {
        for (String nakami : nakamiLv2) {
            printf("", nakami);
        }
    }
    // 3次元配列
    System.out.println("\n*** 3次元配列を表示 ***");
    for (String[][] nakamiLv3 :lv3Array) {
        for (String[] nakamiLv2 : nakamiLv3) {
            for (String nakami : nakamiLv2) {
                printf("", nakami);
            }
        }
    }
}

結局は、配列と言ってもデータを1つに変数にまとめるための機構なんだと思ってもらっても結構なです。
そして、StringクラスなどにはtoArray()メソッドがあり、配列として扱うためのAPIが揃っているので配列を理解しておくと便利です。

StringクラスはtoCharArray()で、Char型の配列を返します。

追伸

上のCSVデータですが。これは初めに文字列で受け取ります。それを配列に変換してやれば、データの1つ1つを扱えます。いかにサンプルコードを示します。

String csvData = "010006,北海道,http://www.pref.hokkaido.lg.jp/ss/jsk/opendata/opendata.htm,https://www.harp.lg.jp/opendata/,,,\r\n020001,青森県,https://opendata.pref.aomori.lg.jp/,,,,2019.03.11";
String[] csv = csvData.split(",");
// 拡張for文
for (String data : csv) {
    System.out.pritln(data);
}

余談ですが
java.util.ArrayListこのクラスは、可変長配列を実装しているクラスで「リスト」と名前がついていますが、配列です。JavaDocにも記載があります。
とりあえずは、配列が使えると「データサイエンス」にも手が出るかも?と言うことです。もちろんデータ処理にも使います。

でわでわ。。。

<配列の使い方>

<配列を使って見た(余計な音が入っています)>

やってみよう

配列を宣言してみましょう。そして、配列の中身を参照して見ましょう。

例題

  1. int型の配列「intArr」を宣言してください。
  2. char型の配列「chArr」を次のコードで初期化してください。「{'a', 'b', 'c', 'd'}」
    char型は「'(シングルクォーテーション)」で囲みます。String型は「"(ダブルクォーテーション)」なので間違えないようにしましょう。
  3. 変数「chArr」の配列0番目と1番目をコンソール(標準出力)に出力してください。
public class Hajimete7 {
    public static void main(String[] args) {
        int[] intArr;
        char[] chArr = {'a', 'b', 'c', 'd'};
        System.out.println(chArr[0]);
        System.out.println(chArr[1]);
    }
}

問題

  1. double型の配列「doubleArr」を宣言してください。
  2. String型の配列「strArr」を次のコードで初期化してください。「{'a', 'b', 'c', 'd'}」
  3. 変数「strArr」の配列0番目と1番目をコンソール(標準出力)に出力してください。

<<< 前回 次回 >>>

関連ページ

データ型の扱い

Booleanなどのデータ型

For文の書き方

while文の書き方



関連ページ

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseにCDTをインストール〜
  3. Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~

Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜

Git関連

  1. Java Git clone in Eclipse 〜サンプルの取得〜
  2. Eclipse Gitリポジトリの取得 〜GitからソースをPullしよう〜
  3. IntelliJ IDEA Git〜Gitリポジトリからクローン〜

Java はじめて6 〜変数について2、byte, char, boolean型〜

イントロダクション

変数に関して、いろいろな型がありますが、以下のような変数について記載します。

  1. byte型:あまり使わない、2進数を示すので、ほとんどのデータを扱える
  2. char型: ちょっと使う、1文字を示す「'(シングルクォーテーション)」で囲む
  3. boolean型: 結構使う、真偽値を示す。「true」「false」どちらかの値を持つ

学習内容の説明

今回はbyte型, char型とboolean型の変数について記載します。
正直のところ、ここら辺のデータ型はあまり使わないと思いますが、
byte型はFileの入出力で使用します。
そしてネットワーク越してのデータ通信処理ではFile操作と同じようにbyteでのデータ処理を大なう。。。

つまり、byte型でデータの送受信を行い、受け取ったらStringとかのクラスに変換して使用します。

byte型とは全く関係ありませんが、変数を使用してみた動画です。

byte

byte型は2進数を表現します。ちなみにパソコンの中身(デジタル)は2進数でできています。いま見ているブログも、スマホで遊んでいるゲームも全て「0, 1」でできています。つまりは2進数です。
よくハードディスクの容量が「〜バイト」などのように言いますが。これがその「バイト」に当たります。実際に「ギガ」とか「テラ」とか言われrてもわけがわからないので「1バイト」から見ていきます。

  1. 1byte = 00000000; の2進数です。「0」が8個あります。なので1バイト=8ビット(bit)です。
  2. 1bit = 0 or 1です。
  3. 10進数(1-10で数える普段使う数の数え方)の「3」は2進数で表現すると「11」になります。
  4. メモリ領域を1バイト分取ってあるならば「00000011」になります。左側の0はメモリの確保したぶんだけ付け加えて良いものになります。
    ちなみに127は「1111111」(1が7個)のデータになります。8個目のデータは「+ or -」を示す「サインビット」と呼ばれる物にあたるらしいです。

そんなわけで、byte変数の値がもつ数値の範囲は-127〜127になります。

char

「char型」の変数は1文字を表現するのに使用します。そして初期化するときは下のように実装します。
char ch = 'a';「'」シングルクォーテーションを使用して囲みます。
そして。byteで表現すると2byte文のデータ(つまり16ビット)整数だと「65535」になります。

boolen

Booleanは「True」と「Flase」です。この2つの値しかありません。
何に使用するかと言うと「条件分岐」です。

if文

サンプルで、変数「a」が1の時は"Hello"と表示、そうでない場合は"Good bye"と表示するプログラムを記載します。

public static void main(String[] args) {
    int a = 0;
    if (a == 1) {
       System.out.println("Hello");
    } else {
       System.out.println("Good bye");
    }
}

以上のようになります。

変数を使用する

<文字列と数値の違い>

<ハローワールドから変数の扱い>

やってみよう

したのようなプログラムを作って見ましょう。クラス名は、「Hajimete6」で作成してください。
問題1ではサンプルを示します。
実際にプログラムを書いて動かすことで、理解が深まり、自由自在にプログラムを作ることが出来る様になります。

問題1

  1. int型の変数「num」を宣言
  2. String型の変数「str」を「こんにちは」で初期化
  3. 各変数をコンソール(標準出力)に表示

回答

public class Hajimete6 {
    public static void main(String[] args) {
        // 変数の宣言
        int num;
        // 変数の初期化(宣言と同時に値を代入する)
        String str = "こんにちは";
        // 標準出力(コンソール)に出力
        System.out.println(num);
        System.out.println(str);
    }
}

問題2

  1. int型の変数「number」を12で初期化
  2. dpuble型の変数「shosu」を1.2で初期化
  3. 標準出力(コンソール)に1と2の合計値(足し算の結果)を表示

<<< 前回 次回 >>>

Java Basic Step1-3

ハローワールドの実装

四則演算の表示

変数を表示する

Java はじめて5 〜変数について〜

イントロダクション

ある程度Javaというものがわかってきたところで、今度は、プログラムを作成していこうと思います。
今までの、内容はプログラムの書き方、ルールをちょっと覚えるというところでしたが、今度はプログラムを思いとおりに動かすための材料について学びます。

その1つが変数です。

変数とは

パソコン上で扱うデータは文字だったり、数値だったり、画像だったり。。。色々ありますが、パソコンは基本的に「0」と「1」でしか判断できません。
なので、プログラムを作るときにはデータの型というのが大切になります。つまり、この型は文字、この型は数値という形です。
具体的に、文字は計算できませんが、数値は計算できます。というように「型」でデータの加工の仕方が変わってきます。

<具体例>
文字列で足し算を書くと。。。

"1 + 1" => そのまま

数値では計算できる。

1 + 1 => 2

プログラムで書くと次のようになります。

public static void main(String[] args) {
   System.out.println("1 + 1"); // => 「1 + 1」を表示する
   System.out.println(1 + 1); // => 2を表示する
}

学習のポイント

  1. 文字列は「"(ダブルクォーテーション)で囲みます。
  2. 数値はそのまま「1」「2」「3」のように書きます。

実際にプログラムで実行してみると下のような感じです。

学習内容の説明

今回は変数の扱いについて記載いたいます。
今までに、メインメソッド、普通のメソッドと記載していきました。今度はこれらの中に処理を作っていこうと言う次第です。
とりあえずは、こんな感じです。

変数

変数とは、「箱」です。箱の中には全てのデータ〜クラスまでなんでも入ります。その変数には肩があり以下のようになっています。

変数の型

プリミティブ型
int型: 整数longに比べて小さい値
double型: 小数点ありの変数で使用する
char型: 1文字文のデータ
long型: int型より大きい値
float型: 小数点少し曖昧でも良い
参照型(下の表ではobject)
Stringとかクラスの型
配列など「int[]」のような変数の型

正直のところ、「float」に関してはあまり理解していないのですが、画像処理(座標計算)で使用する(0-1.0の範囲)小数点の値なのですが、doubleでも良いような気がする。。。がしかしLWJGLとかOpenGLなどではfloatを使用していました。
詳細な表に関してはこちらを参照ください。

Data Type Default Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
String (or any object)   null
boolean false

変数の使い方

百聞は一見にしかず。。。変数の名前は重複しないように適当につけています。
変数の宣言と初期化、これでプログラム中で変数が使用可能になります。

// 宣言
int num;
// 初期化
int i = 0;

そして、変数の扱い方。例えば「1 + 1」を結果用の変数に入れて表示する処理です。サンプルコードはGithubにアップしてあります。

   public static void main(String[] args) {
        // 変数宣言
        int num1;
        // 変数に値0を再セット、以前の値は削除される
        num1 = 0;

        /* 変数の初期化
         * 変数の宣言時に、値を代入する
         * 変数 = 値(代入)
         */
        int num2 = 10;

        // 1.足し算
        num1 = num1 + num2 + 2;

        // 2.引き算
        num1 = num1 * (num1 - num2);

        // 3.掛け算
        num1 = num1 * 3;

        // 4.割り算
        num1 = num1 / 2;
        // 計算結果を表示
        System.out.println("計算結果" + num1);
    }

ちなみに、足し算引き算は「+」「-」で算数でやったのと同じ記号を使うのですが、掛け算や割り算はそれぞれ「*」(掛け算)、「/」(割り算)を使用します。

<プログラムを実行してみる>

データ型の意味

正直のところ「int型は小さい値」とか記載していても「は?」となります。「じゃ、なんでそんな説明したんだ?」と聞かれそうですが。いかに説明します。

int型(整数値): -2147483648〜2147483648の範囲
char型          : 0〜65535の範囲
byte型          : -127〜127の範囲

などのように値の範囲が決まっています。具体的には下のようなコードを書いた時に、以下のような違いがあります。

ちなみにlong型の場合はint型との区別をするのに最後に「L」をつけます。

とりあえずは、「変数について」記載しました。実践に関しては次回以降と言うことで。。。

そして、計算をするプログラムを作成してみた動画を作りました。

でわでわ。。。

<<< 前回 次回 >>>

Java Basic Step1-

*Java 四則演算 演算子 〜Step1-2: arithmetic calculation〜

Java はじめて4〜練習問題をやってみる〜

イントロダクション

今回は、今まで学んだことを使用して「練習問題」を解いてみようと思います。答えは複数、もしかしたら人の数だけあるかもしれません。
一言で言うならばプログラムの組み方練習といったところでしょうか?

前回まで(java はじめて1〜3)でクラスの作り方〜メソッドの作成方法について記載しました。ここら辺の理解を深めるための練習問題です。
自分でロジックを組んで、想定通りの処理を実装できる実力をつけてください。

Java はじめて 1 〜メインメソッド〜

Java はじめて2 〜メソッドを呼び出す〜

Java はじめて3 〜コメントの書き方〜

練習問題

練習問題を始める前に、クラスを作成して、プログラムを実行するまでをやって見たいと思います。

以下の問題に関して、「~を確認してください」という書き方をしていますが、これはプログラムを作成して実行してください。という意味です。
<練習問題のルール>

  • パッケージ「jp.basic.mondai」を作成してください。
  • 「練習問題XX」はMondaiXXというクラスを作成してください。
  • 問題のコードはとりあえずコピペしてから着手するようにしてください。

練習問題の解き方サンプル動画です。以下の操作と実装を行います。

IntelliJ IDEAの場合

Eclipseの場合

  1. パッケージ「jp.basic.mondai」を作成
  2. Mondai0というクラスを作成
  3. 「ハローワールド」と表示するプログラムを作成

<練習問題1>

次のコードはビルドエラーが出ます。以下の部分を明確にしてプログラムが動くように修正して、実行結果を確認してください。

/** JavaDocコメントです。*/
public class Mondai1 {
    // コメントです。
    public static vod main(String[] args) {
        System.out.println('Hello World!');
    }
}

練習問題2

次のプログラムの間違い部分を修正し、コンパイル・実行できるように修正して、実行し結果を確認してください。

public class Mondai2 {
    // JavaDocコメントではありません。
    public static void main(String args) {
        /* コメントです */
        System.out.println("こんにちは、世界"):
    }
}

練習問題3

コンソール画面に「OK! ガンタンク!」と出力するプログラムを作成してください。(ノーヒント)

練習問題4

コンソール画面に下のような図を出力するプログラムを作成してください。正確にスペース何個と指定しません。
大まかに正方形のように見えればOKです。

***********
*         *
*         *
*         *
***********

練習問題5

プログラムを実行して以下のような表示を行ってください。ただし、「?」の部分は計算処理の結果を表示するようにしてください。
そして、すべて小数点ではなく整数で表示してください。
ヒント
キャストするとできます。わからないことは調べましょう!

1 + 1 = ?;
2 - 2 = ?;
3 * 3 = ?;
4 * 3 = ?;

サイトマップ

<<< 前回 次回 >>>

関連ページ