Java その5

そろそろ条件式にはいります。

Lesson5 場合に応じた処理

・if文のしくみ

複数の処理を行わない場合、{}ブロックで囲う必要はない。でもこれは混乱しそうなのでなるべく基本に忠実に書いたほうがいいね。

・入力文字によっての場合分け

String str = br.readLine(); char res = str.charAt(0); 入力した文字列から文字を取り出す

・条件演算子

char ans; if(res == 1){ ans = 'A'; }else{ ans = 'b'; }
これを条件演算子で処理すると

char ans = (res == 1) ? 'A' : 'B';

こんな簡単に!

・まとめ

if文やswitch文で論理演算子で複雑な条件を作成できる。また、条件演算子?:を使い簡単な条件に応じた処理を記述できる。

まだまだif!このへんはサクッといく。重要なのはとにかく論理演算の記述に慣れること。

投稿者: yoshiaki 日時: 2008年06月13日 08:37 | コメント (0) | トラックバック (0)

Java その4

まじで放置。でも一応やってました。

Lesson4:式と演算子

・式のしくみ

演算子(演算するもの:operator) オペランド(演算の対象:operand) 1+2といった式の場合、「+」が演算子、「1」、「2」がオペランドに当たる。

・インクリメント・デクリメント演算子

変数の値を1加算(減算)する。 前置インクリメント演算子は代入してからインクリメントする。 後置インクリメント演算子はインクリメントしてから代入する。

・代入演算子

左辺の変数に右辺の値を代入する。 a += b は a = a+b と同義

・シフト演算子

5<<2 = 20 5>>1 = 1 数値を2進数で表した場合のケタを左または右にし定数だけずらす演算子。 つまり、1ケタずらすと2^1=2倍、2ケタずらすと2^2=4倍という意味になる。

・型変換

int inum = 160; double dnum = inum;

このように大きなサイズの型に小さな型を代入することができるが、逆は不可能。
そういう場合にキャスト演算子を使い、変換することで可能となる。

int inum = (int)dnum;

しかし小数点以下のような場合は切り捨てられる。
同じ型同士で演算した場合、結果はその型のとおり出力されてしまう。演算結果を異なった型にする場合は、少なくとも一方のオペランドをキャスト演算子で変換する必要がある。

・まとめ

まとめられないwとにかく色々な演算子があるのでここをマスターすれば大分スマートにコードが書けるようになるきがする。

というわけで演算子。まだまだ道はながい!

投稿者: yoshiaki 日時: 2008年06月03日 02:40 | コメント (0) | トラックバック (0)

Java その3

いよいよ変数です。やるます。

レッスン3:変数

・変数の名前と型

名前をつけるとき、数字で始めることはできない。
Javaに予約されているキーワード(return、classなど)を使うことはできない。
ハイフンなど特殊な文字は使えない。

・型の仕組み

Javaの基本的な型は
boolean:trueまたはfalse
char:2バイト文字(\u0000から\uffff)
int:4バイト整数
double:8バイト倍精度浮動小数点

・変数の宣言と代入

int num; //宣言
int num2, num3 //カンマでまとめて宣言
num = 3; //値の代入
int num4 = 10;
↑のような宣言・代入を同時にすることを初期化という

・キーボードからの入力

まず文字列の入力。とりあえず覚える!

import java.io.*;
class key {
public static void main(String args[]) throws IOException {

System.out.println("文字列を入力してください");

BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

String str = br.readLine(); //入力された文字列をstrに読み込む
System.out.println(str);
}
}

・数値の入力

String str = br.readLine();
int num = Interger.parseInt(str); //文字列を変換してint型の変数numに読み込む
System.out.println(num);
整数以外を変換したい場合(double型)
double num = Double.parseDouble(str);
2つ以上の数値を入力する場合br.readLine()を連続して記述することで可能。

・まとめ

変数は型と名前を指定して宣言する。 初期化すると宣言と同時に値の格納ができる。 キーボードから入力した数値は最初文字列として扱われるため、整数として扱うには変換する必要がある。

変数ですね。型とか識別子は油断していると1番ミスりやすいのでちゃんと覚えよう。
しかしJavaは入力1つやるだけでえらいコードかかないといけないのね。。

投稿者: yoshiaki 日時: 2008年04月18日 20:43 | コメント (0) | トラックバック (0)

Java その2

今日もしこしこすすめる。

レッスン2:Javaの基本

・コードの流れを追う

main()メソッドというブロックからプログラムの処理がはじまる。
Javaのコードは1つ以上のクラスから成り立つ。

・文字リテラル

1つの文字は''でくくって表記する。

・エスケープシーケンス

\t:水平タブ
\n:改行
\f:改ページ
\ooo:8進数の文字コード
\uhhhh:16進数の文字コード

・数字リテラル

数字は""や’’でくくらない。
+でつなぐことができる。

class Sample{
public static void main(String args[]){
System.out.println("10進数の10は" + 10 + "です");
System.out.println("8進数の10は" + 010 + "です");
System.out.println("16進数の10は" + 0x10 + "です");
System.out.println("16進数のFは" + 0xF + "です");
}
}

まだまだ基本中の基本です。

投稿者: yoshiaki 日時: 2008年04月18日 00:52 | コメント (0) | トラックバック (0)

Javaはじめました。

wc.JPG

やさしいJavaを買ったのでしこしこ一から勉強したいと思います。で、これからレッスンごとに覚えたことを個人的なレベルでまとめようと思う。飽きずに最後までやりぬきたい!

まえがき:JDKの使い方

・環境変数の設定

ユーザー環境変数を新規に追加。
変数名「PATH」、変数値は「JDKインストールしたディレクトリ\bin」

レッスン1:はじめの一歩

・コンパイラの実行

コマンドプロンプトで「C:\保存ディレクトリ>javac ファイル名.java」
同じディレクトリにファイル名.class(クラスファイル)が作成される。
このクラスファイルはUNIXなど他のプラットフォームでも使える。

・プログラムの実行

「C:\保存ディレクトリ>java ファイル名」

・まとめ

Javaコードは大文字・小文字を区別して入力する。ファイル名も同じ。

Hello World!

投稿者: yoshiaki 日時: 2008年04月16日 17:32 | コメント (0) | トラックバック (0)

CS - 3号館編

terrorism

どうやら完成した模様です。

めちゃくちゃやりたい・・・

とりあえず電子工作室に立てこもりたいです。

投稿者: yoshiaki 日時: 2008年02月12日 01:47 | コメント (2) | トラックバック (0)

WebCrosser

wc.JPG


WebCrosserはウェブ上に存在するサイトを重ね合わせて、そのウェブサイトが持つ固有のデザインやグラフィックをコラージュしたり交配することが出来る作品です。作品自体は決まった形を持っているわけではなく、ユーザーが打ち込んだウェブサイト同士の競合と交雑によって形成されます。
後期のゼミ課題として作ったウェブ作品ですが、technomaterial.orgのコンテンツの1つとして制作しました。当初作る予定だったものと少し内容が変わってしまいましたが、これはこれで気に入っています。まだまだバグフィクスが終わっていないので、終わり次第technomaterialで正式に公開しようかと思います。

投稿者: yoshiaki 日時: 2007年12月18日 19:40 | コメント (0) | トラックバック (0)

ここ最近の活動

11月18日 - ドークボット・スイス・トーキョー 直流と交流の港 ヨコハマ編


12月14日 - IC2007:インターカレッジ・コンピュータ音楽コンサート


ともに[b] Laptop orchestraのライブパフォーマンスです。

ドークボットでは5分間プレゼンということでなにか新しいパフォーマンスをしようと思い、[b]Ankenを作りました。PCスピーカーのみで構築されたフォルムが結構気に入っています。そのうちロボットにしたい。
IC2007では、AACで行ったパフォーマンスと同様、板を使用したスタイルで行いました。ちょっと音量配分をミスってしまいなんとも・・・しかし最後の液晶の割れた画面はなかなかよい具合でした。


両イベントの様子は以下のFlickrで見れます。
dorkbottokyo's photos
webAGORA's photos

投稿者: yoshiaki 日時: 2007年12月18日 18:47 | コメント (0) | トラックバック (0)

名古屋での公演

AACサウンドパフォーマンス道場に出演してきました。

もともと「9 cages」のコンセプトをそのまま受け継ぎつつ、それをパフォーマンスとしてどう見せるかが今回の鍵となっていたのですが、構成やコンセプト面で技術的に断念した部分も多々あり、逆にそこをどう吹っ切りライブに望むのかが、今回の重要な要素だったと思えます。
おかげで今後の[b]チームの活動路線を決める上で、重要な指標となりえるものを見据ることができたし、舞台的技術的な面やこういった形でのライブは後にも先にもなかなか出来るものでもないし、本当に良い経験になるコンペでした。

今までの[b]の活動履歴はtechnomaterial.orgの[b]logから見ることが出来ます。

というかいい加減上のサイトのコンテンツをまとめたいと思います。ブログしかないなんて、見れたもんじゃない・・

投稿者: yoshiaki 日時: 2007年10月11日 23:16 | コメント (2) | トラックバック (0)

嗚呼

なんで俺が一人で地道に半壊れのPCにOSを入れようと苦戦しているのに皆はワイワイとカウンターストライクをやりに行きますか。ちくしょうちくしょう
つうかどうせOSいれたとこですぐぶっ壊される運命にあるのに…なんだか無性に殺意が沸いて来たぜ!
とりあえずxcopy作戦でブートCDを直接HDDに移す作戦でいこうと思ったがやっぱりうまくいかない。こいつぶっこわしていい?

投稿者: yoshiaki 日時: 2007年09月06日 00:22 | コメント (0) | トラックバック (0)