ばくのエンジニア日誌

技術的なメモなどを書いていきます。

Javaの基礎メモ

このブログ(ばくのエンジニア日誌)はBAKUNOTEに移転しました。

プログラミング学習サイト、ドットインストールをしっていますか?

いよいよJavaの研修がスタートしたのですが、年末年始の空いた時間を使って事前にドットインストールJavaの基礎を学習しました。

http://dotinstall.com/home

ドットインストールは百式の管理人として知られる田口さんが一昨年から始めたサービスで、国内で数少ないプログラミング学習サービスなのです(国内であと知ってるのはJeek CodeStudyくらいです)。

ちなみに僕は4期生で、結構早い段階からお世話になっているんですよ〜。

学習メモを公開します

メモだけ見てもよくわからないかもしれませんが、自分用に備忘録として残しておきます。

Javaとは?

コンセプトは "Write Once, Run Anywhere" 一度書けばどこでも動く。 Sun Microsystems(現Oracle)が開発。 公式サイト(http://www.oracle.com/technetwork/java/index.html

基本

ファイル名は○○.java。○○はクラス名と一致させること。 実行にはコンパイルが必要。consoleで javac HelloWorld.java と打てばHelloWorld.classが作成される。 実行はjava HelloWorld「.class」は不要。 コメントは// または / /を使用。

変数の宣言

int x; など 変数名:英数字$_ 大文字小文字は区別される、予約はダメ。 println は改行付きで中身を表す

データ型

・boolean true/false

・char 一文字 'a', 'b'など

・byte / short / int / long 整数値。基本intでOK

・float / double 小数。基本doubleでOK

・String 文字列。 "deed"など

演算子

代入演算子:= 四則演算:+ - * / % 単項演算子:++ -- 代入を伴う演算子:x += 3;

long / floatの注意事項 long l = 1243483275365L; 最後にL(l)を付ける float f = 1.432343247F; 最後にF(f)を付ける 演算の際の注意事項 整数同士の割り算は整数となる(切り捨て) どちらかが小数であれば結果も小数。 10 / 2.0 キャスト 型を変換するやり方。 double d = 1.2343; int i = d; ←エラーになる。 int i = (int)d; ←doubleをintとして扱う。

文字列の演算子

連結:+ 整数値は文字列に変換される 特殊文字 \n 改行

\t タブ \ バックスラッシュ \" ダブルクォーテーション

比較演算子

< >= == != && || !

条件分岐

if文

int age = 22; if (age > 20) { System.out.println("大人です"); } else { System.out.println("こどもです"); }

三項演算子

String message; message = (age > 20) ? "大人です" : "子供です"; system.out.println(message); switch文 switch (n) { case 1: system.out.println("One"); break; case 2: system.out.println("two"); break; default: system.out.println("None"); break; }

ループ文

while

do while

for

continue ループを継続

break ループを中断

配列

書き方 int sales = ; 宣言 sales = new int[4]; // 領域の確保 sales[0] = 100; sales[1] = 150; sales[2] = 130; sales[3] = 120; sales.length; // 領域の個数 書き方の省略 int sales = new int[4]; int sales[] = {100, 130, 150, 200};

メソッドの書き方

基本 public static void sayHi() { System.out.println("Hi!"); }

クラスとインスタンス

クラス:設計図

メンバー変数(フィールド)

インスタンス:実体化したもの コンストラクタ … クラス名と同じメソッド名を用意 継承 class SuperUser extends User () {}

アクセス修飾子:どこからのアクセスを可能にするか? public: どこからでも protected: サブクラスまでOK private: クラス、メソッド内のみ staticもアクセス修飾子のひとつ。

Stringクラス 公式サイト参照。

ちなみに研修では・・・

今、オブジェクト指向についてクラスとかインスタンスとか勉強してます。