増設記憶装置

何でもかんでもすぐ忘れるから、わかったこと書いておく。(多分)

IntelliJを入れて使うまで@Windows

【自分の勉強日記的なメモ書きレベルの記事であり、他人が読むことは微塵も意識してません。】

 

Javaの授業が始まったので、部屋のPCにもJavaを使う環境を整えるべく、JDKIntelliJ IDEAを入れた。 

 

(※参考サイトに書いてある手順については改めて書いたりはしないので、僕が何言ってるかちゃんと読もうって気概がある猛者がいるのであれば、多分隣にもう一つウィンドウ開いて並べて読むと分かりやすいのではないかと思います。)

 

ここに書いてある手順で入れた。(JDKIntelliJの順番だったけど)

Ultimate版を落とすか迷ったけど身分証明の仕方がよくわからなかったので、とりあえずCommunity版を落とした。

あとからこのページの存在を知った。前者は文字のみかつ最低限の説明だったのに対し、後者の方はウィンドウの画像があるので比較的わかりやすいし説明も+α程度の情報が入っていたので、先に知っていればよかったなという気持ち。(というかソフト提供元のサイトだから一番頼りにすべきだったと思う)

結局プラグインに関してはよくわからず放置、追加プラグインに関してもよくわからなかったけど後からの追加の可不可すらもわからなかったため、とりあえずvimって名前に入ってたIdeaVimとやらは入れておいた。(結果vimモードが自動的にオンになっているのに気づかず、最初数分間入力できなくて困惑する羽目になった。)

 

IntelliJのサイトにあったIntelliJ IDEAの使い方ここを参考に定番のHelloWorldを作ってみた。→最初に上げたやつ上げなおしたやつ(中身は変わらない)

 

 

●プロジェクト

javaで作るものの一番でかい枠組み

 

プロジェクト

hoge  ←Javaモジュール

  .idea  ←プロジェクトの設定データを保存

  src  ←ソースコード用【ここに書く】

  hoge.iml  ←モジュールの設定データを保存

▽External Libraries  ←外部ライブラリー(JDKを構成する.jarファイルとかが入ってる)

 

・モジュール

用語を簡単に説明してくれるサイトによると

モジュール (module)とは
「部品」のこと。
もう少し、いろいろ書くと
「そいつ単独でも機能としては成立するけど、普通は他のものと組み合わせて使うよ!」な部品のことです。

 とのことで,ちょっとJava触った今のところ,何かと組み合わせて使うクラスのまとまりのことなのかなって感じ.

 

ソースコード

パッケージ>クラス って構成(多分)

 

srcフォルダを選択 → Alt+Insert → Java Class でクラス作成

名前フィールドに入力 (いつも通り.で区切るごとに下層ディレクトリに行く) (最後の.の 前がパッケージ名、後がクラス名になる)

指定したパッケージとクラスが作成され、hoge.java(クラスに対応) がエディタで開く

packageステートメントとクラス宣言はテンプレートで自動的に入っている。

 

 

●main()メソッド

プロジェクトの(?)メインのメソッド (Cのコードにおけるmain関数と似たポジションだと思ってる)

 

1文字以上入れたうえで、Ctrl+J を押すとテンプレートを選べる。(略称は各単語?の頭文字)

コード補完候補リストは自動的に表示される

1文字以上入れたうえで、Ctrl+.を押すと選択した候補に続けて.も挿入される。

main()メソッドを持つクラスを開いたエディタ上で実行できる。(左マージンの矢印マーカー → Run 'hoge.main()'  (Ctrl+Shift+F10))

 

 

【まとめ】

ちゃんとHelloWorldは出せた。

Javaというかオブジェクト指向言語ソースコードの構成の雰囲気もつかめた気がする。(まあ雰囲気なのであれだけど)

 

サイトは最後にJARにパッケージ化してたけど、既によくわからないことが多くていっぱいいっぱいなので、今度もう少しわかることが増えて心に余裕ができたらする。

訳がわからないものをとりあえず言われた通りにやってみれないのは問題だなっていつも思ってるけど今回も思った。引っかかったらすぐ止まって何もできなくなってしまうのは早く改善したいところ。

実際にやった時のメモの行方が分からなくなって、捜索にすごい時間取られたので今後しっかり管理するよう気を付けねば。

 

あと、魔材を飲んでも眠い時は眠いと知った。

 

※後で調べる

javaモジュール、パッケージ、packageステートメント、クラス宣言