🦨

[Java基礎]式と演算子/命令実行

2023/09/24に公開

オペランドとは?

b = a + 5を分解すると a b 5 + =に分けることができます。
javaでは a b 5をオペランド、+ =を演算子と呼びます。
どんなに複雑な式でもすべての式がこの2つの要素だけで成り立っています。

エスケープシーケンス

String型やchar型を記述際に特殊な記号、文字を出力するためにエスケープシーケンスという特殊な文字を使用します。
すでに機能をもっている文字に使われるみたいです。
代表的なものをまとめておきます。

表記 意味
¥" 二重引用符記号(")
¥' 引用符記号(')
¥¥ 円記号(¥)
¥n 改行(制御文字)

エスケープシーケンスを試そうと下記を実行しようとしたところなぜかエラーが発生しました。

public class Lesson2 {
  public static void main(String[] args) {
    System.out.println("私の好きな記号は二重引用符(¥")です");
  }
}

何故なのか調べて見ると、円記号のWikiに答えが
https://ja.wikipedia.org/wiki/円記号#Unicodeが持つ問題(円記号問題)
どうやら、¥がUnicodeのU+005Cの\ではなく、U+00A5の円記号¥とされていたようです。
そのため、¥\に書き換えたところ正常に実行されました。
文字がどの種類で出力、読み取られているかなんて気にしたことなかったので、いい気付きになりました。

命令実行の文とは?

命令実行の文とはJavaが元から準備してくれている命令文を呼び出すための文です。
命令実行の文の基本的な形として

呼び出す命令文(引数);
となります。
代表的な命令実行の文をまとめました。
これは覚えるというよりもこんなのあったなくらいで良いみたいです。

画面に文字を表示する命令

具体的なものの一つとして、System.out.println();があります。
また同じような機能を持つ文として System.out.print();があります。
違いは簡単で、前者が改行ありで後者が改行なしで表示されます。

public class Lesson2 {
    public static void main(String[] args) {
        //改行
        System.out.println("はじめまして");
        System.out.println("こんにちは");

        //改行しない
        System.out.print("はじめまして");
        System.out.print("こんにちは");
    }
}
実行結果
はじめまして
こんにちは

はじめましてこんにちは

文字列を数値に変換する命令

String型(文字列)変数に入力された数字を整数へ変換することができます。
たとえば下記のように記述することで、String型に入っている"31"をint型に変換して出力することができます。

public class Lesson8 {
  public static void main(String[] args) {
    String age = "31";
    int n = Integer.parseInt(age);
    System.out.println("あなたは来年、" + (n + 1) + "になりますね。");
  }
}
出力結果
あなたは来年、32歳になりますね。

乱数を生み出して代入する命令

ランダムに整数を代入するための命令文です。
①に1以上の整数を指定すると0以上かつ①で指定した数未満のランダムな整数がrに代入されます。
たとえば10を指定するとrには0~9のいずれかが代入されます。

int r = new java.util.Random().nextInt(①);

キーボードから1行の入力を受ける命令

キーボードから文字列または整数をの入力を受け付けるようにする命令文は下記のようになります。

//文字列を受け取る
String input1 = new java.util.Scanner(System.in).nextLine();
//整数を受け取る
int input2 = new java.util.Scanner(System.in).nextInt();

使い方としてはこんな感じです。

public class Lesson10 {
  public static void main(String[] args){
    int rand = new java.util.Random().nextInt(100);
    System.out.println("あなたの名前を入力してください。");
    String name = new java.util.Scanner(System.in).nextLine();
    System.out.println("あなたの年齢を入力してください。");
    int age = new java.util.Scanner(System.in).nextInt();
    System.out.println("ようこそ" + rand + "番目の方!!");
    System.out.println("あなたは" + age + "歳の" + name + "さんです!");
  }
}
出力結果
あなたの名前を入力してください。
(名前を入力)
あなたの年齢を入力してください。
(年齢を入力)
ようこそ4番目の方!!
あなたは42歳の一郎さんです!

まとめ

型変換についても学習したのですが様々なパターンがあり複雑なので、公式サイトを参考にしておこうと思います。
今日はもう時間がないのでできないですが、Java言語仕様にまとめられているので空き時間に覗いてみます!!
https://www.oracle.com/jp/java/technologies/documentation.html

Discussion