0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Java 学習記録 3日目

Posted at

目的

この記事は以下の記事の続きです。

Javaを学習するC言語使い一年目エンジニアのノートです。
先日コードの色つけ方法を教えていただいたので、これからどんどん使っていきます!

前回の復習

前回の復習をさらっと。
前回は変数について学習を行いました!

// 特別な注釈がない限りコードはJavaです。
class Main {
  public static void main(String[] args) {
      // 前回までの学習で出てきた型は3つ
      int n = 877;    // 整数型
      String s = "BaNana";    // 文字列型
      double f = 8.77;    // 浮動小数点型
      System.out.println(n);
      System.out.println(s);
      System.out.println(f);
      // 整数型と小数点型の四則演算
      System.out.println(n+23);
      System.out.println(f-0.76);
      // 文字列の連結なんかも。
      System.out.println(s+n+".it");

      // 値の変更
      n = 87;
      System.out.println(n);
      // 自己代入
      n = n + 13;
      System.out.println(n);
      // 自己代入の省略形。
      n -= 10;
      System.out.println(n);
      // インクリメントとデクリメント
      n++;
      f--;
      System.out.println(n);
      System.out.println(f);
  }
}

おさらいできたところで今日も頑張りましょう!

今日も頑張る

自動型変換

変数は違う型同士だと代入したり足し算したりできません。
それでも
8 + 0.77
とかの計算をしたいときもあるでしょう。
そんなときに型変換を使うのです(この辺もC言語と同じだ)
しかし、Javaには自動的に型変換してくれる機能がある模様……。

class Main {
  public static void main(String[] args) {
    int month = 8;
    int date = 7;
    double temperature = 35.2;

    /* ここで自動型変換。
       変数はすべて数値型だが
       " + "は同じ型同士でしかできないので、
       すべて文字列型に変換されている */
    System.out.println(month + "月" + date + "日は" + temperature + "度です");

    // int型同士の計算はint型
    System.out.println(5 / 2);    // 2が出力される
    // double型同士の計算はdouble型
    System.out.println(5.0 / 2.0);    // 2.5が出力される
    // int型とdouble型だとdouble型に自動型変換される
    System.out.println(5 / 2.0);    // 2.5が出力される   
  }
}

1日目とかのコードでさらっと使ったのも自動的な型変換だったんですね。
Javaすごい……(C言語のこともよくわかってない)

ごちゃついてるのでかるくまとめ

  • System.out.println();内で数値と文字列を連結すると自動的に文字列型に変換される
  • int型で答えが少数になる計算をしても、小数点以下は切り捨てられる
  • int型とdouble型で計算すると自動的にdouble型に変換される

強制型変換

うん、C言語とほとんど同じでした。
さっきは自動でやってくれてましたが、どうしてもint型同士の計算結果をdouble型にしたいこともあるでしょう。
そんな時は強制的に型変換をしてしまいましょう。
こちらはサラッとコードを書いて終わります。
やりかた
(型名)変換したい値
(double)877

class Main {
  public static void main(String[] args) {
    int a = 5;
    int b = 2;

    System.out.println((double)5 / 2);    // 2.5が出力される
    System.out.println((double)a / b);    // 2.5が出力される
  }
}

そういえばキャストとかいう言い方があったな……(今思い出した)

おわりに

今日は教材の都合でまとめはここまで!
明日も投稿できるように頑張ります!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?