Java文法覚書
基本
- ソースコードのファイルの拡張子は.java。
- クラス名と同じファイル名にする。1クラス1ファイル。(とは限らないかも?)
- javac ソースコード名 でコンパイル。
- 実行は java バイトコード名
- 行の終わりには ; を書く。
基本2
クラス、main関数のひな型
public OriginalClass { public static void main(Stirng[] args){ メイン関数の処理; } }
- 処理はmain関数から実行される。
変数
- 変数名には英数字 $ _ が使える。
- ただし、数字で始める事はできない。
- 大文字と小文字は区別される。
型
- boolean型
- true / false
- char型
- 一文字だけの文字。シングルクォーテーションで囲む。' '
- byte / short / int / long
- 整数数値の型。通常はint型を使っておく。
- float / double
- 小数数値の型。通常はdouble型を使っておく。
- Stringについて
- 文字列のクラス。型ではない。ダブルクォーテーションで囲む。 " "
数値の変数への代入
- 理由を要確認
- 代入時、long型変数へ格納する右辺の数値の末尾にはLを付す。
- 代入時、float型変数へ格納する右辺の数値の末尾にはFを付す。
数値の型変換(キャスト)
- (新データ型)変数 と書く。例) (int)n;
- 整数同士の割り算の計算結果は、小数点以下は切り捨てられる。
- 割り算のどちらかの数値が小数値であれば、計算結果は小数値となる。
文字列演算
条件分岐
if文書式 if(条件文){ }else{ }else if{ }
論理演算子例
> , >= , == , != , && , || , !
三項演算子の書式
条件式 ? 真の時の値 : 偽の時の値
条件分岐2
switch文書式
switch(値){ case 1: 処理; break; case 2: case 3: 複数の条件値の時の処理; break; default: どの条件にも当てはまらなかった時の処理; break; }
break文を書き忘れると、breakが出現するまで次の行以下が実行される。
ループ
while文書式
while(条件式){
処理:
カウンタ++など;
}
後置while do{ }while(条件式);
ループ2
for文書式 for (int i = 0; 条件; i++){ 処理; }
ループ処理応用
- break;
- ループを抜ける。
- continue;
- ループ中、スキップする。
配列
配列宣言の書式 型 変数名; -> 宣言 変数名 = new 型[3] -> メモリ領域の確保。例の場合は[0]から[2]まで生成される。 変数名.length -> 配列の個数を返すメソッド。
宣言と領域確保、初期化を同時に行う方法 型 変数 = {要素, 要素, 要素,...} 例) int array[] = {1, 2, 3}
メソッド定義
メソッド定義の書式(宣言に必要なスコープやら戻り値の型やら)
public static void メソッド名(引数の型 変数名){ 処理; }
クラス
- クラス定義の書式
class User{
String name;
(メンバ変数やメソッドを定義)
}
- インスタンス生成
User tomcha = new User;
User(String name){
this.name = name;
}
クラスの継承
クラスの継承の書式
class hoge extends fuga{ }
継承した時、親クラスに引数をとるコンストラクタが設定されている場合は、子クラスにも同様のコンストラクタが必要。 その中で親クラスにそのまま処理を投げる(引数を渡す)場合は、super(変数)を使う。
アクセス修飾子
範囲
- public
- どこからでもアクセス可。
- protected
- 自らと継承しているサブクラスからのアクセスは可能。
- private
- そのクラス内のみアクセス可能。(継承した子クラスからは不可)
Stringクラス
- .length() -> 文字列の長さを返す
- .substring(f, l) f位からl個の文字列を切り出し
- .repraceAll("before", "AFTER") -> beforeをAFTERRに置き換え
- String[] array = s.split("-",0) -> 文字列を指定記号で分けて配列に格納
Mathクラス
クラスメソッド
- Math.ceil(f)
- 小数以下切り上げ
- Math.floor(f)
- 小数以下切り捨て
Math.round(f)
- 四捨五入
Math.random()
- 乱数を求める
- Math.PI()
- 円周率を求める
Calendarクラス(日付や時間のクラス)
Calendarクラスは外部モジュール。外部モジュールの読み込みは
import java.util.Calendar;
を先頭行に書く。
使用方法:自作クラスの中に
Calendar cal = Calendar.getInstance();
-> 現在時刻のオブジェクトを生成。