0
0

More than 1 year has passed since last update.

JAVA入門 〜PHPとの相違点だけを抜粋〜

Last updated at Posted at 2022-01-27

変数と型

・変数を使用する場合は型を宣言しないといけない ・型には基本データ型と参照型がある

データ型の種類

1、基本データ型

boolean true or false
char 16ビットUnicode文字 \u0000~\uFFFF
byte 8ビット整数 -128~127
short 16ビット整数 -32,768~32,767
int 32ビット整数 -2,147,483,648~2,147,483,647
long 64ビット整数 -9,223,372,036,854,775,808~9,223,372,036,854,775,807
float 32ビット単精度浮動小数点数
double 64ビット倍精度浮動小数点数

2、参照型

※参照型は基本データ型とは異なる特殊なデータ型
String 文字列

参照型について詳しくはこちら

使用例

java

int age; //型宣言
age = 16; //初期化
宣言と初期化を省略した書き方
int age = 16; //型宣言と初期化を同時に実行
初期化しないで配列を使うと・・・
int age; //型宣言
System.out.println(age); //エラー: 変数ageは初期化されていない可能性があります

初期化しないで配列を使うとエラーになる

phpで変数を使う場合
$age = 16;

配列の初期化について

・配列の場合は初期化しなくてもよい ・配列の場合はデフォルトの初期値が設定されている

int[] number = new int[5];
System.out.println(number); //0

各データ型のデフォルトの初期値

boolean false
char ''
byte 0
short 0
int 0
long 0
float 0
double 0
String null

キャスト(型の変換)について

詳しくはこちら

配列

java

配列の作り方
データ型[] 変数名;
変数名 = new データ型[要素数]
String[] customer; // String型の配列を宣言
customer = new String[3]; //初期化
配列の作成例
String[] customer; // String型の配列を宣言
customer = new String[3]; //初期化
customer[0] = "山田";
customer[1] = "yamada@gmail.com";
customer[2] = "090-1234-5678";
配列を宣言と初期化を省略した書き方
String[] customer = {"山田","yamada@gmail.com","090-1234-5678"};

php

$age = ['山田','yamada@gmail.com','090-1234-5678'];

繰り返し構文

拡張for文

配列要素を最初から最後まで順番に使用すること(しかできない)ができる。

String[] customer = {"山田","yamada@gmail.com","090-1234-5678"};

for(String info:customer) {
 System.out.println(info);
}

クラス

基本構造

・javaではmainメソッドは必ず必要 ・クラスが呼ばれるとmainメソッドが実行される

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

   public static void メソッド名() {
        //処理
    }
}

フィールド

クラス直下で定義された変数

class Sample {
    String name = "";
    int age = 0;

    public static void main(String[] args) {
        //処理
    }
}

インスタンス

クラスを使用可能な状態にする

メソッドと同様にオーバーロードできる

基本構造
クラス名 インスタンス名 = new クラス名(引数);
使用例
class Sample {
    Student taro = new Student("太郎",30);
}

コンストラクタ

インスタンスをすると必ず実行される 初期化に使用される

ルール

1、コンストラクタの定義において戻り値の情報は何も記述しない
2、コンストラクタ名はクラス名と同じにする

class Student {
    String name;
    int age;

    Student(String name, int age) {
        name = name;
        age = age;
    }
}

thisついて

thisには2つの使い方がある
1、this()

・コンストラクタを呼ぶ ・実践的な使い方は初期化を行う際の初期値の設定に使用される

使用例

class Sample {
    Student taro = new Student("太郎",30);
}
class Student {
    String name;
    int age;

   //引数がない場合はこのコンストラクタが実行される
    Student() {
        name = null;
        age = 0;
    }

  //引数がある場合はこのコンストラクタが実行される
  Student(String studentName, int studentAge) {
        this(); //引数がない場合のコンストラクタを実行させる
        name = studentName;
        age = studentAge;
    }
}
1、this.変数名

・フィールドの変数を指定する ・ローカル変数名とフィールド変数名が一緒の場合はローカル変数が優先される

使用例

class Sample {
    Student taro = new Student("太郎",30);
}
class Student {
    String name;
    int age;

  Student(String name, int age) {
        name = name; //thisがない場合この変数nameが示しているのはこのコンストラクタの変数name
        age = age; //thisがない場合この変数ageが示しているのはこのコンストラクタの変数age
    }

  Student(String name, int age) {
        this.name = name; //thisがある場合この変数this.nameが示しているのはこのフィールドの変数name
        this.age = age; //thisがある場合この変数this.ageが示しているのはこのフィールドの変数age
    }
}

メソッド名の前の型について

メソッド名の前にメソッドの戻り値の型を設定する

void -> 戻り値なし
int -> 数値型
String -> 文字列

public class calculate {
    public static void main(String[] args) {
        int num1 = 5;
        int num2 = 10;
        sum = add(num1,num2);

        System.out.println(sum);
    }

   public static int add(int num1, int num2) {
        int sum = 0;
        sum = num1 + num2;
        return sum;
    }
}

mainメソッドの引数について

main(String[] args)

mainメソッドの引数(String[] args)を使うにはコマンドラインで引数を渡すことで使用できる

詳しくはこちら

メソッドのオーバーロード

同じメソッド名で複数のメソッドを定義できる

条件

1、引数の数が異なっている

public static void test(int n1){
  // ...
}

public static void test(int n1, int n2){
  // ...
}

2、引数の種類が異なっている

public static void test(int n1){
  // ...
}

public static void test(double d1){
  // ...
}

3、引数のデータ型と数は同じでも順番が異なっている

public static void test(int n1, double d1){
  // ...
}

public static void test(double d1, int n1){
  // ...
}

詳しくはこちら

可変長引数について

可変長引数とは、引数の数が決まっていない引数のこと

使い方
public static void メソッド名(型... 引数名) {
  //
}
使用例
public static void main(String[] args) {
    int sum = add(10,20,30);
    System.out.println(sum);

}

public static int add(int... numbers) {
    int sum = 0;
    for(int i = 0; i < numbers.length; i++) {
            sum += numbers[i];
    }
    return sum;
}

パッケージの使い方

・パッケージはクラスを分類するための仕組み ・phpのnamespaceと似た機能

使い方

・階層の上から順に「.」でパッケージ名を連結 ・クラスの先頭で「package」と宣言 ・小文字で記述 ・パッケージ名は通常、インターネットドメインを逆にした形式のパッケージ名とする

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