シニアIT化ブログ

文系50代管理職がIT人材を目指してイチから学ぶ奮闘記

【学習15日目】もっぱら、for文

8月22日土曜日

今日は法事で外出予定…につき、朝イチ時間を使っての勉強です。

では早速、昨日の振り返りから。

 

配列の繰り返し処置について。

配列に格納されている要素を順に出力、と。f:id:makken1968:20200822094608p:plain

 

これまで習った内容が左。

nameの要素をインデックス番号指定で取り出すという手順。

繰り返しで面倒。

f:id:makken1968:20200822094749p:plain

for文を一行挟むと出力指示が楽になる、っと。

for文の省略形に慣れなければ。

 

次はlength。

新しい要素が増えてきて頭の整理をしながら進めないと…

f:id:makken1968:20200822095444p:plain

英語のlengthは長さだけど、ここでは要素の数を表すとの説明になっている。

要素の長さ、と言い換えてもいいのかな?

例えば、for (int I = 0; i < names.length; i++) {

という風にfor文中の、配列の後に埋め込むと要素の数を気にしなくて良いみたいだ。

注意点は、配列名の後にドット(.)でつなぐこと。

 

演習。

名前のところにlengthを使ってみる。

f:id:makken1968:20200822100153p:plain

出力結果はこんな感じ。

f:id:makken1968:20200822100308p:plain

よし、次っ

 

今度は拡張forってのが現れた。

for文は配列用に特別な構文を用意していて、これを使えばより効率的みたいだ。

for ( データ型 変数名 :配列名){繰り返す処理;}と書く。 

f:id:makken1968:20200822100603p:plain

先ずはデータを定義して、その後に拡張for文と出力指示内容を書く、と。

f:id:makken1968:20200822100803p:plain

 

で、普通と拡張版ではどう違うのさ?

比べると以下になる。

f:id:makken1968:20200822101516p:plain

拡張for文を使うと全然違う記載になった。

forカッコ内で指定した要素がname(変数)に置き換わって、よりシンプルな見た目になっている。

振り返ると、こんな感じ?

1. インデックスで要素を取り出して書く

2.for文の省略形を使うと要素を簡単にまとめて書ける

3.for文にlengthを加えるとさらに簡単にまとめて書ける

4.拡張for文を使うとさらにシンプルに書ける

まぁ4を使えば細かい式を入れなくて済むし便利ですな。

何しろ老眼で記号(特に++とか--が見えにくい💦)

 

拡張for文を使った演習。

f:id:makken1968:20200822103332p:plain

通常のfor文と比べて、for内の記載が全然ラクに。

f:id:makken1968:20200822103459p:plain

結果はもちろん同じ。

こっちの方がいいですね^^

 

ここら辺で朝の勉強はタイムアップ。

またスキマ時間を見つけて取り組みます。

ではでは。

 

【学習14日目】Java Ⅱを終えてみたものの…

8月21日金曜日

今週2度目の出社。今朝は寝坊気味でプログラムを勉強する時間が稼げず、昼休みや業務の合間に少しずつProgateを進めてみました。

しかしながら、業務の最中ではどうしても話しかけられたりして中断ばかり。ページは進んだものの、あまり頭の中に残らないと言う結果に…

 

進捗自体はJava Ⅱを修了したのだけれど、あまり血肉になってない感じ。

週末にもう一度見直すことにして、今日はざっくり振り返りを。

 

今日は配列から。

これはJSでまだ習っていない範囲だったので初見です。

f:id:makken1968:20200821233805p:plain

ふむ。nameの複数形namesでまとめて括ることが出来ると。

 

f:id:makken1968:20200821233919p:plain

数値はint、文字列はString。

この辺は何度も出てくる言葉ですな。

それぞれ、[]を加えると続く配列を括れ、という意味になるっぽい。

 

f:id:makken1968:20200821234001p:plain

int にはnumbers、Stringにはnames。

この組み合わせもよく出てきますね。

Stringの頭文字は大文字であることに注意。

 

配列名とインデックス番号で対象の値を呼び出すことが可能、っと。

f:id:makken1968:20200821234341p:plain

配列の最初は1ではなく0となる模様。

なぜ0からかは現時点では不明。

 

ここで演習。

f:id:makken1968:20200821234625p:plain

注意点として、配列の中の文字列で、カンマの次に半角スペースを置くのを勧められる。この方が見やすいのかな?

 

配列の要素は上書き出来る、っと。

f:id:makken1968:20200821235023p:plain

先ずは配列の定義、次に出力の指示をした後、インデックスの中身を更新することが出来るってことの様だ。

 

次の演習では、languagesなる配列を使用してRubyJavaに更新してみた。

f:id:makken1968:20200821235223p:plain

 

と、ここら辺までは順調に来ていたけれど、この後の理解が曖昧に終わっている。

なので今日の区切りはここまでにして、明日改めて復習をしたいと思います。

 

今回はこれにて。

ではでは。

【学習13日目】Java Ⅱの世界を征く

8月20日木曜日

今日は出社日だったのだけれど、朝の気怠さが半端なくて急遽休みを取得。上長に気分が悪い旨を告げたら熱中症を疑われる^^; 

大袈裟だと思ったけれど、なるほど昨日までいた名古屋は38℃の酷暑だったからそれも一因かも知れませんな。

とにかく午後3時くらいまで休養し、その後Progateでプログラムをぼちぼちと勉強してました。

※奥さんからは休むよう言われたけれど汗

 

今日学んだことをざっくり言うと、↓でした。

・条件分岐(if文)、else・else if、swicth

・繰り返し処理(while・for)、break、continue

 

それぞれ振り返りします。

if文は()内に条件、{}内にやりたい処理を書けば良し、と。

f:id:makken1968:20200820225021p:plain

f:id:makken1968:20200820225218p:plain

ふむふむ。

等しい(==)が分かっていればサクサク。

 

f:id:makken1968:20200820225337p:plain

ちな、JSならconsole.logと書くところ。

表現が異なると思えばなんの事なし。

 

続いて演習。

f:id:makken1968:20200820225637p:plain

しいて言えば波カッコを閉じるインデントの揃え方の理解が今一つ曖昧…

 

お次はelse・else if。

f:id:makken1968:20200820225905p:plain

f:id:makken1968:20200820225924p:plain

 

ここで注意点。

else ifはいくつでも並べることが出来るけれど、実行されるのは最初に合致した条件だけ。早い者勝ちなのね。

f:id:makken1968:20200820230153p:plain

演習をさくっと。

f:id:makken1968:20200820230242p:plain

これにてelse関連は終了。

 

となれば次はswicthですな。

f:id:makken1968:20200820230402p:plain

ここではcaseの後にコロン(:)を付けないとうまく計算されないので注意。

それと、breakと、breakの後の(;)を忘れがち。

ええ、何度も失敗しておりますとも!^^;

 

ifとswicth文の違い。

選択肢が多い場合はswicthの方が書きやすいだろうな…(多分)

f:id:makken1968:20200820230551p:plain

そうそう、breakしないと無限ループするのね。はーい

f:id:makken1968:20200820230907p:plain

 

続いて、default。

f:id:makken1968:20200820231105p:plain

ふむふむっと…

 

ここでインデントの揃え方に触れると、

f:id:makken1968:20200820231245p:plain

ふーむ。

タブキーと半角スペース2つとどちらが使いやすいかな…

まぁそのうち慣れるでしょ。

 

ここで演習。

f:id:makken1968:20200820231444p:plain

割り切れない数13なのでデフォ案件となりました。

 

続くはwhileのお時間っと。

f:id:makken1968:20200820231924p:plain

これもwhile(条件){したい処理}の順に書き込めばOKね!

 

f:id:makken1968:20200820232155p:plain

整数1が5になるまでジャンプせよと。

にんじゃわんこがかわいい。

 

演習では減算をしたり。

f:id:makken1968:20200820232438p:plain

 

whileと言えばfor。

この辺はJSも一緒ですな。

f:id:makken1968:20200820232610p:plain

f:id:makken1968:20200820232630p:plain

whileに比べてforは条件を横書き出来るからシンプルに見えます。

f:id:makken1968:20200820232758p:plain

 

ここでhave a break。

繰り返し処理を強制的に終了させる言葉。

f:id:makken1968:20200820232853p:plain

そう言えば、FFではbreakは石化だったなぁ…

 

ここで新たなる用語、continue出現。

JSにはなかった。なんでだろ?

f:id:makken1968:20200820233106p:plain

 

今はまぁ、いい。

で、本日最後の演習。

f:id:makken1968:20200820233254p:plain

今日はここまで!

 

f:id:makken1968:20200820233331p:plain

f:id:makken1968:20200820233348p:plain

ほぼJSと似ていたお陰でサクサクと進めました^^

 

明日は初めての「配列」で気合入れて取り組みます。

ではでは。

【学習11・12日目】Java Ⅱ 入ります

8月18・19日火水

昨日・今日と名古屋出張でした。とにかく暑かった…

宿泊先のベットでダニっぽいのに身体の複数箇所刺されてかゆいのなんの。

あまり寝られなかったものの、朝に30分ほどプログラムの勉強時間を確保し、少しづつ勉強を進めました^^

 

さて、今回からJava Ⅱです。

最初のレッスンは真偽値のデータ型であるboolean(ブーリアン)型を学びます。

f:id:makken1968:20200820001806p:plain

正しいか正しくないか、trueかfalseで判定したい場合に使うデータの型。

 

次。比較演算子というやつ。

f:id:makken1968:20200820002328p:plain

左右の値が正しければ「==」、そうでなければ『!=」を使う。

ふむふむ。

 

続けて大小の比較、と。

f:id:makken1968:20200820002550p:plain

 

お次は論理演算子の「かつ」「または」へ。

f:id:makken1968:20200820002751p:plain

f:id:makken1968:20200820002938p:plain

この辺はJava Scriptで考え方は学んでおりスイスイっと…

 

「〜でない」もでてきました。

f:id:makken1968:20200820003139p:plain

カッコの前で!でくくるのがポイントっぽい。

 

ここまでのまとめ。

かつ=&&、または=|| として表記。

f:id:makken1968:20200820003245p:plain

 

で、演習問題。

f:id:makken1968:20200820003529p:plain

サクサク進められていい感じ^^

 

というわけでこの両日は朝の頭の体操ってムードで少しだけ。

f:id:makken1968:20200820004605p:plain

f:id:makken1968:20200820004619p:plain

少ないけど前進前進〜 

ほふく前進って感じだけど、毎日コードに浸るってのが大事かと思ってます。

 

明日はもう少し進めたいところ。

頑張ります。

【学習10日目】JavaⅠ修了

8月17日月曜日

明日からの出張の予定を一日前倒しにして夜のうちに名古屋入り。

昼間の名古屋入りはしんどいでしょ… 39℃とか無理…

新幹線の中でちょこっとプログラム学習の続きが出来ましたよ^^

 

スキマ時間に学べるなんて、今日もProgateに感謝です。

JavaⅠも残りわずか。

先ずは型変換について。

型変換とはあるデータ型を他のデータ型に変換すること。

f:id:makken1968:20200817232236p:plain

なんだかピンとは来ないが、「データの型」とはいわば表現方法みたいなもので、求める結果に合ったカートリッジを装填しておかないと期待通りに出力されないのだねってぼんやり理解した。←下手くそ

 

まぁ、例えば「int」が表せるのは整数のみなので、小数点を表示させたい時は「double」というデータの形式を使えばいいのよってことみたい。

f:id:makken1968:20200817232540p:plain

で、変換にも自動と強制の二通りがあると。

ふむ。

f:id:makken1968:20200817233053p:plain

なるほど、オートなら楽々便利ですね。

 

と、ここで演習。

f:id:makken1968:20200817233333p:plain

この辺はサクサクと…

 

お次は強制変換。

f:id:makken1968:20200817233504p:plain

むむ。なんだキャストって。夜の店かディズニーランドなのか。

ちょっと混乱したけど、要はデータ変換をキャストっていうのね。

特に「強制的に」変換する場合に使う言葉らしい。

 

事例では定義を整数でしていたところ、出力結果を「強制的に」小数点で表示したいと無茶振りして、double型を式にねじ込んで解決しておられる。

社長はいつも強引だからなぁと部下がぼやいてそうだ。

 

そんなことはさておき。

このコースのまとめ演習に入りまして、

f:id:makken1968:20200817234322p:plain

こんな情報を出力してみろとのご指示。

f:id:makken1968:20200817234401p:plain

出力の指示のコードがいちいち、System.out.printlnと打つのが面倒くさい…

これも上手くコピペで対応できれば効率的なのだろうな。

ショートカットキーを使いこなせる人尊敬する…

 

ともあれ、課題自体はクリア!

f:id:makken1968:20200817234637p:plain

よし、やりおった。

f:id:makken1968:20200817234700p:plain
それでは明日からⅡに進むとしましょーか。

 

今日はあまり時間が取れずにこれにて終了です。

f:id:makken1968:20200817234828p:plain

毎日コツコツ。

前進してる感がクセになりますね~

f:id:makken1968:20200817234909p:plain

習慣化するのが大事!

明日もスキマ時間を見つけて何とか勉強してみます。

ではでは。

【学習9日目】Java Script Ⅰ 修了からの、Javaへ

8月16日日曜日

いよいよ本日で夏季休暇期間も終了。

一人の時間を最大限活用してのプログラム学習はなかなか乙なものです。夏休みの課題をこなしている様な、懐かしい思いを抱きながら机に向かうのも味わい深いですね。

 

さて、高校野球の交流試合を横目で観ながら、今日もプログラム学習を進めました。

 

先ずはJava Script Ⅰの続きから。

else if

f:id:makken1968:20200816160552p:plain

複数の条件式

f:id:makken1968:20200816160716p:plain

ここでは、「かつ」「または」といった用語を学ぶ。

「かつ」は&&、「または」は||で表すと。ふむふむ。

記号の読み方が分からず、色々とググってみる。

 

検索すると記号辞典なるサイトがあり、ここで呼び方なり意味を学ぶ。https://www.butchi.jp/documents/symbol/

でも、「||」の呼び方は分からんかった^^;

数学に縁のなかった男が50過ぎてこんなことを勉強してるのも奇異なものですね。

だから人生は面白いんだけど。

 

続けて、swicth文。

swicth(条件の値)caseとすると色んな場面に応じた表示を命令することができる。

f:id:makken1968:20200816161752p:plain

なるほど、命令の語尾にはbreakが必須なのね。

 

全く一から始める素人だけれど、こうしてコンピューターに命令する言語を覚え、思い通りに実行させるのは何やら気持ちが良いものだと感じる。

自己効力感というか、対人間では出来ない能力を得たような感覚がありますね。

 

なんせ、間違っていなければ忠実に命令に応えてくれるんだもの。

女子を扱うのとは訳が違いますなぁ…

 

そんな思いを抱きつつ、便利なdefaultとか。

f:id:makken1968:20200816162408p:plain

if elseも面白かったけれど、こっちの方が入力簡単でさらによし。

f:id:makken1968:20200816162521p:plain

まぁ5位ならメダルはありませんよね。

 

ここまで終えたところで、Java Script Ⅰ が終了。

f:id:makken1968:20200816162719p:plain

嬉しいやないかーい♪

 

勢いで次のコースに突入〜

繰り返し処理の、while文とfor文を学びました。

f:id:makken1968:20200816163152p:plainf:id:makken1968:20200816163225p:plain

while文の注意点は繰り返す処理の条件を正確に記載することみたい。

 

続けてfor文。

f:id:makken1968:20200816163537p:plain

おおー、こっちの方がだいぶ楽。

入力は少ない方が間違えないし。

その分、短縮のルールを覚えなきゃなりませんが。

f:id:makken1968:20200816163844p:plain

こんな風に、簡略化する知恵があちこちにあって。

 

なんだか、村上春樹だったり夏目漱石の文章が目覚ましいように、これらのコードを開発した人たちの人となりや息遣いを感じられる気がしますね。

 

そうこうしてるうちに、100までの整数で3の倍数を表せみたいな命令を出すことができるようになりました^^

f:id:makken1968:20200816164338p:plain

4行目のif (number%3===0)なんて文系の人間には全く馴染みがない表現でした。

3で割ったら余らない(=0)ってことだもの。

ちょっと感動しました♪

 

ここで初めてのJava Scriptの無料範囲はここで終了。

面白くなってきたけれど残念。

 

次はRubyPHPなどの言語に進むべきか?と進路に悩んだ結果。

JavaJava Scriptは全然違うものと知り、興味本位でJavaへ進学!https://www.sejuku.net/blog/31751

違いはこちらのサイトで知りました。

両者は全く別物で、メロンとメロンパンくらい違うものなんですと。

 

f:id:makken1968:20200816164641p:plain

色々調べると、このJavaの方が果物のメロンっぽい位置付けなのね…

したらば、やらねばならんでしょう!

 

で、実際やってみると、確かに異なる点が多い。

f:id:makken1968:20200816170106p:plain

HTMLに似たこんな構造があったり、

f:id:makken1968:20200816170208p:plain

Java Scriptで習った「console.log」がJavaでは「System.out.println」だったり。

 

その他細かい部分は違うのだけれど、大体のルールは同じってことで。

Java Scriptを学んでいたお陰でサクサクと進み、変数・変数の更新・自己代入まで終えられました^^

f:id:makken1968:20200816170921p:plain

四角形と三角形の面積を出力したりとか。

f:id:makken1968:20200816171024p:plain

小数点の計算だったりも^^

いやぁ、プログラムの勉強って楽しいですね。

Progateさんに感謝しかありません。

 

という訳で、今日はここまで。

f:id:makken1968:20200816171217p:plain

だいぶ進みました〜〜!

f:id:makken1968:20200816171247p:plain

初めての最上級ボリュームの達成です!

こんな進み具合はなかなか出来ませんが、今日は時間がたくさん取れたし、イチローの固め打ちばりに稼げました。

 

夏季休暇はこれで終わってしまいますが、平日は少しづつ、休日多めに学習する予定で今後も進めたいと思います。

 

ではでは〜〜

【学習8日目】Java Script 2日目

8月15日土 終戦記念日

今日も猛暑日ですね。ちょっと玄関から外を覗くだけで熱気が押し寄せて来ます。

こんな日にクーラーが効いた部屋で好きなことをしていられる。この自由で便利な世界を享受できる。本当にありがたいことです。

 

そんな幸福感に包まれつつ。

Progateを使ってのプログラム学習8日目、今日も進めて行きました。

 

その前に、昨日の疑問点だったconsoleについて。

Java Scriptに入ってから目にするこの言葉の意味が分からない。

家庭用ゲーム機をコンソールと呼ぶことは知っていたけれど、どう解釈すれば良いかをググると。

f:id:makken1968:20200815171116p:plain

なるほどー

広い概念を持つ言葉ですな。

制御盤と言われてもピンと来ないけれど、ゲーム機をそう呼んでいた理由はわかった。

コードを入力して、その結果を表示してって命令する際に使うのね。

console.log()ってなんかわかりやすい(気がする)

 

さて本題に戻ります。

今回は、Java Script1の「文字列と数値」の続きです。

f:id:makken1968:20200815172418p:plain

f:id:makken1968:20200815173517p:plain

ここでは、+とか記号の前後に半角スペースを入れるルールも合わせて学ぶ。

 

続いては変数。

いよいよ開発っぽい言葉が出てきた^^

f:id:makken1968:20200815174002p:plain

解説のところに変数の使い方は簡単です、って書かれていて軽くビビる。

〜は簡単ですって言われるとどうしても心理的なハードル上がるのよね。

f:id:makken1968:20200815174157p:plain

なるほど、クオーテーションっていう記号の使い方に注意、と。

f:id:makken1968:20200815174401p:plain

使い方はなんとなくわかったけれど、なんの為に変数って使うんだろ?と感じた矢先、次に解説が出てきた。親切!痒いところに手が届いてますな〜

f:id:makken1968:20200815174542p:plain

ふむふむ。

入力をこうして効率化してるのね。

f:id:makken1968:20200815174750p:plain

なるほど、わかりやすいです。

 

続いて演習。

lengthという変数を使って円の面積を出してみる。

f:id:makken1968:20200815174840p:plain

…まぁ、円の面積の計算式が分からなかったけど(震え声)


お次は、変数の更新。

f:id:makken1968:20200815175111p:plain

上書きもできるのね。

f:id:makken1968:20200815175150p:plain

f:id:makken1968:20200815175222p:plain

ふーむ。

とりあえずサクサク進もう。

f:id:makken1968:20200815175400p:plain

省略形式もあると。確かに、いちいち同じ様な記載は面倒だものなぁ。

見慣れれば速く意味が掴めるのだろうな…(まだ自信はないけれど)

 

次は定数、と。

f:id:makken1968:20200815175633p:plain

こちらは変数と対照的に、変えることができない。

f:id:makken1968:20200815175718p:plain

コードの途中でいつの間にか値が変わってることがない様にするらしい。
変数と定数の意味合いの違いとその目的はここで整理できた。

 

ここで

f:id:makken1968:20200815180322p:plain

テンプレートリテラル??

全く馴染みがない用語がまた一つ…

とにかく、${ }とすれば指定した値が入るのね。f:id:makken1968:20200815180551p:plain

もう頭が息切れしてきたぞと。

無心で覚えるのみ。

f:id:makken1968:20200815180710p:plain

バッククオーテーションってのも初めて聞く言葉だな…汗

知らずにずっとパソコン使ってた。

 

今日はもうひと頑張りして、if文にもトライ。

f:id:makken1968:20200815181026p:plain

f:id:makken1968:20200815181155p:plain

ふむふむ。

条件と処理を指示するのね。

f:id:makken1968:20200815181309p:plain

if文のポイントは、インデントを下げること。

上記ではconsoleを入れる際にtabキーを1回押して半角スペース2つ分を下げるということ。そっちの方が見やすいとの理由らしい。

 

次に真偽値?なるシーンへ移行。

f:id:makken1968:20200815181719p:plain

f:id:makken1968:20200815181925p:plain

条件が成り立てば実行(=表示)せよ、という命令を入れるのね。

f:id:makken1968:20200815182518p:plain

 

さらに比較演算子?なるシーンに突入(結構オーバーフロー気味)

大小とか

f:id:makken1968:20200815183026p:plain

f:id:makken1968:20200815183157p:plain

等しいか否か。

同一じゃなければ○○せよとの命令も指定できる。

 

演習はこんな感じ。

f:id:makken1968:20200815183345p:plain

ドラクエでもお馴染み、パスワードが違いますってフレーズが染みる。

 

力を振り絞ってもう一つ。

else

f:id:makken1968:20200815183703p:plain

f:id:makken1968:20200815183748p:plain

なるほど。

例のホストの「俺か、俺以外か」って名言に近しいものがあるな、うん。

f:id:makken1968:20200815183918p:plain

elseを使う際は、elseの前後に半角スペースを置くことも忘れずに…

 

今日はここまで!

f:id:makken1968:20200815184247p:plain

結構頑張りました^^

f:id:makken1968:20200815184326p:plain

初めての「多め」ゾーン色に!

可視化されるとモチベがあがりますなぁ。

 

来週も出張があるので、時間ある時にできるだけ勉強時間をかせがねば。

 

明日も続きを頑張ります〜^^

ではまた。