見出し画像

iT-13-[Java勉強]

これまでの復習💧

Javaを学ぶと嬉しいこと

・収入が上がる・他の言語のスキルがアップする

Java習得の3ステップ

・理解(動画)・定着(授業ノート)・実践(演習問題)

Javaとは

・Sun Microsystem社(現Oracle社)が1995年に発表・コンピュータにさせたい処理の順番を書き記したものをソース、プログラムという。

プログラムが動くまでの流れ

ソースプログラム→(コンパイラ)0と1に変換(実行可能ファイル)によって、1+2=3

メリット

・別のOS上でも動かすことができる。
・実行可能ファイルが一つでいい。

JVM(Java Virtual Machine→仮想マシン)

・それぞれのOSでのJVMを備えているため。実行するための環境がある。さらに、開発するための環境もあり、JDKというものもある。

JDK(Java Development Kit)

・これらのJVMを含め、コンパイラやその他便利をまとめたツール。

基本

class クラス名 {
  public static void main (String args[]) {
    処理文;
  }
}

・クラスの内容を、{ }の間を、ブロックに書く。
・処理のまとまりを、メソッドという。
・Javaを実行する時に、必ず、mainメソッドから実行される。

クラス___________________
| ブロック__________         |
| |    処理文      |       |
| |__________________|       |
|________________________|

わかりやすい書き方(フォーマットを整える)

ブロックの開始〜終了や処理文ごとに改行すること
タブや半角スペースで、字下げ(インデント)すること
そのほかにも、
名前付けの慣習として、命名ルールがある。
→クラス・インターフェースはの1文字目は大文字にする
→変数・メソッド・パッケージは小文字にする
→2つ目以降の単語は大文字からスタートする。らくだのこぶみたいに。

変数とは

・データの入れ物である。

変数の使い方

宣言をすること

int month,day;

・代入すること

変数名 = 値;
age = 20;

・参照すること(値を見ること)

・初期化すること

int age = 20;


class Variable {
  public static void main(String args[]) {
    int month;
    month = 6;
    int day = 2;

    System.out.println("今日は、");
    System.out.println(month + "月" + day + "です。");
  }
}

勉強🔥

配列

・配列は、はこを入れるロッカーみたいなもの
newを使う。
生成時にデフォルト初期値が設定する。

データ型[] 配列名 = new データ型[要素数]

int[] score = new int[3];
score[0] = 80;
// scoreの0番目に、80を代入してください。 添字は、0からスタートすることに注意

配列の初期化

データ型[] 配列名 = { 値1, 値2, ・・・・}

配列.length で、配列の要素数をGet
class Array {
  public static void main(String args[]) {
    int[] score = new int[3]
    score[0] = 80;
    score[1] = 100;
    score[2] = 70;

    String[] name = {"高木", "西山", "小梅"};

    System.out.println(name[0] + "さん:" + score[0] + "点");
    System.out.println(name[1] + "さん:" + score[1] + "点");
    System.out.println(name[2] + "さん:" + score[2] + "点");

    System.out.println("受験者数:" + score.length + "人です。");

// score.lengthをすることで、その要素の数(要素数)を利用することができる!!いいね。
  } 
}

多次元配列

・配列を複数つくれる。学校のロッカーだ。

int[][] allScore = new int[2][3];
// 2行3列の配列を作ることができる。

・添字の書き方が大切。まず、配列の最初は1番目ではなく、0番目

allScore[0]⇨    [0][0],  [0][1],  [0][2]の3つの配列がある。
allScore[1]⇨     [1][0],  [1][1],  [1][2]の3つの配列がある。

allScore.lengthは、どうなるか。
これは、allScoreの要素数を出力することになる。
つまり、allScoreの要素は、allScore[0],allScore[1]の2つなので、2と出力。

allScore[0].lengthは、どうなるか。
これは、allScore[0]の要素数を出力することになる。

allScore[0]⇨    [0][0],  [0][1],  [0][2]であるので、
3と出力されることになる。

class MultiArray{
  public static void main(String[] args){
    int[][] allScore = new int[2][3];
    allScore[0][0] = 80;
    allScore[0][1] = 100;
    allScore[0][2] = 75;
    allScore[1][0] = 85;
    allScore[1][1] = 95;
    allScore[1][2] = 80;
    
    // 多次元配列の初期化
    // int[][] allScore = { {10, 20, 30}, {40, 50, 60} };

    System.out.println(allScore[0][0] + "点");
    System.out.println(allScore[0][1] + "点");
    System.out.println(allScore[0][2] + "点");
    System.out.println(allScore[1][0] + "点");
    System.out.println(allScore[1][1] + "点");
    System.out.println(allScore[1][2] + "点");
    
    System.out.println("allScore.length:" + allScore.length);
    System.out.println("allScore[0].length:" + allScore[0].length);
  }
}

では、ここまでで演習をしてみるとする。

演習問題

Q1:エラーが出た。何がおかしいか。

class GreetingBug{
  pubric static void main(String args){
    System,out.println("こんにちは。");
    System.out.println("一緒にがんばりましょう!"):
  }
{

Q2:これを作れ。

Q3:エラーが出てしまったので、回避して。

class ScoreArray{
  public static void main(String[] args){
    //配列の生成
    
    //配列に値を代入
    
    //値を表示
  }
}

Q4:回答せよ。

class ShowData{
  public static void main(String[] args){
    //変数の宣言と値の代入
    
    //値の表示

  }
}

回答

A1

class GreetingBug{
  pubric static void main(String args){
    System,out.println("こんにちは。");
    System.out.println("一緒にがんばりましょう!"):
  }
{

上の問題は、エラーが5個もあった。なので書き直すと、

class GreetingBug{
  public static void main(String[] args){
    System.out.println("こんにちは。");
    System.out.println("一緒にがんばりましょう!");
  }
}

という風になる。
コンパイルエラーが出る。「,(カンマ)」と、「.」の区別が必要。
「: コロン」は間違いで、「; セミコロン」を作る必要がある。
また、mainメソッドが正しく設定されていない。(最初に読み込まれる部分。)

A2
まずは、宣言と値を代入する。(別の行でもOK!)
System.out.printlnで表示できる。

class ShowData{
  public static void main(String[] args){
    //変数の宣言と値の代入
    int num = 10;
    double pi = 3.14;
    char blood = 'A';
    boolean fun = true;
    String msg = "一緒にがんばりましょう!";
    
    //値の表示
    System.out.println(num);
    System.out.println(pi);
    System.out.println(blood);
    System.out.println(fun);
    System.out.println(msg);
  }
}

A3
配列を作るストリングである。
String[] name = new String[4]であると、
エラーでは、Index 4 out of bounds for length 4・・・・
という文字が出る。これは、つまり配列が4つしかないのに、nameのデータが5つもあるのでエラーが出ているということがわかる。
よって、小林さんを消去するか、String[4]をString[5]に変えるかの2つのやり方がある。(今回は後者。)

class ArrayBug{
  public static void main(String[] args){
    String[] name = new String[5];
    
    name[0] = "桜井";
    name[1] = "田原";
    name[2] = "中川";
    name[3] = "鈴木";
    name[4] = "小林";
    
    System.out.println(name[0]);
    System.out.println(name[1]);
    System.out.println(name[2]);
    System.out.println(name[3]);
    System.out.println(name[4]);
  }
}

A4
配列は、1から、
添字は、0から始まることを間違えないこと。

class ScoreArray{
  public static void main(String[] args){
    //配列の生成
    int[] data = new int[4];
    
    //配列に値を代入
    data[0] = 90;
    data[1] = 80;
    data[2] = 100;
    data[3] = 90;
    
    //値を表示
    System.out.println("1人目は" + data[0] + "点");
    System.out.println("2人目は" + data[1] + "点");
    System.out.println("3人目は" + data[2] + "点");
    System.out.println("4人目は" + data[3] + "点");
  }
}


ここまで!

少しずつですが、投稿をしております。 noteで誰かのためになる記事を書いています。 よろしくおねがいします。