LoginSignup
4
2

More than 1 year has passed since last update.

JAVA X2 type02 Season1 Chapter3:JAVAさん!はじめまして!!

Last updated at Posted at 2023-04-18

おつう、やっとコーディングするってよ!!

こんにちは、或いはこんばんわ。エージェント02です。

いよいよHello Worldします。第一関門ですね。
毎回ですけど、私の記事は初学者の理解に添わせてまとめます。
なので詳細ずれてたりしますが「むむ!!」てなったら無視してください。
ネガティブコメントには耐えられる気がしません。

ではでは、ここからは。
Capter0に出てきた師匠の教えも含めて書きます。よろしくお願いいたします。

ここからの登場人物

↓ これがでてきたら偉い人の教えです
image.png

↓ これがでてきたらポンコツのコメントです
image.png

調理開始します~

大嫌いだったMAVENの力を借りて、簡単にプロジェクト作ります。
(過去にいろいろあったんです)

ではまず
「CREATE MAVEN PROJECT」を実行します。エクスプローラの空いているところで右クリック。

image.png

画面上のほうになにしますか?てでてくるので、いまはなにも考えずquickstart使います。
とりあえずjdk8選択。

image.png

バージョンはとりあえず新しいバージョン選びましょう。

image.png

グループIDを決めます。
一般的には自分のもっているドメインの逆順(例:google.comだったらcom.googleのように)にするのが慣習。
※慣習の理由は、これがパッケージ名としてもつかわれるから
もっていなければ自由でいいっす。

image.png

最後、プロジェクト名。好きな名前つけてください。
今回のは私のおもちゃなので「toy」

image.png

ここまで作ればプロジェクトのひな型が勝手に(自動的に)作られます!
ありがとうMAVEN!!

image.png

いま、App.javaに"Hello World!"を実行させるプログラムが勝手に(自動的に)作られたので実行してみますかね。

image.png

「実行(R)」の「デバッグなしで実行」を選択

image.png

ターミナルになんかでた。

image.png

では続いて作ったものを分解しま~す

パッケージとクラスについて

↓ ここ解剖します
image.png

image.png

クラス:オブジェクト指向の話なので省略(そのうち)クラスの中に処理を全部書くというきまりがJAVA
いまはいったんそういうことで・・・きまりだから

image.png

おつうの勝手な解釈イメージ
パッケージ名:サイトURL
クラス:index.html のようなファイル名

image.png

クラス

↓今度はここを説明

image.png

image.png

public > アクセス修飾子(プログラムを使える人の許可範囲):だれが見ていいの?
final > ファイナル修飾子(ファイナル(変更一切ゆるさん!)にしたくなかったら必要ないもの):ファイナルにしたくない=変更してもいいよ
class > クラス宣言(ここからがクラスのはじまりですよーの印):コンパイラに教えてるところ
App > クラスの名前(自由につけていいところ):※publicの場合はファイル名と同じでないとNG

コンストラクタ

↓ここを説明・・します・・・?
image.png

image.png

ここ、コンストラクタをプライベートにして隠すテクニカルなことをしているから
いったんみなかったことにしてください。(のちのち説明します)

メソッド

↓ここ解剖します
image.png

image.png

さっきクラスでpublicが出てきたのに、ここでまたでてくるこいつは何者?

image.png

機能(メソッド)ごとに「誰が見ていいか?」をコントロールしたいからだよ。
一つのクラスに対して、複数のメソッド(機能)があるから。

image.png

ガンダムの「腕を動かす」というクラスに、「右に90度」(メソッド)、「上に45度」(メソッド)、、、とたくさんの動き組み込む的な?

image.png

image.png

メソッドの中身はこんな感じ

public > メソッドのアクセス修飾子
static > インスタンス化しないで呼べるメソッド。クラスにくっついているメソッド(newしなくてもつかえる)
※意味わからないので詳しくはあとで
void > 返却値の型(voidはなにもない)
main > メソッドの名前
(String[] args) >
String[]:引数の型([]が配列)
args:仮引数(使うときの名前)

やりたい処理(いよいよ)

↓実際の命令(つまり、プログラムの内容がここだけ!!!)
image.png

image.png

System > OS全般を表すパッケージ
out > 標準出力
ここまでで、「OSの標準出力を使うよ」=コンソールをつかう

plintln > 一行出力するよ
全体合わせて、「OSの標準出力に1行だすよ」

なにを出力するかってーと・・かっこの中身:”Hello world”

ここで出てきたXは・・
x: -> vscodeが勝手に見せてるものでふつういらない(書かない)なので、メモ帳で開くとみえないものです
↓メモ帳でひらいてみた
image.png

プログラムをRUNする

image.png

↓実行結果
image.png

image.png

クラスしか指定していないのに、なぜかmainメソッドが実行されている。
これはJAVAのルールで、public static void main(String[] args)(シグネチャ) が特別な名前だから。。JVMが起動引数としてクラスを与えられたとき、必ずこのシグネチャのメソッドを呼び出すという決まり(仕様)。
逆にこのシグネチャはこの目的以外では使ってはいけない。

まとめ

ただハローワールドしただけのプログラムですが、わからないことをわからないまま進むの大嫌いなイルカのせいで、こんなボリューミーに・・・進むのか?これ???
相変わらずマイペースな展開で、今後も進めていきます。引き続きおつきあいください。

>>次回、Chapter4「さて、書いてみましょうか(震)」をお送りします。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2