【Java ~ クラスと外部ライブラリ ~ 】勉強メモ（６）

Java学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。



クラス
-

- クラスの定義

クラスの定義は、`「class クラス名」`とします。
クラス名の最初の文字は、<b>大文字</b>にする。
ファイル名は、`「クラス名.java」`としなければなりません。

```.java:person.java
class Person {
  // ここのメソッドを定義
}

```
<br>

- 他クラスのメソッドを呼び出す

`クラス名.メソッド名()`とすることで、他のクラスのメソッドを呼び出すことができます。

下の例では、
MainクラスとPersonクラスの2つのクラスがあり、MainクラスのmainメソッドでPerson.hello()と
する事でPersonクラスのメソッドを呼び出している。

```.java:main.java
class Main {
  public static void main(String[] args) {
    Person.hello();
  }
}
```

```.java:person.java
class Person {
  public static void hello() {
    System.out.println("Hello World");
  }
}
```
<br>

- 補足

Javaは、ファイルではなくクラスを実行します。
また、実行時にmainメソッドが呼ばれますが、正確にはmainメソッドを持つクラスしか実行されません。
mainメソッドのないクラスは、他クラスから呼び出して使う。

なので、下記のPersonクラスを実行しようとしても
mainメソッドがない為、エラーになってしまいます。


```.java:person.java
class Person {
  public static void hello() {
    System.out.println("Hello World");
  }
}
```
<br>

外部ライブラリ
-
Javaでは、他人が作ったクラスを利用することもできます。
このようなクラスを外部ライブラリと呼び、自分のプログラムに読み込ませる事で利用できます。

外部ライブラリを、自分のプログラムに読み込ませるには、<font color="Red">import</font>を用います。
クラス（ライブラリ）を読み込むには、class定義より上で`「import java.lang.クラス名」`とします。

「java.lang」とは、Java.langパッケージはプログラムを作成する上でよく使用される、基本的なクラスをまとめたものである。 

ライブラリを使って、数学的なメソッドを持つMathというクラスのmaxメソッドを使ってみます。
maxメソッドは、引数に渡した2つの数値の大きい方を返します。

```.java:例
import java.lang.Math;

class Main {
  public static void main(String[] args) {
    int max = Math.max(3, 8);
    System.out.println("最大値は、"+ max);
  }
}
```

```.text:出力結果
最大値は、8
```

※他のメソッド
roundメソッド - 引数の小数点以下を四捨五入して返す
Math.round(引数)のように使う。
<br>

コンソールへの入力の受け取り
-
これまではコンソールに値を「出力」してきましたが、コンソールに値を入力し、
その値をプログラム内で使うこともできます。

コンソールへの入力を受け取るには<b>Scanner</b>という外部ライブラリを用います。
Scannerは`「import java.util.Scanner」`で読み込みます。


- Scannerの使い方(文字列を受け取る)

① Scannerを初期化
　new Scanner(System.in)で、Scannerを初期化する
↓
② 初期化したScannerを変数に入れる
　Scanner scanner = new Scanner(System.in)
↓
③ コンソールに値が入力
　`scanner.next( )`とすると、コンソールに入力された<font color="Red">文字列を受け取る</font>ことができる
<br>


```.java:使い方
// ライブラリの読み込み
import java.util.Scanner;

class Main {
  public static void main (String[] args) {

    // Scannerを初期化して変数に入れる
    Scanner scanner = new Scanner(System.in);

    // System.out.printは、改行せずに値を出力する命令
    System.out.print("名前： ");
    
    // 変数nameを定義し、コンソールから文字列を受け取って代入
    String name = scanner.next();
    
    // 「こんにちは◯◯さん」と出力
    System.out.println("こんにちは"+name+"さん");
  }
}
```
<br>

- Scannerの使い方(数値を受け取る)

scanner.next( )は、入力された文字列を受け取っていたが、
`nextIntメソッド`を使えば整数を、
`nextDoubleメソッド`を使えば小数を受け取る事ができる。

```.java:使い方
class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    
    System.out.print("年齢：");
    // 整数の入力を受け取る
    int age = scanner.nextInt();
    
    System.out.print("身長(m)：");
    // 小数の入力を受け取る
    double height = scanner.nextDouble();
    
  }
}

```



<br>
過去投稿記事
-
[【Java~変数の定義、型変換について~】勉強メモ](https://qiita.com/k-yasuhiro/items/43ef789c8be7b669046a)
[【Java ~真偽値~】勉強メモ2](https://qiita.com/k-yasuhiro/items/5a75e6130552abd03934)
[【Java ~条件分岐・繰り返し処理~】勉強メモ3](https://qiita.com/k-yasuhiro/items/cc7ceb00bc795d1ea33c)
[【Java ~配列~】勉強メモ4](https://qiita.com/k-yasuhiro/items/97da0fe073ce5f8ce8d4)
[【Java ~メソッド~】勉強メモ5](https://qiita.com/k-yasuhiro/items/5b56fbae04fece175b88)