Java luckey!!!! - memo random

Java

参照[https://ja.wikipedia.org/wiki/Java]

用語

  • オブジェクト指向
  • コンストラクタ
    • インスタンス生成時に自動で呼び出される性質を持ち、メンバの初期化等に使用する。
      1. class TestClass{
      2.  
      3.     //コンストラクタ(クラス名と同名のメソッド名になる)
      4.     public TestClass(){
      5.         //初期化処理など
      6.     }
      7.  
      8.     //コンストラクタ(引数があっても問題ない。)
      9.     public TestClass(String tmp){
      10.         //初期化処理など
      11.     }
      12.  
      13. }
  • インスタンス
    • クラスの具体的な実体を定義すること。(クラスをnew する)
      1. public class Main {
      2.     public static void main(String[] args) throws Exception {
      3.  
      4.         // インスタンス(オブジェクト)を生成
      5.         TestClass obj = new TestClass();
      6.  
      7.         // インスタンス(引数によって呼ばれるコンストラクタが変わる)
      8.         TestClass obj = new TestClass("test");
      9.  
      10.      }
      11. }
  • ジェネリクス
    • データの型に束縛されず、型そのものをパラメータ化して扱うことができる。プログラミング技法。
      1. // Tは総称型と呼ばれるもの。Aでもよいが、Typeの頭文字Tを使うことが多い。
      2. public class testClass<T> {
      3.     private T value;
      4.  
      5.     // 値を設定
      6.     public void setValue(T val) {
      7.         value = val;
      8.     }
      9.  
      10.     // 値を取得
      11.     public T getValue() {
      12.         return value;
      13.     }
      14. }
      15.  
      16. public class Main {
      17.     public static void main(String[] args) throws Exception {
      18.  
      19.         //<String> がジェネリクスと呼ばれるもの。このクラスをどの型で使うのかを定義
      20.         //文字型として定義した為、
      21.         //これ以降値を取得。設定は全て文字型で設定しないといけない。
      22.         TestClass<String> obj = new TestClass<String>();
      23.  
      24.         obj.setValue("Test");
      25.  
      26.         String test = obj.getValue();
      27.     }
      28. }
  • シグネチャ
    • signature(証明)とは、メソッドを一意に証明するもの。メソッド名、引数になる。
  • オーバーロード
    • 引数の異なる同名のコンストラクタやメソッドを多重定義すること。

基本文法

  • 基本データ型
    データ型サイズ表現できる値
    整数byte8bit-128~127
    short16bit-32768~32767
    int32bit-2147483648~2147483647
    long64bit-9223372036854775808~9223372036854775808
    浮動小数点数float32bitIEEE754に基づいた表現
    double64bitIEEE754に基づいた表現
    文字char16bitUnicodeで表現できる1文字
    booleanbyte-true or false
  • 宣言
    1. public class TestClass {
    2.     public static void main(String[] args) {
    3.     int money; //整数型の定義
    4.     String moji = new String(); //文字型の定義
    5.     double qty; //小数型の定義
    6.     boolean flg; //boolean型の定義
    7.     Date day = new Date(); //日付型の定義
    8.     String [] array = {"1","2","3"}; // 配列の定義
    9.     Object obj = null //未定義状態
    10.     return money; // 返却値
    11.     }
    12.     public int getQty() {
    13.     }
    14. }
  • アクセス修飾子
    修飾子概要アクセス範囲の広さ
    publicすべてのクラスからアクセスできる
    protected現在のクラスとサブクラスからアクセスできる
    なし現在のクラスと同じパッケージのクラスからアクセスできる
    private現在のクラスからだけアクセスできる
  • 計算符号
    計算符号
    +加算
    -減算
    *乗算
    ^累乗
    /除算
    %余り
  • 論理式
    論理式
    <未満
    <=以下
    >超過
    >=以上
    ==等しい
    !=等しくない
    &AND
    |OR
    &&AND(短絡評価)
    ||OR(短絡評価)
  • if文
    1. if(int > 0){ //条件 
    2.  //
    3. }
    4. else {
    5.  //
    6. }
  • for文
    1. for(int i = 0 ; i<10 ; i++) {
    2.  // 10回ループ
    3. }

特殊構文

  • 拡張for文
    1. String[] array = { "x", "y", "z" }; // 配列を定義
    2. for (String tmp : array) { // 配列で定義した要素分ループ
    3. }
  • ループ文制御
    1. int i = 0; //初期化
    2. for(;;) { // 無限ループ
    3. i++; //インクリメント
    4.   if( i > 4 && i < 8 ) continue; //以降の処理を行わず次のループへ
    5.     if( i > 6 ) break; //ループ処理を終了する
    6. }
  • 三項演算子
    1. int x;
    2. x = 0;
    3. //結果の格納先 = <条件式> ? <trueのときの値> : <falseのときの値>              
    4. String result  = x == 0 ? "正解" : "不正解";
    5. // この場合は正解がresultに入る。
  • 差分リスト
    1. List<String> list = new ArrayList<String>(); //文字型のリストを定義
    2. list.add("A"); // リストに追加
    3. list.add("B");
    4. list.add("C");
    5. list.add("D");
    6. list.add("E");
    7. List<String> sub = list.subList(2,4); // C D E の差分リストを取得

関連


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-10-29 (月) 15:43:19 (1996d)