おつう、やっとコーディングするってよ!!
こんにちは、或いはこんばんわ。エージェント02です。
いよいよHello Worldします。第一関門ですね。
毎回ですけど、私の記事は初学者の理解に添わせてまとめます。
なので詳細ずれてたりしますが「むむ!!」てなったら無視してください。
ネガティブコメントには耐えられる気がしません。
ではでは、ここからは。
Capter0に出てきた師匠の教えも含めて書きます。よろしくお願いいたします。
ここからの登場人物
調理開始します~
大嫌いだったMAVENの力を借りて、簡単にプロジェクト作ります。
(過去にいろいろあったんです)
ではまず
「CREATE MAVEN PROJECT」を実行します。エクスプローラの空いているところで右クリック。
画面上のほうになにしますか?てでてくるので、いまはなにも考えずquickstart使います。
とりあえずjdk8選択。
バージョンはとりあえず新しいバージョン選びましょう。
グループIDを決めます。
一般的には自分のもっているドメインの逆順(例:google.comだったらcom.googleのように)にするのが慣習。
※慣習の理由は、これがパッケージ名としてもつかわれるから
もっていなければ自由でいいっす。
最後、プロジェクト名。好きな名前つけてください。
今回のは私のおもちゃなので「toy」
ここまで作ればプロジェクトのひな型が勝手に(自動的に)作られます!
ありがとうMAVEN!!
いま、App.javaに"Hello World!"を実行させるプログラムが勝手に(自動的に)作られたので実行してみますかね。
「実行(R)」の「デバッグなしで実行」を選択
ターミナルになんかでた。
では続いて作ったものを分解しま~す
パッケージとクラスについて
クラス:オブジェクト指向の話なので省略(そのうち)クラスの中に処理を全部書くというきまりがJAVA
いまはいったんそういうことで・・・きまりだから
おつうの勝手な解釈イメージ
パッケージ名:サイトURL
クラス:index.html のようなファイル名
クラス
↓今度はここを説明
public > アクセス修飾子(プログラムを使える人の許可範囲):だれが見ていいの?
final > ファイナル修飾子(ファイナル(変更一切ゆるさん!)にしたくなかったら必要ないもの):ファイナルにしたくない=変更してもいいよ
class > クラス宣言(ここからがクラスのはじまりですよーの印):コンパイラに教えてるところ
App > クラスの名前(自由につけていいところ):※publicの場合はファイル名と同じでないとNG
コンストラクタ
ここ、コンストラクタをプライベートにして隠すテクニカルなことをしているから
いったんみなかったことにしてください。(のちのち説明します)
メソッド
さっきクラスでpublicが出てきたのに、ここでまたでてくるこいつは何者?
機能(メソッド)ごとに「誰が見ていいか?」をコントロールしたいからだよ。
一つのクラスに対して、複数のメソッド(機能)があるから。
ガンダムの「腕を動かす」というクラスに、「右に90度」(メソッド)、「上に45度」(メソッド)、、、とたくさんの動き組み込む的な?
メソッドの中身はこんな感じ
public > メソッドのアクセス修飾子
static > インスタンス化しないで呼べるメソッド。クラスにくっついているメソッド(newしなくてもつかえる)
※意味わからないので詳しくはあとで
void > 返却値の型(voidはなにもない)
main > メソッドの名前
(String[] args) >
String[]:引数の型([]が配列)
args:仮引数(使うときの名前)
やりたい処理(いよいよ)
System > OS全般を表すパッケージ
out > 標準出力
ここまでで、「OSの標準出力を使うよ」=コンソールをつかう
plintln > 一行出力するよ
全体合わせて、「OSの標準出力に1行だすよ」
なにを出力するかってーと・・かっこの中身:”Hello world”
ここで出てきたXは・・
x: -> vscodeが勝手に見せてるものでふつういらない(書かない)なので、メモ帳で開くとみえないものです
↓メモ帳でひらいてみた
プログラムをRUNする
クラスしか指定していないのに、なぜかmainメソッドが実行されている。
これはJAVAのルールで、public static void main(String[] args)(シグネチャ) が特別な名前だから。。JVMが起動引数としてクラスを与えられたとき、必ずこのシグネチャのメソッドを呼び出すという決まり(仕様)。
逆にこのシグネチャはこの目的以外では使ってはいけない。
まとめ
ただハローワールドしただけのプログラムですが、わからないことをわからないまま進むの大嫌いなイルカのせいで、こんなボリューミーに・・・進むのか?これ???
相変わらずマイペースな展開で、今後も進めていきます。引き続きおつきあいください。
>>次回、Chapter4「さて、書いてみましょうか(震)」をお送りします。