CH3COOH(酢酸)のさくっと393

VB.NET(VS2003)でお仕事中.Windows Mobile大好きです。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  413  : 記事  0  : コメント  7803  : トラックバック  93

ニュース

CH3COOH(酢酸)の実験室 or SOFTBUILD

書庫

日記カテゴリ

2008年7月25日 #

Windows Mobileアプリを作る時には、C#を使っていてプロパティを普通に使っていました。

class Hoge
{
    private Boolean _hoge;
    public Boolean hoge
    {
        get { return this._hoge; }
        set { this._hoge = value; }
    }
}

Javaではプロパティは使えない[*1]様ですので、一般的に使われている方法としては、setXXXX/getXXXXと命名されたメソッドを介して、フィールドにアクセスします。

class hoge {
    private boolean hoge;

    public boolean isHoge() {
        return hoge;
    }

    public void setHoge(boolean hoge) {
        this.hoge = hoge;
    }
}

凪瀬さんに教えて頂いたところ、Java7でプロパティに対応するとの事です。

 

[*1]
publicフィールドからプロパティまで

posted @ 22:18 | Feedback (2)

変数とは

  • インスタンス変数(非staticフィールド)
  • クラス変数(staticフィールド)
  • ローカル変数
  • パラメータ

命名とは

一般的にクラス名はPascal形式、変数、メソッドはCamel形式

基本データ型とは

プリミティブなcharデータ型は、16ビットのUnicode文字

デフォルト値

初期化されていないローカル変数にアクセスしようとすると、コンパイルエラーになる。

リテラル

char及びString型のリテラルには。任意のUnicode(UTF-16)文字を含めることが出来る。

配列

int[] array;
でも良いし、
int array[];
でも良い。但し、後者は推奨された書き方では無い。

変数のまとめ

  • フィールド、変数の違い
  • 非staticフィールド、staticフィールドの違い
  • ローカル変数と引数
  • プリミティブデータ型(byte, short, int, long, float, double, boolean, char)
  • これらにはデフォルト値をコンパイラが割り当てる(ローカル変数の場合は割り当てられない)
  • リテラルは、固定値のソースコード上での表現
  • 配列はコンテナオブジェクト

演算子

代入、算術、単項

等値、関係、条件

型比較演算子 instanceof

superclsを継承したsubclsがあって、

subcls sub = new subcls();
supercls supe = new supercls();

if( sub instanceof subcls) System.out.println("1");
if( sub instanceof supercls) System.out.println("2");
if( supe instanceof subcls) System.out.println("3");
if( supe instanceof supercls) System.out.println("4");

を実行した場合、1,2,4と出力されます。
3.が何故出力されないかというと、superclsのインスタンスであるsupeにはsubclsが実装されていないので、評価がfalseとなります。

演算子のまとめ

式、文、ブロック

フロー制御子

if文とif-else文

Java言語仕様によると、正しくはif-then文と書かれている。

for文

C#の場合、コレクションから要素を取り出すforeach文はforeachというキーワードを使用しているが、

int[] array = { 20, 30 };
foreach (int item in array)
{
    System.Console.WriteLine(item.ToString());
}

Javaの場合は、foreach文はfor文の拡張としている為、下記の様な記述となる。

int[] array = { 20, 30 };
for(int item : array)
{
    System.out.println(item);
}

分岐文

break文

ラベル付きのbreak文が

    int[] array = { 20, 30, 40 };
    int[] array2 = { 50, 60, 70 };

label:
        // 大ループ
        for(int i : array)
        {
            // 小ループ
            for(int j : array2)
            {
                if(j == 60)
                {
                    break label;
                }
            }
        }
    }

フロー制御文のまとめ

雑感

シンタックスの章は長いからキツい……

posted @ 22:08 | Feedback (11)

  • オブジェクトはメソッド(振る舞い)とフィールド(状態)を持つ
  • メソッドによりフィールドを変更する事がOOPの基本原則でっす。
  • クラスとは

継承とは

Javaでは継承はextendsという予約語を使用する

class subClass : superClass {
}

ではなくて、

class subClass extends superClass {
}

インターフェイスとは

Javaではインターフェイスはinterfaceとimplementsいう予約語を使用する

下記のインターフェイスを定義した場合、

public interface newInterface {
    public void func1();
}

インターフェイスはこのように実装される

public class newClass implements newInterface {
    public void func1() {
    }
}

パッケージとは

名前空間?

posted @ 7:52 | Feedback (5)

  • Javaはプログラミング言語であると同時にプラットフォームである
  • Javaを.classのバイトコードにコンパイルする
  • JavaはCを知っているプログラマにとって習得が容易である

NetBeansのインストール

Java SE Downloads から
jdk-6u7-windows-i586-p.exe

http://download.netbeans.org/netbeans/6.1/final/?pagelang=ja から
netbeans-6.1-ml-windows.exe

を任意のフォルダにダウンロードして、
順番にインストールして終わり。(設定は適当に)

# NetBeansってインテリセンス効くんですねー。

 

"hello world"アプリを作ってみる(NetBeans版)

  1. [ファイル]→[新規プロジェクト]
  2. カテゴリ[Java]、プロジェクト[Java アプリケーション]を選択し、[次へ]
  3. プロジェクト名を[helloworld]に変更し、[完了]
  4. main()の中に「System.out.println("hello world");」って追加する
  5. F6を押して実行

 

  • ドキュメンテーションコメントは「/** javadoc */」を使う
posted @ 7:47 | Feedback (5)

組込み系から業務系に転向しました。昨日からお客様への提案書の書き方やらJavaを勉強してます。

Javaは食わず嫌いの言語で特に触れる機会がありませんでした。今まで組込み系でCさえ出来ればなんとでもなったので……

Javaに触れたのは4年前に、IT業界に参入した一番最初に与えられた課題が、JSPで「出会いサイト」を作った時位かなぁ。(社長が「これを組込み展に出すぞ!」とハリキってたのを今でも覚えています。)

 

皆様の薦めにより「Javaチュートリアル 第4版」を購入しました。しばらくは本を頭から順にやっていきたいと思います(`・ω・´)シャキーン

posted @ 7:43 | Feedback (3)