ぽあ~~

Javaの基礎:まとめ

こんにちは。Javaの書き方について、さっとまとめてあると便利かなと思ったので。。

あくまで自分用ですが、メモです。

【はじめの一歩:Javaを書く環境を整える】

☆ダウンロード

jdk(コンパイラ)を用意する。
Java Archive|OracleJava SE6あたりがよい。
 ダウンロードされた.exeを実行。

②cortanaに”環境変数”と入力。
 Pathに、"C:\Program Files\Java\bin"のフォルダを指定。

③再起動する。

☆書き方:メモ帳で書けますよ。

拡張子は".java"で、Cドライブの任意の場所に保存。

☆実行方法:cmd(コマンドプロンプト)で

①cd "保存したフォルダ名"でEnter。

②javac "保存したファイル名.java"。
 →.classファイルが生成されます。複数のファイルをまとめて生成もできる。

java "生成されたクラス名(拡張子なし)"で実行されます。


Class Sample {
    public static void main(String args[]){
        最初に実行されるメインプログラム
    }
}

【種々の演算子について】

・他の言語と大体一緒。
※+よりも++のほうが優先(  a+++b は、(a++)+b  という意味になります。)
※==, >=, <=, != は数字と真偽の比較。
 文字列の比較は、以下のように使う。
 (例)String b = "いろは";
  bln_a = b.equals("いろは");

【型について】

・他の言語と大体一緒。

・String →int
 Integer.parseInt(String型の変数);

・大きい容器の型→小さい容器の型に型変換する場合、
 明示的に型名を記述する必要がある。
 b = (byte)s;
 byte型 < short型 < int型 < long型

コマンドラインに入力された値を取得する】


public static void main(String args[]){
    ・・・
}

・args.length…何個入力があったか
・args[0].length()…入力があった文字列(0番地)の文字数を取得
・args[0]…文字列そのものを取得

コマンドラインに文字列を表示する】

・System.out.print("あははは");…改行なしで表示
・System.out.println("あははは");…改行ありで表示

オブジェクト指向プログラミング】

☆外部のクラスを読み込みたい!

class Main{
    public static void main(String args[]){
        //クラスのインスタンス化
        Piyo p;
        p = new Piyo();

        int a;
        
        a = p.Tweet(5);

        System.out.println(a);
    }
}

class Piyo{
    処理。
    int Tweet(int b){
        なんか処理;
        return ○〇;
    }
}
☆メンバ変数とコンストラク

class Keisan{
    double ritsu; //メンバ変数(このクラス内のみで利用可能な変数)
    Keisan(double r){//コンストラクタ(初期設定,クラス名と同じ名前のメソッド.)
        //「この」クラス(Keisan)内のritsu変数にrを格納
        this.ritsu = r;
    }
    
    int Zeigaku(int k){
        int kingaku = (int)(k*this.ritsu);
        return kingaku;
    }
}

//↓実行クラス
class Jikko{
    public static void main(String args[]){
        Keisan a;//オブジェクト作成
        k = new Keisan(0.08);//インスタンス

        kekka = k.Zeigaku(1000);
        System.out.println("消費税は"+kekka+"円です。");
    }
}
☆クラスの継承

 →class クラス名 extends スーパークラス


class Bird{
    void Sing(String a){
        ぴよぴよいう。
    }
}
class Okame extends Bird{
    void Piyo(){
        ぴよこさんが歌います。
    }
}
class Jikko{
    public static void main(String args[]){
        Okame o;
        o = new Okame();

        o.Sing("ぴよぴよ");//ぴよぴよいう。
        o.Piyo();       //ぴよこさんが歌います。
    }
}
☆オーバーライド:

 親クラスで定義されたメソッドを、子クラスで再び定義すること。
 子クラス上で親クラスのメソッドを上書きする。

オーバーロード

引数の数や型の違う、同じ名前のメソッドを複数個生成すること。

【メソッドの書き方】

基本
: 返り血の型 メソッド名(引数){  メソッドの処理内容  return (戻り値); }

☆メソッドの返り血あり

int Tweet(int b){
    処理;
    return ○○;
}
☆メソッドの返り血なし

void Tweet(int b){
    処理;
}

Java.util.機能:もともとある機能を呼べます。】

☆スキャナ機能

import java.util.Scanner;
class A{
    public static void main(String args[]){
        //インスタンス化
        Scanner s;
        s = new Scanner(System.in);

        //入力された1行分を取得
        String a = s.nextLine();
    }
}
☆乱数生成機能

import java.util.Random;
class B{
    public static void main(String args[]){
        //インスタンス化
        Ramdom r;
        r = new Ramdom();

        //0~4個までの計5つの中から乱数を生成
        int a = nextInt(5);
        //(例)1~100までの100個であれば、
        //int a = nextInt(100)+1;
    }
}
☆フレーム機能

import java.awt.Frame;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;
import java.awt.FlowLayout;//上から右下に配置するレイアウトの機能

class Sample{
    public static void main(String args[]){
        //インスタンス化
        Frame f = new Frame();
        FlowLayout fl = new FlowLayout();
        Label l = new Label("テスト");
        TextField t = new TextField(10);//10文字ぶん
        Button b = new Button("クリック");

        //設定とか
        f.setTitle("はじめてのフレーム");
        f.setSize(width,height);

        //レイアウトをFlowLayoutにセット
        f.setLayout(fl);

        //フレームにボタン・ラベル・テキストボックスを配置していく。
        f.add(l);
        f.add(t);
        f.add(b);

        //表示
        f.setVisile(true);
    }
}

※グリッドレイアウトの利用


import awt.Frame;
import awt.Button;
import awt.GridLayout;//グリッド(方眼)

class Sample{
    public static void main(String args[]){
        Frame f = new Frame();
        Button b[] = new Button[7];
        GridLayout g = new GridLayout(2,4)//2行4列

        for(int i = 0; i<7; i++){
            b[i] = new Button(i+1+"");//文字じゃないといかんのでね
        }

        f.setLayout(g);

        for(int i = 0; i<7; i++){
            f.add(b[i]);
        }

        f.setSize(width,height);
        f.setVisible(true);
    }

}

※ボーダーレイアウトの利用


import java.awt.Frame:
import java.awt.BorderLayout;
import java.awt.Button;

class Sample{
    public static void main(String args[]){
        Frame f = new Frame();
        BorderLayout bl = new BorderLayout();

        f.setLayout(bl);

        Button b1,b2,...,b5;
        b1 = new Button("玄武");
        :
        b5 = new Button("朱雀");

        //配置(方角を指定すると配置できる模様)
        f.add("Nourth",b1);
        :
        f.add("South",b5);
    }
}