アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

posted by fanblog

JavaEEの前に復習をしてみる その7 配列とfor文

私が、Javaの勉強を始めた時は、何かとRPGの処理に例える。
といった感じで遊びの中で学習していきました。
Java SE Silverの知識をさくっと頭に入れられたのは、
根底にJavaの知識があったからで、資格勉強から始めていたら、
プログラミングは挫折していたでしょう。。。

というわけで、今回は、for文と、配列を使ったプログラム。

道具屋で、薬草を10個買います。
そして、その薬草を道具箱にしまっていく。というイメージ。

String toolbox1 = "薬草0";
String toolbox2 = "薬草1";
String toolbox3 = "薬草2";
String toolbox4 = "役僧3";





とかやっていると、10くらいは頑張れますが、誤字脱字や、
やたらtoolboxが増えて、道具一個しか走らない道具箱10個を抱えて
勇者は冒険に旅立ちます。箱10個引きずった勇者は、かっこよくないですねw

【イメージ図】勇者_[1][1][1][1][1][1][1][1][1][1]

箱を一つにするには、配列という方法ですっきりさせます。

String[] toolbox = new String[10];

上記のように書くことで、文字列型のtoolboxに0から10個の配列を与えます。
一個の箱に、10個入るよう仕切りを付けたような形ですね。
[0|1|2|3|4|5|6|7|8|9]
左から2個目に薬草を入れるのであれば、

toolbox[1] = "薬草";

これでOKです。

よし、10個入る道具箱ができたぞ!
それでは、10個薬草をしまっていくか・・・

toolbox[0] = "薬草";
toolbox[1] = "薬草";
toolbox[2] = "役僧";



ちょっと待った!!変わってないじゃないかww
道具箱にポンっと置いたら自動的に10個並べたい。

そういう時は、for文で処理させましょう。

for (int i=0; i < toolbox. length; i++){
toolbox[i] = "薬草" +i;
}

ここで言う iは、10回処理させるため専用の変数。
toolbox. lengthは、toolbox自体の宣言した値の最大値。
i++は、for文が一回回ったら、iに1ずつ加算される。
これで10回まわります。
そして、for文の中にはtoolbox[i]に薬草+iが代入される処理が含まれているので、
1回for文が回るごとに、toolboxのそれぞれの領域に、薬草がしまわれている。

プログラムは、これだけ。


package test;

public class Tools {
public static void main (String [] args){
String[] toolbox = new String[10];

for (int i=0; i < toolbox. length; i++){
toolbox[i] = "薬草" +i;
System. out .println(toolbox[i]);

}
}
}



結果。
わかりやすくするため、薬草に番号を付けてその場で出力もさせちゃう。

薬草0
薬草1
薬草2
薬草3
薬草4
薬草5
薬草6
薬草7
薬草8
薬草9

これで、ループ文と配列を思い出しました。
まだ、JavaEEにいくには、長いね・・・。

ちなみに、下記がカッコいいと言っているわけではありませんw
【イメージ図】勇者_[0|1|2|3|4|5|6|7|8|9]

トラックバック

この記事へのトラックバックURL
※ブログオーナーが承認したトラックバックのみ表示されます。
https://fanblogs.jp/tb/2006068

コメント

お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのコメント

はびさん

こんばんはー。

最近はインフラの奴隷になっていて、お友達にしてもらえないです。。。
バリエーション。。。全然ないです。
人様なコードが読めないのも、このバリエーションのなさもありますね。

やっぱり、現場の経験がないと吸収できないものはありますよね。。。はびさんは、初めからCのプログラマーだったわけではないんですね。
インフラから早く抜けだして、コーディングがしたい。

shade|2014年01月24日(Fri) 23:29
Shade さん

こんばんはっ Habitat ですっ

配列はまず、理解しないとPGは組めませんよね
というか、某サッカー漫画なみに、オトモダチにならないといけないぐらいですね。。

まず、データをどうバッファリングするかでかなり作成するPGの骨格が決まってくるので、
配列をはじめデータを扱えるバリエーションは持っておくに越したことはないです

私は、前の派遣先で C# で処理作成するところで手法に行き詰まり、
Dictionary を多様して切り抜けたんですが、他の担当者に 以前VB やってたでしょ?
っと見破られましたww
C# も近年になってやっと扱いだしたんですが、まだまだ引き出しが少ないなぁと実感しました。。
こういうとこは、いい人から技術を吸収しないとねっ!!
Habitat|2014年01月19日(Sun) 22:16
ゲッターさん

こんばんは。
ポインタとか、そういう知識は私にはないのでわかりませんが、
似たようなものなら、jspで作りました。HTMLにタグと一緒にプログラムを埋め込んで、マップをランダムで作るようなもの。
アプレットとか使えば、Javaでもゲームのような画面で作ることはできますが、アプレットは全然わかりません。
ほんと、Javaは広い・・・。

私も、高校生の時に挫折しました。
それで、頭が固くなった今、その頃の屈辱を取り戻そうとしています。
Javaでしたか、私の時は、VBでした。

んー、私の自己満足、記憶呼び覚まし記事で、やる気に慣れるのだろうか・・・無理かなーww

私も同じく、がっつり文系です。数学は、赤点すれすれでしたww
shade|2014年01月17日(Fri) 23:56
shadeさん

確かにif文でのフラグ制御とループ命令覚えたら基本的な土台は作れる希ガスwww。

マップの座標配置とかは出来そうにないけど^^;。
Cならポインタ概念を使うと思うけど、JAVAはオブジェクト指向だからまた違う方法で行うのかなw。
どっちにしろわけわかめwww。

もっとも、プログラムまったくわからないんだけどね^^;。
時間が取れたらこの講義でちょっと勉強してみるかな(ニヤw)。

何気に、若い頃にセンセーにプログラムの才能ないから諦めろって言われたんだけどね(ちょw)。
まだIT業界を志す前の話だけどね^^;。

何気にJAVAを学習してたんだけど、私だけプログラム作れなくて先生が呆れてたっけ(だめぽwww)。
普通センセーって生徒を見捨てないものだけど、よっぽど私がどうしようもない生徒だったんだろうねorz。

それが切欠で、プログラムをきっぱり諦めた痛い黒歴史(笑)だったりするorz。

さぁ、そんな私に果たしてプログラムが組めるのかなw。

shadeさんの腕の見せ所だね(ダマレこの他力本願がwww)。

ちなみに数学全く出来ない完全文系なので、ご注意を(ダマレwww)。
たまに買い物のお釣りですら間違える時があるくらいだし(ちょw)。
それでよくエンジニアなんてやってたものだwww。
資格ゲッター|2014年01月16日(Thu) 21:45
ゲッターさん

おはようございます。
RPGツクール懐かしい!私は一本仕上げましたよ。
内容は忘れてしまいましたが、設計もなにもしてないので、
めちゃめちゃなストーリーだったのは間違いないですね。

この連載記事を追っていけば、もしかしたら作る基礎力か身に付くかもしれません。
ループとif文さえあれば、コードの美しさを抜きにすれば、なんとか形にできる気がしてますww

ゲームって、作るのにすごい時間がかかるので、
やりたいけど、作ってる途中で他にやりたいことが出てきて放置。といった流れが想定できてしまいますw
shade|2014年01月16日(Thu) 08:00
shadeさん

>RPGの処理に
プログラムはさっぱりわからんけど、RPGは作ってみたい今日この頃(ダマレw)。
もっとも、RPGツクールですら挫折しましたが(ダメすぐるwww)。

尚、WOLF RPGエディター(ウディタ)はもっと難しくて即行で諦めますタwww。

んなわけで、是非面白いRPGを作ってくだはい(ナニカ違うwww)。
資格ゲッター|2014年01月15日(Wed) 23:18
   
×

この広告は30日以上新しい記事の更新がないブログに表示されております。