分岐のプログラム その5 [Java]
前回はifの条件式()内でequalsを使って、文字列の比較を行うことについて説明しました。
前回までは条件式の部分をさまざまに変化させて説明してきましたが、今回は少し発展させて3つ以上の分岐について説明していきたいと思います。
前回まで説明してきた2つの分岐は、条件が1つあり、それを満たすかどうかでその後の実行結果が2つに分かれるというものでした。
例えば、
眠いなら、「二度寝してください。」、そうでないなら、「おはようございます。」
と表示させるプログラミングですね。
今回説明するのは、簡単にいうと
天気が晴れなら〜、曇りなら・・・、雨なら…
のように実行結果が3つに分岐するプログラミングです。
それでは実際にソースコードをみていきましょう。
public class Main{
public static void main(String[] args){
System.out.println("明日の天気を予報します。");
int tenki=new java.util.Random().nextInt(3)+1;
if(tenki==1){
System.out.println("晴れ");
}else if(tenki==2){
System.out.println("曇り");
}else{
System.out.println("雨");
}
}
}
実行結果
明日の天気を予報します。
(ランダム生成した整数が1なら)
晴れ
(ランダム生成した整数が2なら)曇り
(ランダム生成した整数がそれ以外なら)雨
条件分岐とは関係ありませんが、久しぶりに「整数をランダム生成するコード」と、演算子がでてきました。
まずはそれについて復習していきます。以下のコードです。
int tenki=new java.util.Random().nextInt(3)+1;
このコードの意味は
0~2までのランダムに生成した整数に1を足したものをint型の整数tenkiに代入する
というものです。簡単にいうと、1~3までの整数をランダムで生成するコードです。
(3)の()内にいれる数字によって、ランダムで生成する数字の個数が変化します。
(3)の場合は3個の整数を生成します。
この時注意が必要なのが、生成されるのが1,2,3ではなく0,1,2ということで0から始まるという点です。
そこで、「+1」とすることで、1,2,3のいずれかの整数を生み出したことになるわけです。
では、本題に戻ります。
3つ以上の分岐ですが、基本形をしっかり押さえていればたいして難しく感じないだろうと思います。
基本形
if(条件式){実行結果①
}else{
実行結果②
}
3つ以上の分岐(今回)
if(条件式①){実行結果①
}else if(条件式②){
実行結果②
}else{
実行結果③
}
2つの式を比較して異なっているのは赤い部分だけですね。
条件が3つ4つ・・・と増えていった場合、赤い部分をその分だけ増やせばいいというわけです。
もし条件①を満たせば実行結果①へ、もし条件②を満たせば実行結果②へ、もし条件③を満たせば実行結果③へ、もし条件④を満たせば実行結果④へ、・・・、それ以外の場合は〜。
といった感じですね。
ただ、条件が増えれば増えるほど、コードが長くなり、スッキリしません。
次回は、コードが長くなった時にスッキリとさせるために使う「switch」を使った分岐について説明していきます。
分岐のプログラム その4 [Java]
前回に続きifを使った分岐のプログラムについて説明していきます。
前回までは「==」、「>」、「>=」などの関係演算子や、「&&」、「‖」を使った「かつ」、「または」のプログラムについて説明しました。
今回はifの条件式()内で文字列の比較をするパターンについて説明します。
例えば、何かのサイトにログインする時に、パスワードやIDを忘れてしまった場合、「秘密の質問」の入力を求められることがありますね。
そして、その質問の答えはたいてい文字列です。
前回までは数字の比較でしたが、文字列の比較ではまた違った式を使います。
それが、「equals」です。
例えば、秘密の答えが太郎に等しいというとき
answer.equals("太郎")
というように表現します。
それでは実際にソースコードの例をみていきましょう。
public class Main{
public static void main(String[] args){
System.out.println("秘密の質問の答えを入力してください。");
System.out.println("あなたの犬の名前は何ですか。");
String answer=new java.util.Scanner(System.in).nextLine();
if(answer.equals("ポチ")){
System.out.println("正解です。あなたのパスワードは12345です。");
}else{
System.out.println("違います。");
}
}
}
実行結果
秘密の質問の答えを入力してください。あなたの犬の名前は何ですか。
(「ポチ」なら)
正解です。あなたのパスワードは12345です。
(それ以外なら)違います。
ifの条件式()内は
answer.equals("ポチ")
となっています。
answerは、その前の行でString型の変数として文字入力を受け付けた変数ですね。
今回はこのString型の変数answerがポチと等しいかどうかの比較(=文字列の比較)を行うため、equalsを使っています。
数値の場合は==、文字の場合はequalsです。
次回はもう少し発展して、三つ以上の分岐について説明していきたいと思います。
分岐のプログラム その3 [Java]
前回はいろいろな関係演算子を使ったif分岐のプログラムを説明しました。
今回は条件式をさらに変えてみます。
「または」、「かつ」のパターンについて説明していきたいと思います。
現実世界においても、「または」や「かつ」を使う場合がありますね。
天気が晴れまたは曇りの場合、 外出する。
お腹が空いているかついろいろなものが食べたい場合、バイキングに行く。
などですね。
もう少しプログラミングに近づけた例をあげると、
年齢層が10代または20代の場合、◯◯の宣伝を表示する 。
性別が男性かつスポーツ好きの場合、◯◯に関するニュースを配信する。
などです。
それでは実際にソースコードを見ていきましょう。
public class Main{
public static void main(String[] args){
System.out.println("性別を入力してください。");
int seibetsu=new java.util.Scanner(System.in).nextInt();
System.out.println("1:男性 2:女性");
System.out.println("年齢を入力してください");
int age=new java.util.Scanner(System.in).nextInt();
if(seibetsu==1 && age>=20){
System.out.println("大人の男性諸君、こんにちは");
}else{
System.out.println("こんにちは");
}
}
}
性別、年齢の入力を受け付け、男性かつ20歳以上なら「大人の男性諸君、こんにちは」と表示し、それ以外の場合は「こんにちは」と表示するプログラムです。
ifの条件式()内で「&&」が登場しました。
「&&」は「かつ」という意味です。つまり、性別が男性という条件と、20歳以上という条件の2つを同時に満たしている場合でないと条件を満たしたことにはなりません。
今回のソースコードには登場しませんでしたが、「‖」は「または」という意味です。
仮に、今回のソースコードの&&を‖に変えた場合、性別が男性という条件、または年齢が20歳以上のどちらかいっぽうの条件を満たしている場合、条件を満たしていることになります。
次回はさらに別パターンの例を説明していきます。
分岐のプログラム その2 [Java]
今回も分岐のプログラムについて説明していきます。
前回、ifの条件式()の中に=を書く時は==となることについて説明しました。
今回はその他のパターンについてもみていきたいと思います。
関係演算子には他に「!=」、「>」、「>=」、「<」、「<=」 があります。
「!=」は「≠」のようなもので、等しくないことを表します。
「>」や「>=」は大小比較です。「=」の付いている方は値を比較したときに等しい場合も条件を満たすということです。
3>3は成り立ちませんが、3>=3は成り立ちます。
では、実際にソースコードの例をあげてみていきましょう。
public class Main{
public static void main(String[] args){
int a=2;
int b=3;
System.out.println("2と3の和積の大小比較を行います。);
int wa=a+b;
int seki=a*b;
if(wa>=seki){
System.out.println("和は積以上です。");
}else{
System.out.println("和は積未満です。");
}
}
}
実行結果
2と3の和積の大小比較を行います。和は積未満です。
int型の整数a,bにそれぞれ2,3を代入します。
そして、その和をwa、積をsekiとします。
和と積を比較し、和が積以上なら「和は積以上です。」と表示します。そうでない場合(和は積未満の場合)は、「和は積未満です。」と表示します。
今回は積の方が大きいため、画面上には「和は積未満です。」と表示されます。
このように、条件式の部分にはtrueかfalseを問うもの以外にも大小比較を入れることもできます。
次回もif文による条件分岐について説明します。
分岐のプログラム その1 [Java]
前回、ifを使えば分岐させることができると説明しました。
今回は実際にソースコードの例を挙げて説明していきたいと思います。
public class Main{
public static void main(String[] args){
boolean nemuke=true;
if(nemuke==true){
System.out.println("二度寝しましょう") ;
}else{
System.out.println("おはようございます");
}
}
}
それでは順番にみていきます。
最初の2行はお馴染みの決まり文句のようなものですね。
そして3行目「boolean nemuke=true」 。nemukeは変数です。そして、booleanは真偽(true or falseを問う)データ型です。そして、trueで初期化しています。
「int a=3」と構造的には同じですね。
この場合は
int型の変数aに3を代入する
でしたが、上の例の場合は
boolean型の変数nemukeにtrueを代入する
となります。眠気がある場合はtrue、そうでない場合はfalseですね。
そして、いよいよでてきました「if」。
if(nemuke==true){System.out.println("二度寝しましょう");
}
はもし、nemukeがtrueなら(眠いなら)、{ } 内のことを実行します、という意味です。
ifの直後の()内に条件を書き入れ、その条件を満たす場合の行動を{}内に書き入れます。
簡単にいうと、
if(条件){行動
}
ということですね。
条件の部分でnemuke==trueのように=が2つになっています。ifの中で使われる演算子のことを特に「関係演算子」と呼びます。(ちなみに、前記事ででてきた演算子は厳密には代入演算子といいます。)
ifの条件式では=が2つと覚えておきましょう。
そして次の
else{System.out.println("おはようございます");
}
これは、「そうでない場合は{}内の行動をする」という意味です。elseは英語で「他の」といった意味があります。
ひらたく言うと、もし(if)〜なら・・・、そうでないなら(else)・・・ということになります。
つまり、今回のプログラムでは、もし眠気がないなら、画面に、おはようございます、と表示させます
まとめると基本形は以下のようになります。
if(条件){行動①
}else{
行動②
}
条件を満たすなら行動①へ、満たさないなら行動②へということです。
これがifの最も基本的な構造です。
次回は条件式の部分を変えて、もう少しifの基本形に慣れていきましょう。
枝分かれさせたいならif [Java]
前回、プログラムは①順次、②分岐、③繰り返しの三つでできていると説明しました。
今回は②分岐について説明していきます。
分岐は簡単にいうと枝分かれのことです。
夕食を食べた後、お風呂にはいるor寝る。
休日、出かけるor家で過ごす。
道に迷った時、右に進むor左に進む。などなど
二つ以上の選択肢があることを分岐といいます。日常レベルではあまり意識しないかもしれませんが、人はどちらかを選択する時に必ず何かしらの判断基準があります。
例えば、休日、出かけるor家で過ごす、では疲れているのか、そうでないかなどです。
プログラミングではこういった判断の条件を「if」で表します。
「もしも〜なら・・・」といった具合ですね。
そして、その条件に合わない場合、つまり「そうでないならば」、「else」で表します。
もし〜なら・・・、そうでないなら…。(if条件・・・、else…)といった具合ですね。
次回は実際にプログラムの例を挙げて説明していきます。
知財戦略の教科書 工夫と知識はお金に換えられる!(佐原雅史) [読書感想文]
たった3つでわかる、プログラムの流れ [Java]
今回はプログラムの流れについて説明していきます。
先に言っておきます。今回説明することは、プログラミング以外のことにも通ずることで、難しくありません。
プログラムを作るうえで、そのプログラムは①順次、②分岐、③繰り返しの3つの流れで構成されています。
①順次
プログラムを上から順番に実行していく。
②分岐
条件によって、枝分かれする。
③繰り返し
ある条件が満たされるまで繰り返す。
これら3つを組み合わせれば、どんなものでもプログラミングすることができます。
プログラミングは現実にあるものを細分化して、コンピュータにもわかるように説明したものです。
ということは、どんなものでもプログラミングできるということを言い換えれば、逆にいうと、現実にあるどんなものでもこの3つの組み合わせを用いて説明でいるということになります。
ということで、1日の生活を例に、この3つを詳しく説明していきたいと思います。
朝起きました。
↓順次
朝ごはんを食べました
↓順次
歯を磨きました。
↓ 順次
服を着ました。
(友人との待ち合わせ。晴れなら大きな公園、雨ならカフェ)
↓分岐
(雨だったので)カフェにいきました。
↓順次
帰宅しました。
↓順次
カフェで食べ過ぎたので、疲れて上がらなくなるまで腕立て伏せすることにしました。
↓繰り返し
腕立て伏せがようやく終わりました。
↓順次
就寝
通常は「順次」です。
しかし、「もしも、雨が降ったら〜」のように条件によって行動が変わる時は「分岐」となります。選択肢が複数ある状態ですね。
そして、腕立て伏せで「疲れるまで」のようにある条件を満たすまで同じことをやり続けることを「繰り返し」といいます。
次回は「分岐」について説明していきます。プログラミングでは分岐の際には「if」を使います。
いろいろな演算子 [プログラミング全般]
命令実行の文 その3 [Java]
前回は、ランダムで数字を生成する文について説明しました。
今回は、文字や整数の入力を受け付ける文について説明します。
主な用途としては、ユーザーに氏名や年齢を入力してもらうときに使用します。
文字列の入力を受け付ける
String input = new java.util.Scanner(System.in).nextLine();
整数の入力を受け付ける
int input =new java.util.Scanner(System.in).nextInt();
見比べてみてください。
非常に似通っています。異なる部分はStringとint 、nextLineとnextIntですね。
簡単におさらいしながらこの二つの違いについて説明していきます。
Stringとintは変数inputに対するデータ型です。収納する箱の形状を表しているのでしたね。
Stringが文字列を収納するデータ型であるのに対して、intは整数を収納するデータ型です。
ちなみに一文字だけ収納する場合はchar、大きな整数を収納する場合は long、小さな整数を収納する場合はshort(またはbyte)を使えばよかったのでしたね。
特に理由がない場合は、文字ならString、整数ならintで問題ありません。
ということで、今回の場合は文字の入力を受け付ける方にはデータ型としてStringを、整数の入力を受け付ける方にはデータ型としてintを使います。箱の中にいれるものを想定して、データ型(箱の形状)を決定すればよいわけです。
続いて異なる部分としてnextLineとnextIntが挙げられます。
これについては意味を考えればわかると思います。
文字列の入力を受け付けるのでLineを、整数の入力を受け付けるのでIntを用います。どちらかややこしくなった時は、意味のうえから考えても違いがはっきりすると思います。
この二つの文はよく使う文なのでそのまま覚えてしまうのが良いと思います。
命令実行の文は覚えきれないほどの数があります。実際にプログラムを作る際には、「こんな命令あったよな・・・」と思い出したり、調べたりしながら作業していくことになりますが、よく使う文に関しては覚えてしまった方が効率が良いと思います。
理由は二つあります。
①調べる手間が省ける
②表記の仕方に慣れる
からです。一見、無意味に見える文字の羅列ですが、その一つ一つにちゃんと意味があります。
詳しくはもっとJavaのことを勉強していくうちに少しずつわかっていくので、今の時点では形ごと覚えてしまいます。
さて、それでは実際にこの二つの文を使ったプログラミの例を見てみましょう。
public class Main{
public static void main(String[] args){
System.out.println("あなたの名前を教えてください。");
String name = new java.util.Scanner(System.in).nextLine();
System.out.println("あなたの年齢を教えてください。");
int age = new java.util.Scanner(System.in).nextInt();
System.out.println("こんにちは、"+age+"歳の"+name+"さん");
}
}
実行結果
あなたの名前を教えてください。ウィークリープログラマー
あなたの年齢を教えてください。
23
こんにちは、 23歳のウィークリープログラマーさん
このようなユーザーから入力を受け付けるプログラムを組んだ場合、プログラムは一時停止状態になります。
ユーザーが文字やら数字やらを入力するとそれが変数に代入されます。
命令実行の文は他にもたくさんありますが、あとはでてくる度にその都度説明することにします。
次回は演算子について説明します。
インクリメント演算子、ディクリメント演算子、そして、普段はあまり馴染みのない式の書き方です。
命令実行の文 その2 [Java]
ハンドメイドペンケース [その他]
命令実行の文 [Java]
変数の決まり [Java]
前回までに、変数はデータを収納するための箱であると説明しました。
そして、その箱の名前は自分で決めることができます。
例えば、数字を入れる箱なら、「int number」、「int suuji」、「int kazu」などわかりやすいように名付けます。
使用できるのはアルファベット、数字、「_」、「$」(、ひらがな、漢字など←推奨されません)です。
ただ、厳密には変数として名付けることのできない名前もあります。 それが予約語と呼ばれる約50個の単語です。
①予約語は使用禁止
その単語自体がJavaの中で意味を持ってしまっているため使用することができません。これまでにでてきたものだとint,doubleなどのデータ型、その他にも後々に紹介するif(条件分岐)などです。さらに詳しく知りたい方は→( )
②同じ変数名を再度使ってはならない
コンピュータは理解力のない体力馬鹿 ( )でも触れたように、同じ変数名を使用してしまうと区別することができません。
人間であれば、見た目も声も何から何までそっくりな双子がいても、バスケをやっているのか、サッカーをやっているのかなど、行動内容で見分けることができますね。
しかし、コンピュータは名前でしか判断できません。行動内容が異なっていても、名前が同じなら、コンピュータにとっては同じなのです。
ですから、もしも数字を複数種類使いたいのであれば、 int number_a, int number_b, int number_cのように別々の名前を付けなければなりません。
③大小文字、全半角は区別される
上の例でいうと、int number_aとint number_bが区別されるように、int number_aとint number_Aは区別されます。全半角についても同様に区別されます。
④ 複数の単語をつなげる場合は、2つ目以降の単語の先頭を大文字にする
int myNameのように、2つ目以降の単語の先頭を大文字にします。これは慣習のようなもので、必ずしもこうしなければいけないというものではありません。
プログラムをグループで作る、書いたプログラムを他者に見てもらうとなった時に見やすくするためです。
変数の名付け方にも慣れてきたでしょうか?
次回は「命令実行の文」について説明します。
主なデータ型は4種類 [Java]
前回は、演算子について説明しました。
その中で「int a」のintの部分をデータ型、aを変数であると説明しました。
変数の部分は箱に入れる中身がわかるような名前にしておくということでした。
今回は、このデータ型について説明していきたいと思います。
データ型は、簡単に言うと箱の種類・大きさを表しています。
引っ越しで例えると、
Sサイズの段ボールなのか、Mサイズなのか、Lサイズなのか、
それとも、衣類を入れることができるハンガーボックスなのか、
家具を包み込むネット毛布なのか。
収納するものの種類や大きさによって使い分けます。プログラミングでも同じです。
文字なのか、数字なのか(大きな数字なのかどうか)などによって使うことのできるデータ型が異なります。
前回使ったのはintというデータ型でした。これは普通の整数を収納できるデータ型です。具体的には−2147483648〜2147483647の範囲内の整数を扱うことができます。
intの他にも整数に対応したデータ型はありますが、intでほとんどの整数をカバーできるため割愛します。(long,short,byte)
さて、intは整数に限られました。小数の場合はどうなるのでしょう?
小数の場合は主にdoubleを用います。(floatについては割愛)
数字以外には文字が考えられますね。文字の場合は主に Stringを用います。ただし、一文字の場合に限りcharを用いても良いことになっています。
その他、YesかNoかで答えられるような二者択一のものに対してはbooleanを用います。収納するデータは必ず(yesなら)trueか(noなら)falseになります。
収納するデータによってこの型を使い分けます。
主に、整数(int)、小数(double)、文字(string)、二者択一(boolean)の4種類を使い分けることになります。例えば、文字列のデータに対してintを使うとエラー(コンパイルエラー)になり、実行できません。種類が全く違うからです。
ただし、byte,short,intのデータ型をlongのデータ型に収納するのは可能です。種類が同じ、かつ、より大容量のデータ型なら可能なのです。(通常はintで事足りるのでintを使っておけば問題ないです。)
以下に簡単にデータ型についてまとめておきます。
整数 long 大きな整数
int 普通の整数
short 小さな整数
byte とても小さな整数
小数 double 普通の小数
float 少しあいまいな小数
文字 String 文字列
char 1文字
真偽 boolean trueかfalse
次はデータ型とセットになっている「変数」についてさらに詳しく説明していきたいと思います。
演算子を使って計算してみよう [Java]
前回は画面上に「こんにちは」と表示させるプログラミングについて説明しました。
今回は、四則演算です。足し算、引き算、掛け算、割り算ですね。
前記事 ( http://weekly-programmer.blog.so-net.ne.jp/2015-07-04 )で、プログラミングの書き出しの部分は毎回ほぼ固定だと説明しました。(神様と司令官の部分ですね。)
それでは、早速・・・
public class Main{
public static void main(String[] args){
int a;
int b;
a=3;
b=5;
int sum=a+b;
System.out.println(a+ "+" +b+ "=" +sum);
}
}
青色部分と赤色部分は前回と全く同じですね。メソッドブロック(緑色部分)が前回と異なっています。このメソッドブロックのソースコードについて説明していきたいと思います。
まず、一行目の「int a;」。これは、変数宣言と 呼ばれています。イメージとしては、「a」は箱を表していて、「int」はその箱の種類を表しています。ちなみにaのこと変数をintのことをデータ型と呼びます。
箱の中に入れるものが数字なのか、文字なのか・・・によって箱の種類が変わってきます。今回は数字なので、「int」という種類を用意しました。(詳しくはまた別記事にて)
そして「a=3;」は「a」という箱に「3」を入れるという意味です。
「b」についても同様です。今、aとbのそれぞれの箱に3と5が入っている状態です。
ちなみに、メソッドブロックの各行に登場する「;」は、日本語でいう句読点のようなものです。必ず書き忘れないようにしましょう。
このようにやや面倒な手続きをしなければなりません。なんかプログラミングっぽいですね。しかし、実はこの4行、省略して書くことができるんです。ヒントは次の行「int sum=a+b;」。
これは
int sum;sum=a+b;
と二行にかき分けることができます。この2つ、よーく見てください。 aとbのそれぞれと同じ書き方ですね。つまり、逆に2行を1行にまとめて書くと・・・
int a=3;int b=5;
とそれぞれ書き換えることができます。すると、全文は以下のようになります。
public class Main{public static void main(String[] args){
int a=3;
int b=5;
int sum=a+b;
System.out.println(a+"+" +b+"="+sum);
}
}
だいぶすっきりしましたね。
そして、次は「int sum=a+b;」 。intという種類のsumという箱。そこにaとbを足したものを入れます。
このsumは合計という意味ですが、これはこちらが勝手に決めた名前です。tasiでも、plusでも、cでも好きな名前で構いません。ただし、コードが複雑になればなるほど、後で見返した時にわかりにくくなります。ですので、なるべく意味を連想できる名前が好ましいです。
System.out.println();は前回のこんにちはを表示させるプログラムでもでてきましたね。
今回は()の中が少し複雑です。()の中の決まりがあります。
①" "で囲む
②ただし、変数は" "の外に出す
③" "で囲まれた部分とそうでない部分が入っている場合、+でつなぐ
つまり、" "で囲まれた部分はそのまま表示され、" "の外にある+は接着剤のようなものなので、表示されません。
上のソースコードだと、
実行結果
3+5=8
と表示されます。 長い割に意外とすっきり。System~以外の行は実行した時に画面には表示されない、いわば裏方となっています。
ちなみに、四則演算は、+、−、*、/です。
次回は今回説明を割愛した「データ型」について説明していきたいと思います。
画面上に「こんにちは」と表示させる [Java]
今回は、画面に好きな文字を表示させるプログラムについてです。
public class Main{public static void main(String[] args){
System.out.println("こんにちは");
}
}
実行結果
こんにちは
なんとなく英語に近い言葉で書かれていると思います。
「こんにちは」の部分をさまざまに変化させて、好きな文字を表示させることができます。
水色と赤色の部分はほぼ定型文です。
赤色部分はクラスブロック、緑色部分はメソッドブロックと呼ばれています。プログラミングを行ううえで重要な概念のひとつにブロックというものがあげられます。
簡単にいうと、ブロックまとまりを表しています。
青色のブロックはこのプログラム全体を、クラスブロックはメソッドブロックをそれぞれ包み込んでいます。
そして、メソッドブロックには主に実行させたいことを書いていくといった具合です。
詳しくはまた別記事にて書いていくので、今のところは「まとまりを表している」ということだけうっすらと理解していれば良いと思います。
実際にプログラミングをしていくとメインとなるのはメソッドブロッグです。その他の部分はほぼ定型文です。
例えば、画面上に、おはようございます、こんにちは、こんばんはと三つ縦に並べて表示させたい時は以下のようなプログラミングになります。
public class Main{public static void main(String[] args){
System.out.println("おはようございます");
System.out.println("こんにちは");
System.out.println("こんばんは");
}
}
青色部分が全体を包み込み、クラスブロックがメソッドブロックを包み込みます。
コードが長くなってくると、この包含関係がわからなくなってきます。必ず「{」と「}」の数が一致していることを確認してください。
青色部分のMainの部分はこのプログラミングも名前とも呼べるべき部分です。
私のイメージですが、
青は神様
赤は司令官
緑は一般人
といったところでしょうか。神様は普遍的。変わりません。
Mainとmainの部分はそれぞれ、神様と司令官につけることのできる名前です。自分で自由に変更して構いません。
赤の司令官は緑の一般人をうまく操ります。時には司令官どうしで一般人の受け渡しをすることもあります。
次回は「四則演算のプログラミング」について書きたいと思います。
エンジニアが30歳までに身につけておくべきこと(椎木一夫) [読書感想文]
コンピュータは理解力のない体力バカ? [プログラミング全般]
プログラミング言語?マシン語? [プログラミング全般]
プログラミングとは、プログラム言語の規則に基づいてコンピュータに実行させる作業の指示を順序だてて細かく記述することです。
つまり、コンピュータにもわかる言葉で指示を出すことです。
通常、コンピュータは「マシン語」という、0と1で構成された言葉しか理解できません。
マシン語でコンピュータに指示を出そうとすると、000110101000100111100101000・・・のように一見意味のない文字の羅列を用いる必要があります。
これを人間が完璧に理解するのは実質不可能です。
そこで、人間の言語に近い「プログラミング言語」を用いてコンピュータに指示を出すわけです。
プログラミング言語にはさまざまな種類があります。
Java,C言語,PHP・・・などあげればキリがありません。
例えば、
System.out.println("あいうえお");
これは、画面上に「あいうえお」 と表示させます。
英語に近くて、ある程度意味も推測できるかと思います。
このプログラミング言語をマシン語に変換する機能をコンパイラ、インタプリタ(JVM)といいます。
コンピュータは「マシン語」しか理解できません。
しかし、コンパイラとインタプリタの二つの機能を介在することで、「プログラミング言語」を「マシン語」に翻訳してくれます。
複雑で難しそうに見えるプログラミングも、やっていることは
日本語で書かれた指示書をプログラミング言語に翻訳する、というだけなのです。あとは機械が勝手にやってくれますので。
ということは人間がすべきは・・・
①日本語で指示内容を考える
②それをプログラミング言語に翻訳する
というたった2ステップで良いというわけです。
プログラミング言語を理解することも重要ですが、それ以上に重要なのは、
「日本語で(コンピュータへの)指示内容を考える」ということです。
これについては、また次回、詳しく書きたいと思います。
プログラミングは本当に難しいのか? [プログラミング全般]
「プログラミング」という言葉を聞いてどんなことを思い浮かべますか?
パソコンの前でずっとタイピングしてそうなイメージ、
難しそう、
などさまざま。
中には言葉を聞いただけでアレルギー反応を起こす人もいるかもしれません。以前の僕がそうでした。
プログラミングを勉強し初めて1週間経った今思うこと。
「なぜもっと早くやらなかったんだろう」ということ。
プログラミングの基本的な考え方さえ身につけてしまえば、そこまで難しくないのではないか?
それが一週間経った率直な感想です。
次回は、その「プログラミングの基本的な考え方」について書こうと思います。
ブログはじめました! [その他]
こんにちは、あおきだいです。
このブログは、プログラミング初心者が
①独学で
②効率良く
③実践的に即して
④楽しく
④継続的に
学習していくことを目的としたブログです。
毎週、成果物を1つ作ることを目標にしています。
まず初めは、JAVAというプログラミング言語を学んでいこうと思います。
しばらくは1日1記事を継続して やっていこうと思います。