2008-08-01から1ヶ月間の記事一覧

ループを脱出する命令last

無限ループを意図的に作っておき、ifとlastを使いループを脱出するという手法が使われています。 while (1) { #無限ループ if (条件) { ... last; } } 条件に当てはまり、if文に入ると命令を実行し、最後のlastでwhileループの外に抜け出すことができます。 …

パッケージの自動インポート

パッケージ - rderaログ 型インポート宣言 - rderaログ パッケージのこと、import文のことを学んでいる。でも、今までjavaのプログラムを書いてきてパッケージなんて気にしたことなかった。それは、javaのプログラムはjava.langパッケージを自動でインポート…

静的インポート宣言

パッケージ - rderaログ 型インポート宣言 - rderaログ パッケージの自動インポート - rderaログ 今までは、パッケージに所属するクラスをインポートすることを学んできた。 でも、クラスの中の以下の2つもインポートできるみたいです。 ・クラス変数 ・ク…

パッケージの宣言

package宣言の書式 package パッケージ名; パッケージ名は小文字で書くことが推奨されている。 パッケージ宣言は一つのソースファイルに一つ。2つ以上宣言することはできない。 package hoge; package hoge2; //エラー ........... パッケージ宣言はソース…

メンバのアクセス制御

修飾子public - rderaログで修飾子publicを使ったクラスに対するアクセス制御に関して学習しました。 ここでは、クラスの中のクラス変数、インスタンス変数、クラスメソッド、クラス変数などのメンバに対するアクセス制御に関して学びます。 メンバのアクセ…

overload

オーバーロードって読むのかオーバロードって読むのか分かりませんがoverloadの勉強。 javaでは一つのクラスの中に同名のメソッドが複数存在することが許されています。 こんな感じに、クラスTestの中に、同名のメソッドAが存在できます。 class Test { void…

クラス型変数は何を参照しているか

DataTest.java 1 class DataTest { 2 3 public static void main(String[] args){ 4 //クラス型変数data 5 Data data = new Data("rdera",170,60); 6 System.out.println(data); 7 data.print(); 8 9 System.out.println(); 10 11 //参照先をコピー 12 Data …

クラスの基本

Data.java 1 class Data { 2 3 //フィールド インスタンス変数 4 private String name; 5 private int height; 6 private int weight; 7 8 //コンストラクタ 9 Data(String name,int height,int weight) { 10 this.name = name; 11 this.height = height; 12…

クラス型インスタンスの配列

まず、int型の配列の生成から値の代入の方法。 知っている方法は3つあります。 int[] a = new int[5]; a[0]=0; a[1]=1; a[2]=2; int[] b = {0,1,2}; int[] c; c = new int[]{0,1,2}; で、クラス型インスタンスの配列はどうなるか。 int型の配列を元に考えれ…

修飾子public

classにpublicを付けて宣言することにより、そのクラスはどこらでも参照できるようになる。 public無しだと、そのクラスはパッケージの中でのみ参照できる。 ちなみに、publicを付けて宣言されたクラスの中でpublic付きで宣言されたメソッドは、どこからでも…

コンストラクタの多重定義overload

同一クラス内でのメソッドのoverload(オーバロード、オーバーロード)についてはoverload - rderaログで勉強したが、コンストラクタの多重定義もできます。 //コンストラクタ public Data() { set(None,0,0); } public Data(String name) { set(name,0,0); } …

クラス変数

クラス変数とは? 別名、静的フィールド。 インスタンス変数に修飾子staticを付けた変数のこと。 インスタンス毎に保持されるデータではなく、全インスタンスを共有して保持されるデータ。 言葉の説明は難しい。 なぜ、クラス変数が必要なのか インスタンス…

クラスメソッド

クラスメソッドとは? 別名、静的メソッド。 メソッドに修飾子staticを付けたメソッド。 public class hoge { ..... ..... ..... public static int get() { ... } } 呼び出し方法 クラス名.メソッド名(...); インスタンスメソッドの呼び出すときのようにク…

クラス初期化子

別名、静的初期化子。 1 public class Hello { 2 //フィールド 3 4 5 //コンストラクタ 6 7 8 //クラス初期化子 9 static { 10 System.out.println("Hello World"); 11 } 12 13 14 //メソッド 15 16 } クラス内のフィールド、コンストラクタ、メソッドの記述…

インスタンス初期化子

クラスメソッドがあって、インスタンスメソッドがある。 クラス変数があって、インスタンス変数がある。 ということで、クラス初期化子があるので、インスタンス初期化子もあるわけ。 クラス初期化子 - rderaログのHello.javaをちょっと変更して利用。 1 pub…

10進数の入力に対して、8進数、16進数、2進数で出力

c

#include <stdio.h> int main(void) { int bit,decnum,flag=1; fprintf(stdout,"input number > "); fscanf(stdin,"%d",&decnum); fprintf(stdout,"oct = %o\nhex = %x\n",decnum,decnum); for(bit=32;bit>=1;bit--){ if( decnum & ( 1<<(bit-1) ) ) fprintf(stdout,"</stdio.h>…

パッケージ

僕がクラスDataを作った。でも、友達も同じ名前のクラスDataを作っていた。 困った。 名前が同じクラスDataを区別すれば良いのか。 それを解決してくれるのがパッケージです。 僕のクラスDataはパッケージaに属す。友達のクラスDataはパッケージbに属すと決…

型インポート宣言

パッケージ - rderaログでパッケージについて、サラッと学んだ。 次は、パッケージに関連して型インポート宣言について。 型インポート宣言とは? パッケージ - rderaログではパッケージに所属するクラスを呼ぶのには、完全限定名と単純名があることを学びま…

javaの修飾子final

javaの修飾子finalは3つのことができます。 変数の値を変更できないようにする。 サブクラスによるメソッドのオーバーライドを防止する クラスを継承できなくする 一つ一つ説明していこうと思います。 変数の値を変更できないようにする finalという修飾子…

if文

ifとelseはそのままなんだけど、perlだとelsifだったりして紛らわしいからメモ。 if (...) { ........... } else if (...) { ........... } else { ........... }

条件演算子

x ? y : z xがtrueであれば、yを評価した値を。 xがfalseであれば、zを評価した値を。

拡張for文

for文の書き方はCと変わらない。 でも、javaには拡張for文という便利なものがあるみたいです。 1 class ExtendFor { 2 3 public static void main(String[] args){ 4 int[] a = {1,2,3,4,5}; 5 int sum = 0; 6 7 for(int x : a){ 8 sum += x; 9 } 10 System.…

garbage collection

"ガーベジコレクション"というのか"ガベージコレクション"なのかよく分からないが。 garbage collectionとは? 直訳した意味そのままで、"ゴミ収集"のこと。 どこからも参照されなくなった配列などはメモリ領域を占有し、リソースの無駄である。そのような領…

javaのprintlnメソッド内での演算結果、変数の振る舞い

Sum.java 9行目はエラーになるのでコメントアウトしておく。 1 class Sum { 2 3 public static void main(String[] args){ 4 int x=1; 5 System.out.println("61+25"); 6 System.out.println("61+25="+(61+25)); 7 System.out.println("61+25="+61+25); 8 Sy…

javaにおける除算、剰余の演算結果

Keisan.java 1 class Keisan { 2 3 public static void main(String[] args){ 4 System.out.println("5/3="+(5/3)); 5 System.out.println("5%3="+(5%3)); 6 System.out.println("5/-3="+(5/-3)); 7 System.out.println("5%-3="+(5%-3)); 8 System.out.print…

MacからVNCを使って遠隔地にあるPCを操作したい

MacでVNCは使えます。 と、言うのもLinuxやWindowsではVNCが使えるのは知っていたのですが。 Macには『VNCというものがない』と勝手に思い込んでいました。 Chicken of the VNC download | SourceForge.net しっかり、あります。ChikenVNCというネーミングは…

ImageMagickのconvertコマンドでmpegファイルが作りたいんですけど

画像を繫ぎ合わせて動画を作りたい!!! ↓ ImageMagickという大変便利なソフトのconvertというコマンドを使って、それが実現できるということを知る。 と、いうことでImageMagickをダウンロード。 $ sudo port install ImageMagick いよいよconvertコマンドを…

SMTPサーバを作りたい

と思っていたので。 http://d.hatena.ne.jp/watanabe_t/20080808/1218175319 早速、やってみた。 http://www.python.jp/Zope/download/pythoncoreからpython-2.5.2-macosx.dmgをダウンロード。 ソースファイルmail.pyを作成する。 ターミナルで、実行してみ…

.bash_profileとか.bash_loginとか.profileとか.bashrcとか.bash_logoutとか多すぎる

bashの設定ファイルが多すぎて、混乱しました。 でも、ちょっと調べたら分かった(つもり)。 試しにアウトプットしてみます。 bashの設定ファイル こんなにあるみたいなんです。 /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc ~/.bash_lo…

macを再インストールしてからやったこと

mac

やったことを追記していきます。 理由 旧・Macの手書き説明書 - FC2 BLOG パスワード認証 Macの環境を晒すのが流行っているみたいなので。 それから、mac book欲しいなーと思っているので、そのときのためにも。 MacOS Xのインストール 参考:MacBook 買った…