[JAVA学習2週目-Javaデータ型、変数および配列JAVA学習2週目-Javaデータ型、変数および配列


白奇善先生と一緒のJAVA勉強2週目.
  • 学習
    基本タイプと値の範囲とデフォルト
    基本型と参照型
    異種
    変数を宣言および初期化します.
    変数のスキャンとライフサイクル
    タイプ変換、鋳造、およびタイプアップグレード
    プライマリ・アレイとセカンダリ・アレイの宣言
    タイプ推論、var
  • 基本タイプと値の範囲とデフォルト



    表記


    typesize in bytesrangedefault valueboolean未定義(通常は1 byte)trueまたはfalsecharnisigned 2 byte"<00"(0)~"ffff"(65535)"<00;u 0000;"byte 1 byte-128-1270 short 2 byte-32768-32768-32767070int 4 byte-231-231-10 long 8 byte-263-104 byte-263-104 byte-1044 byte(6-7ビット精度)
    注意:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

    基本型と参照型

  • 原語タイプはjavaがデフォルトで提供するデータ型を表す.基本的には、基本型ではないものが参照型と考えられます.
  • 変数が
  • ベースとして宣言されると、テーブルの固定サイズとして格納され、データの値が変数に格納されます.
  • ただしreference typeは、変数を宣言する際にサイズを指定せず、値が変数に割り当てられたときに格納するメモリのアドレスを格納します.
  • デフォルトでは、基本型はRuntime Data Areaのスタック領域に作成され、参照型はHip領域に作成されます.
  • 異種


  • 文字とはデータそのものを指す.
    これは、変数にデータを入れることを意味します.
    int a = 10;
    ここで10は文字になりました

  • 定数と文字を区別する必要がありますが、定数は不変の変数(メモリ位置)を表し、finalを加えて変数を宣言すればいいです.

  • テキストは、変数値が変化しないデータ(メモリ位置内の値)です.
  • 明示的に宣言された整数


    btye value1=120;
    int value3=300;
    long value4= 25000L;
    ここでvlaue 4を見ると、数字の後ろに大文字L(または小文字L)を付けることがあります.これは、変数値がlong型であることを明確に宣言しています.この文字記号はJavaでは整数とも呼ばれます.

    浮動小数点数型上昇


    float price = 2.99f;

    変数を宣言および初期化します。


    int a;
  • 変数を宣言するには、変数タイプと変数名を指定する必要があります.
  • 変数は、データをメモリ領域に格納する空間を表し、その名前は変数名である.
  • がこのように変数を宣言すると、メモリ内の空き領域は変数タイプと同じサイズの空間を得、名前を付けて格納された空間を使用することができる.
  • int a=100;
  • 変数の初期化は、変数を使用する前に初めて値を格納することを意味する.
  • すなわち,
  • aという変数に100という変数の値を代入する.
  • このようにすれば、100という値はJVMメモリに割り当てられることを意味する.
  • 変数の初期化を省略する場合もあるが、使用する前に適切な値を指定することが望ましい.
    -ただし、ゾーン変数は無条件に初期化する必要があります.
  • 変数のスキャンとライフサイクル

  • 変数の範囲は、変数に近いまたは近い有効領域を指す.
  • 変数のライフサイクルは変数のライフサイクルです.変数が存在する時間.
  • インスタンス変数

  • クラス内およびすべてのメソッドおよびブロック外部宣言変数
  • クラス変数

  • クラスの内部変数
  • は、すべてのブロックの外部で宣言され、静的に表示されます.

    ゾーン変数

  • インスタンスおよび非クラス変数のすべての変数
  • タイプ変換、鋳造、およびタイプアップグレード

  • タイプ変換:あるタイプを別のタイプに変換します.
  • 1)デフォルトタイプ遷移(==タイプアップグレード)

    자동으로 타입을 변환 시키는 것
    double a = 10;
    double b= 10.0f + 3.14;
    System.out.println(a);
    System.out.println(b);
    ここでaの結果は10.0です.intデータ10が入力されていますが、デュアルフォーマットなので、タイプが自動的に変換されます.
    bの結果は浮動小数点と二重データの算術演算を実行し、浮動小数点データを自動的に二重タイプに変換する.

    2)明示型変換(==鋳造)


    強制ユーザー実行タイプcast
    変換するデータ
    int a =1;
    int b=2;
    double res1 = a/b;
    double res2 = (double) a/b;
    ここでres 1は0.0を出力します.すなわち,int型が0を返しdoubleに結果を代入すると0.0が自動的に代入される.
    res 2の結果は0.5であった.被演算子の1つが2つのタイプである場合、除算演算を行うために、もう1つの被演算子も自動的にタイプ変換されます.

    プライマリ・アレイとセカンダリ・アレイの宣言

  • 配列は、同じデータ型を有するオブジェクトの集合である.
  • 1 Dアレイ宣言


    「データ型」配列名[]=new[データ型][配列長];
    「データ型」配列名[]=newデータ型[]{[オブジェクト0],[オブジェクト1],...}
    「データ型」配列名[]=new{[オブジェクト0],[オブジェクト1]...}
    元は「データ型」[]配列名=new[データ型][配列長]であった.
    こんなにたくさん使うのは、私がまずc言語に触れたからかもしれないので、いつも配列名[]を使っています.
    こう書きます...これはもっとよく知っていますが、どちらも大丈夫なので、そう書かなければなりません.
    例)String str[]=new String[19];
    String str[] = new String[]{"a","b","c"};
    String str[]= {"a","b","c"};

    2 Dアレイ宣言

  • 二次元アレイは、一次元アレイのように宣言することもできる.
    [可変配列名[]=new[可変配列長][1次元配列長][2次元配列長];
    「可変配列」名[]=新しい変数[]{1つの1次元オブジェクト1、1つの1次元オブジェクト2}、{2つの2次元オブジェクト1、2つの2次元オブジェクト2};
    「可変配列名」[]={1次元オブジェクト1、1次元オブジェクト2}、{2次元オブジェクト1、2次元オブジェクト2}}
  • このように書くのは少し複雑に見えますが、実は簡単です.
    String arr[][]= new String[10][20];
    String arr[][]= new String[][]{ {"a","b","c"}, {"d","e","f"} };
    2 Dアレイだけでなく、複数の多次元アレイも使用できます.

    タイプ推論,var

  • 型推定:開発者が変数のタイプを明確に指定せず、コンパイラ自身がその変数のタイプを推定することを指す.
  • 簡単に言えばjavascriptでvarを使うのですが、javaでもできるかどうかはわかりません...ほほほ
  • java 10からタイプ推定が可能です.
  • ただしvarを使用する場合はいくつか注意が必要です.

    var


    宣言できるのは、
  • 初期化値の地域変数のみです.
  • null値に初期化できません.
  • ラムダ式ではvarは使用できません.
  • 案を発表する際には、varではなくタイプを明記する必要があります.