JAVA STUDY(with whiteship)2週目
14941 ワード
Javaデータ型、変数、配列
n/a.ターゲット
Javaの基本タイプ、変数、配列の使用方法を熟知しています.
目次
1.基本タイプと値の範囲およびデフォルト
基本タイプ.直訳は基本型です.
デフォルト値があるため、空の値は存在せず、それぞれにデフォルト値があります.
値の範囲とデフォルト値は次のとおりです.
(出典:https://gbsb.tistory.com/6)
データ表示の範囲は、割り当てられたメモリサイズに関連付けることができます.
まず、整数型であれば、
1 bitは、バイナリ数字を表すことができる大きさです.
1 byteは8ビットで、2進数8ビットを表すことができます.
すなわち、2の8乗で計算すると、256は整数を表すことができる.
8位のうち最前列の位は0が正、1が負、記号、残りの7位が数字です.
すなわち、1バイト時のデータ表示範囲は「-128~127」である.
ミスなら、
浮動小数点タイプ(4 byte)と2タイプ(8 byte)は浮動小数点で表されます.
浮動小数点は指数が10の平方で小数点を表す方式である.
floatタイプはシンボル(1ビット)を表し、先頭のビットは整数ビットと同様に正、負を表す.
指数(10の平方数)8桁、数字(数字)23桁で表します.
doubleタイプの記号は同じで、もちろん1ビットです.
指数11位、歌手52位.
2.基本型と参考型
(出典:https://m.blog.naver.com/PostView.nhn?blogId=highkrs&logNo=220242895539&proxyReferer=https:%2F%2Fwww.google.com%2F)
(1) Primitive Type
Stringと配列は参照タイプとは異なり、newなしで作成できますが、PrimitiveタイプではなくReferenceタイプです.
3.立体的
long count = 10000L;
float f1 = 2.3F;
double d1 = 5.6D;
char c1 = 'A'
literalは、上記の10000 L、2.3 F、5.6 D、および「A」のような変数に割り当てられたデータをliteralとして表す.この文字を定数として宣言し、定数変数を使用してプログラムを記述すると、コードを修正するコストを最小限に抑え、コードをよりきれいにすることができます.
文字のタイプは、値の後ろにl、f、dを付けるように定義できます.
long age=50 Lこのようにして、50をlongタイプのリフトパネルとして表すことができる.floatはf double銀色dを文字の後ろに貼ることができます.
文字の後ろに接尾辞がない場合、整数型はint型、実数型は二重型です.
したがって、floatタイプの変数に基本文字3.14を加えると、より精度の高い文字がより低いタイプに入り、エラーが発生する.したがって、floatタイプに実数を加える場合は、f接尾辞を付ける必要があります.
4.変数の宣言と初期化方法
int num;
char c;
float f1 = 3.14f;
double f2 = 3.14;
String str = "hi"
5変数を宣言した.[データ型変数名;]として宣言できます.
[データ型変数名=変数値;宣言と同時に初期化を行うには、を使用します.
5.変数のスキャンとライフサイクル
重要なのは、変数がどの位置で明示的に使用できるか、および変数がメモリに保持されている位置です.これを変数のscopeとlife timeと見なすことができます.
クラスに宣言するかどうか、静的キーワードが含まれているかどうか、blockに含まれているかどうか.
大きく三つに分けられる.
Scope:静的メソッド以外のすべてのクラス
Lifetime:オブジェクトはメモリに残っています
Scope:クラス全体
Lifetime:アプリケーションが終了するまで、orクラスはメモリに
Instance Variables、Class Variablesは変数です
Scope:変数が属するブロック
Lifetime:変数が宣言されたブロックから離れて動作しなくなった場合
6.タイプ変換、鋳造、およびタイプアップグレード
タイプ変換
異なるタイプのデータを異なるタイプのデータに変換
タイプアップグレード(自動変換)と鋳造(明示的変換)に分けられます.
タイプ販促
ex)
int i = 'A';
double d = 10;
char c = 1.23;
int ii = -1.23;
代入演算子(=)を基準として、左と右のデータ型が一致しない場合、コンパイラによって自動的に変換されます.既存の資料型より広い範囲の資料型に自動的に変換され、資料型の優先順位は以下の通りである.
byte -> short,char -> int -> long -> float -> double
優先度に違反すると、データが失われ、コンパイルエラーが発生します.
かくせんたく
変換シェイプ演算子を使用して、タイプを意図的に宣言して変換します.強制タイプ変換とも呼ばれます.
上記のタイプのアップグレードとは異なり、コード内のタイプ変換の可視性です.
鋳造方法に変換する場合は、変換するデータの前にカッコ()を入力し、カッコ内で変換するタイプを指定します.
ex)
int i = (int)12.345;
float f = (float)12;
7.マスターおよびセカンダリ・スキーマの宣言
int[] arr;
int arr[];
int[] arr = new int[5];
String[] arr = new String[5];
int[] arr;
arr = new int[5]; // 5의 크기, 초기값은 0으로 채워진 배열이다.
int[] arr = {1,2,3,4,5}; // 마찬가지로 자동으로 5의 크기를 가짐
int[] arr = new int[]{1,2,3,4,5};
int[] arr2 = {1,2,3,4,5};
String[] fireWeekend = {"금","토","일"};
int[][] arr = new int[4][3]; //3의 크기를 4개 가지는 2차원 배열
int[][] arr = { {1,2,3}, {2,3,4}, {3,4,5,}, {4,5,6} };
// arr[0] >> {1,2,3}
// arr[1] >> {2,3,4}
// arr[2] >> {3,4,5}
// arr[3] >> {4,5,6}
Primitive type配列には初期値(int=0/string="")があります.
Reference type配列が宣言されている場合は、配列内の要素の初期値がnullであることに注意してください.
元のタイプの変数にはデフォルト値がありますが、Referenceタイプの変数にはデフォルト値がありません.したがって、空の値が記載されている部分は脈々と受け継がれています.
// 객체(Class) 배열 선언
Student[] StudentArr = new Student[5]; //Student Class의 인스턴스 최대 5개 할당할 수 있는 배열
//StudentArr[0] >> null
//StudentArr[1] >> null
//StudentArr[2] >> null
8.類型推論、var
1つ目はjava開発チームが低互換性の目的で追加したものです.
また、JavaのようなC#ではvarキーワードが役に立つ場合があります.
匿名クラスとLINQ.
Javaに適用するには、後から学習予定のJENICとインタフェースの概念が必要らしい.
Reference
この問題について(JAVA STUDY(with whiteship)2週目), 我々は、より多くの情報をここで見つけました https://velog.io/@eledev/JAVA-STUDYwith-whiteship-2주차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol