🐣

Java 超入門 〜1〜

2024/10/20に公開

特徴

1.コンパイラ言語

機械語に一括変換する事で処理が高速

2.オブジェクト指向開発

「 データと処理 」を1セットとして
プログラムを組み立ていく開発手法に適した言語。
(処理を部品化してそれらを組み合わせる事で1つのプログラムを構築)

3.OSを選ばない

javaは、windows,macos,Linuxなど
どのプラットフォームでも動く
(なんで?JVM上で動作するから。)

JVM

JavaVirtualMachine
Java仮想マシンの事

JVM言語

相互運用性があるので、ScalaKotkinのコードをjavaで使用できる

環境構築に必要なもの

1.JDK(Java Development Kit)
プログラムを実行する時に
必要な機能がパッケージされたもの

2.VSCode(Visual Studio Code)
コードエディタ
マイクロソフトが開発したプログラムを書くためのエディタのこと
様々なOSで使用可能で、有名ところの言語に適している。

3つの基本構造(基本構造を制御構造や制御フローと言ったりする。)

1.順次進行
プログラムが書かれている上から順に実行されること。

2.条件分岐

3.繰り返し

実行

1.クラスを作る(クラスを定義する)

javaでは、このクラスを組みあわせてプログラムを作っていく為、
javaの土台となる部分(複数のクラスを使うに通ずる)

class Greeting #クラス名{
 public static void main(String args[]){
 # メソッドメイン定義
}
  • クラスを定義した後{}で囲む。括られた部分をブロックと言う。
    ブロック内に、プログラムにどんなことをさせるのか処理を記述する

2.メソッドを作る(メソッドを定義する)

上のpublic static void main(String args[])の部分がメソッドを定義している箇所。

3.処理

System.out.plintlnで処理の結果を画面に表示させる。
終わりに;(セミコロン)は決まり。よく忘れてるので注意⚠️

コードが書けたら、command + Sでファイル保存。
もう忘れてた。

4.実行

コンパイル(パソコンが読める機械語に変えること)

  1. 上にある表示 → ターミナルで、
    javac Greeting(javaのファイル名).java入力 → エンター

  2. 同じディレクトリに、Greeting(javaのクラス名).classのファイルができる。

  3. ターミナルで、java Greeting(ファイル名)

実行するときは、コンパイルして実行の流れ。

変数を宣言する

変数を指定するときは、データ型を指定しなければならない。(int型、String型、boolean型とか)

class クラス名{
 public static void main(String[] args){
  int(データ型) var(変数名); #変数の宣言はここまで。
  var = 1; #宣言した変数に整数1を代入
  System.out.println(var);

コンパイルjavac javaのファイル名.javaして実行java ファイル名

変数の宣言と代入を同時にできる。

int var = 1;

※ 赤い波線が出たらエラー

データ型

整数型

1.byte -100~100

2.short -3万~+3万

3.int -20億~+20億

4.long [京]の桁以上

(兆の上で非常に大きい数ってこと。代入した数字の最後に大文字の"L"をつけるルールがある。)

小数型

1.float 少ない桁数の小数点を扱える

整数型のlongのようにお尻に"F"をつけるルール。

2.double 多くの桁数の小数点を扱える

小数点を扱うときは、doubleを使用することが多い

例文

class Decimal{
 public static void main(String[] args) {
  double var01 = 1.23456789;
  float var02 = 1.234F

  System.out.println(var01);
  System.out.println(var02);
 }
}

文字列型

1.char

文字ひとつの時に使う。(あるの?)
シングルクォーテーションで囲む

2.String

文字2つ以上の時に使う。
ダブルクォーテーションで囲む

ブール型(Boolean型)

true又はfalse
はい又はいいえ
0又は1 と言ったりする。

例文

class Example{
 public static void main(String[]args){
 int var_a = 10; #変数の宣言と代入
 int var_b = 1; #変数の宣言と代入
 boolean var_bool; #変数の宣言

 var_bool = (var_a > var_b);#宣言した変数に代入

 System.out.println(var_bool);
 }
}

コンパイルして実行。結果はこの場合true。

配列の作り方

1.宣言と代入を別々に

データ型[]配列変数名; # 宣言
配列に格納するデータ型を書いて、各かっこ
その後に配列を扱う変数名を書く。

配列変数名 = new データ型[要素数];  #代入
配列を扱う変数のことを配列変数といい、
その名前のことを配列変数名という。

例文

class array{
  public static void main(String[] args){
  String[]arr; #宣言
  arr = new String[3]; #代入

  arr[0] = "sato";
  arr[1] = "suzuki";
  arr[2] = "takahashi";

  System.out.println(arr[0]);
  System.out.println(arr[1]);
  System.out.println(arr[2]);
  }
}

コンパイルして実行。

2.宣言と代入を同時に

データ型[] 配列変数 = {データ1,データ2...} ;
データ型を書いて角カッコ

例文

class array{
  public static void main(String[] args){
  String[] arr = {"sato","suzuki","takahashi"};

  System.out.println(arr[0]);
  System.out.println(arr[1]);
  System.out.println(arr[2]);
  }
}

コンパイルして実行。(1と結果は同じ)

代入したものを変更する場合は、

class array{
  public static void main(String[] args){
  String[] arr = {"sato","suzuki","takahashi"};
  
  **arr[1] = "tanaka"**
  
  System.out.println(arr[0]);
  System.out.println(arr[1]);
  System.out.println(arr[2]);
  }
}

インデックス番号を指定して、代入すればよい

二次元配列の宣言と代入

配列の中に配列が入っている形式。
表形式のデータ(行と列)を扱う際などに使われる。

  • 宣言のみ。
int[][] 配列変数名 = new int[3][4]; #3行4列の二次元配列

例文

class Main{
 public static void main(String[] args){
  int [][] arr = new int[2][3]; # 2行3列の二次元配列を作成

  #配列に値を代入
  arr[0][0] = 1;
  arr[0][1] = 2;
  arr[0][2] = 3;
  arr[1][0] = 4;
  arr[1][1] = 5;
  arr[1][2] = 6;

  for (int i = 0; i < arr.length; i++) {   # 行をループ
    for(int j = 0; j < arr[i].length; j++) { # 列をループ
      System.out.println(arr[i][j] + " ");
    }
    System.out.println(); # 改行
  }
}
出力結果
123
456

lengthとは

lengthとは、javaの配列の要素数(配列の長さ)を表すプロパティ。
つまり、配列の要素がいくつあるかを取得するために使う。

二次元配列の場合、arr.length行数を表す。
各行の列数を取得したい場合は、arr[行番号.lengthで、
その行の列数を取得することができる。

int[][] array = {
    {1, 2, 3, 4},  // 0行目
    {5, 6, 7, 8},  // 1行目
    {9, 10, 11, 12} // 2行目
};

System.out.println(arr.length);        // 出力: 3 (行数)
System.out.println(arr[0].length);     // 出力: 4 (0行目の"列数")
System.out.println(arr[1].length);     // 出力: 4 (1行目の"列数")
  • まとめ

arr.length:配列の行の数が出力。
arr[行番号].length :行番号は指定しているから、列の数が出力される。

二次元配列を使うときに、行と配列の数を動的に把握するのに役立つ。

  • 宣言と代入を同時に。(3行4列の配列を作成。)
int[][] arr = {
  {1,2,3,4}
  {5,6,7,8}
  {9,10,11,12}
};
  • 配列の要素にアクセスする方法
    二次元配列の要素には、行と列を指定してアクセスする。

    int(データ型) value(配列変数) = array[1][2]; # 7ってこと。
    System.out.println(value);
    

複数のクラスを使う場合の構文

クラス名.メソッド名

  • どこのどのメソットかって事。

クラスを書くときは、頭大文字
ex) Main.java

外部ライブラリを使う

他人が作ったクラスを取り込むことで、メソッドが使用できる。構文

import java.lang.Math

  • 外部ライブラリを自分のプログラムに読み込むには、importを使う。
  • class定義より上に記述する。
  • java.langはMathと言うクラスの場所を示している。

roundメソッドって何

roundメソッドはjavaで四捨五入を行うためのメソッドで
このメソッドはMathクラスに含まれている。
float型double型の値を最も近い整数に丸めて返す。

float型...変数の種類の一つで、有効桁数の大きくない小数を入れる箱
double型...有効桁数を大きくしたい小数を入れる箱

public class RoundExample {
    public static void main(String[] args) {
        // floatの例
        float floatValue = 3.6f;
        int roundedFloat = Math.round(floatValue);
        System.out.println("Rounded float value: " + roundedFloat);  // 4
        
        // doubleの例
        double doubleValue = 3.4;
        long roundedDouble = Math.round(doubleValue);
        System.out.println("Rounded double value: " + roundedDouble);  // 3
    }
}

出力結果が、
Rounded float value: 4
(3.6が四捨五入されて4になった)
Rounded double value: 3
(3.4が四捨五入されて3になった)

Discussion