日々のログ

日々にしたい

Javaを実行するまで(JDK、統合開発環境(IDE)、オンラインエディタ)

Javaを実行するまでの工程をざっくり分けると3つあります。

  1. プログラム(ソースコード)の作成
  2. コンパイル
  3. 実行

これらを行うことでJavaを動かすことができます。

 

Javaを動かすためには開発環境を整える必要があり、それができて初めて上記の工程を行うことが出来ます。

 

パソコンにローカル環境を作る場合は

JDKJava Development Kit)とテキストエディターを利用する方法

統合開発環境 IDE(Integrared Development)を利用する方法があります。

インストールの仕方は前回の記事にまとめました。

Javaは更新が早いため以前の記事と結構違うことがあり環境を整えるのに苦労しました。

 

 

環境を作ることが難しい場合はオンラインで実行することが可能です。

 

paiza.IO

paiza.io

dokojava

https://dokojava.jp/sources/Main.java

 

Javaのプログラミングをまず覚えるためには上記のオンラインエディタをなど利用するのが楽だと思います。

とくにdokojavaはスマホにも対応した表示をしてくれるため、本当にどこでもJavaの練習をすることが出来ます。

環境を整えるのに心が折れそうになるためまずは気楽に始めるためにエディタを使っていくのは充分選択肢に入ります。

 

 

オンラインエディタを使った場合でも ソースコード作成、コンパイル、実行のながれは変わりません。

ソースファイル(javaファイル)をコンパイラ

クラス(clas)ファイル(バイトコード中間言語)に変換し

クラスファイルをJVMが実行します。

 

結果はJDKだけで実行する場合はコマンドプロントに、IDEを利用しているばあいはIDEのコンソールに、オンラインエディタならブラウザーに出力されます。

 

 Javaの利点にはどこでも(大型コンピュータ、汎用OS、組み込み機器)で動くというのがあります。

コンパイラソースコードをクラスファイルに変換したあとは、JVMJava仮想マシーン)それぞれの環境で実行してくれます。

 

 

 

 

 

 

Javaの開発環境をつくる(win10、Intellij IDEA、Java SE 16)

最近Javaについて学習を始めることになったので環境構築のメモ。

環境は

Windows10 Home

Intellij IDEA

Java SE 16

 

順番は

JDKJava Development Kitのインストール

環境変数を変更する、JDKのパスを新規追加する

IDE(総合開発環境)、Intellij IDEAのインストール

Intellij IDEAの設定

完了

 

まずJDKのダウンロート、インストール、パスの設定はこのサイトを参考にさせていただきました。

現在の最新版はJava SE 16でした。(2021/04/18時点

JDKと呼んだりJava SEと呼んだりで呼称が変わるのに混乱しました。

codeforfun.jp

 

JDKですが最近oracleのサイトが変更されたらしく何年か前のサイトで紹介されている内容はあまり参考にできませんでした。

インストーラも結構変わっており簡略化されているようです。

パスの設定もここの紹介で画像を使い分かりやすく説明されていました。

 

IDEIntellij IDEA を選択しました。

www.jetbrains.com

 

インストール方法はこちらを参考にしました。

ただ注意点があり、現在はPleiadesプラグインの使用は非推奨だそうです。

公式から日本語化プラグインが出ているためこちらを使っています。

sukkiri.jp

この日記を書いた時点では日本語言語パックは開発段階だったのですが完成したようです。

これでPleiadesを利用する理由も特になくなったため公式のものを使うのがいいですね。

インストール方法は特に変わっていないため下記のインストール方法のままとなります。

pleiades.io

 

私は一度Pleiadesを使い日本語化したのですがアンインストールをしたからかそれが解除されていました。

上記の日本語化マニュアルから無効化の方法を試してみたのですが正直よくわからなかったです…。

 

上記の内容がすべて完了したためJavaの開発環境は整ったと思います。

 

GitHubの設定もしたかったのですが、連帯だけしていったん終わりました。

Githubとの連帯も完了しずいぶんと使いやすくなりました。

全機能は使えないものの学習用ならば十分すぎる機能があると思います。

 

2021年7月28日 日本語言語パックが完成したので追記、タイトルと本文を少し修正

CBT疑似体験ソフトウェアつかってみた

利用したのは令和2年版となります。

結果としては50/100問 という惨事になりました。

内訳は

ストラテジ系 18/35問

マネジメント系 9/20問

テクノロジ系 23/45問

 

単語をまず覚えられておらず、計算もできず、引っ掛け問題にはしっかり引っかかる、

ともかくテキストの読み込みも書き取りも足りていないようです。

残り時間は多く余っていたため、時間に追われることはなさそうです。もっとゆっくり考える時間はとれますね。

 

単語はまずしっかりと覚え、マネジメントは意味をしっかりと理解し、計算に関してはとにかく数をこなすのが目標ですね。そしてちゃんと文章を読む。

小学生向けの計算からするべきな気もする。

 

最低二ヶ月以内にはITパスポートを取得してわびしい履歴書をなんとかしたいです。

 

else、elseif(制御構造)

ある条件が満たされている場合にある文を実行し、 その条件が満たされていない場合に

別の文を実行したいときにelseをつかいます。

何かを比較して、それがtrueのときはそのまま実行しfalseのときはelseの文に分岐、拡

張させることができます。

 

  • 例 PHPリファレンスより

<?php

if ($a > $b) {

echo "aはbよりも大きい";

} else {

echo "aはbよりも大きくない";

}

?>


else文はif文の内容がfalse(成立しない)のときに実行されます。

 

elseifはelseにifをひっつけた制御構造となります。

elseifはelseと同じように動作し、if文がfalseの場合に別の文を実行するように拡張します。

ただelseと実行の条件は異なっており、trueの場合のみ実行します。

もしelseifがfalseの時はつぎのelseifかelseへ分岐していきます。

 

  • 例 PHPリファレンスより

<?php

if ($a > $b) {

echo "aはbより大きい";

} elseif ($a == $b) {

echo "aはbと等しい";

} else {

echo "aはbより小さい";

}

?>


複数のelseifを同じif文の中で使用することができます。

条件の中で最初のtrueを実行します。

elseif 文は、前にある全ての if 文と elseif の値が false であり、 現在の elseif 式の値が true である場合にのみ実行されます。

 

www.php.net

論理型、真偽値(boolean)

理論型または真偽値はデータの一つになります。

この型はtrueとfalseの二択のみが入ります。

理論型を指定するには、定数tureかfalseを入力します。

両方とも大文字小文字に依存しません。

  • 直接入力する場合

<?php
$x = True;
?>

 

通常は直接trueとfalseを入力することはほぼないです。

理論(bool)型の値を返す演算子(++、--、<、=など)を利用してから、制御構造(if、elseな

ど)に結果を渡します。

なので結果が演算子の結果がtrueかfalseになればその値は理論型になります。

<?php
$x = 10;
if($x > 5){
echo "結果はtrueです";
}

 

 論理型に明示的に変換するためには、キャスト(bool)または(boolean)を使用します。

意図的にtrueかfalseに変換するということになります。

演算子、関数、制御構造がbool型の引数を必要とする場合には、値は自動的に変換されるため、多くの場合はキャストが不要です。

ifやelseの分岐をする場合は結果が自動的にtrueかfalseの値に変換されるため、(bool)で指定する必要がありません。

 

bool、理論値に変換される際の法則は下記のとおりとなります。PHPから引用。

 

boolean の false

integer の 0 および -0 (ゼロ)

float の 0.0 および -0.0 (ゼロ)

空の文字列、 および文字列の "0"

要素の数がゼロである 配列

特別な値 NULL (値がセットされていない変数を含む)

属性がない空要素から作成された SimpleXML オブジェクト。つまり、子要素も属性もない要素です。

 

その他の値は全て true とみなされます (全ての resource および NAN を含みます)。

 

警告
-1 は、他のゼロでない数と同様に (正負によらず) true とみなされます。

 

 

言い換えると中身のない値はfalseになり、それ以外の何かの値が入っているものがtrueとなります。

なので-1も値としては存在しているためtrueとなります。

コンピューターにとっては0か1か、ONかOFFかのどちらかしか存在しないため上記のような分けかたになります。

 

 

www.php.net

PHPの数値の比較(比較演算子)

この演算子は条件分岐などで非常に重要になります。

2つの数値の大きさと等しさを比較しプログラムを実行させます。

$a < $b (数値 比較演算子 数値)

といったような形で記述しています。

比較演算子を用いて比較した結果はtureかfalseになります。

 

  • 大小の比較

$a < $b 右辺のほうが大きいとき実行する(true)

$a <= $b 右辺のほうが大きいまたは等しいとき実行する(true)

 

$a > $b 左辺のほうが大きいとき実行する(true)

$a >= $b 左辺のほうが大きいまたは等しいとき実行する(true)

 

右側にイコールを置くというのを忘れないこと。

 

  • 等しさの比較

$a == $b 型の相互交換をした上で右辺と左辺が等しいとき実行する(ture)

$a === $b 右辺と左辺が等しく同じ型の時に実行する(ture)

 

$a != $b 型の相互交換をした上で右辺と左辺が等しくないときに実行する(ture)

$a <> $b 型の相互交換をした上で右辺と左辺が等しくないときに実行する(ture)

$a !== $b 右辺と左辺が等しくないか、同じ型ではないときに実行する(ture)

 

こちらもイコールが右側なのを忘れない。

 

型というのは整数(int)や文字列(string)のことを指します。

パソコンは型を指定しなければ入力されているものが数字なのか文字なのか判断できません。それをこれは数字です、文字ですと指定するものが型になります。

なので右辺左辺の型を同じにしてから比較、または型が同じ時に比較してから実行するという指定が必要になります。

 

最後に宇宙船演算子があります。

$a <=> $b

といった型になります。

説明はPHPリファレンスから

$a が $b より大きいか、0か、0より小さい場合に、 それぞれ、0より大きい か、0か、0より小さい int。

とありますが正直よくわからないです。

こちらの解説で実際どうゆう動作をしているのか解説されています。

qiita.com

 

www.php.net

if文(制御構造、条件分岐)

PHPリファレンスから

「if 構文は、PHP を含む全ての言語において最も重要な 機能の一つです。 この構文は、命令の条件実行を可能にします。 PHP では、C 言語に似た次のような if 構文が使用されます。

if (式)

www.php.net

内容としては上記の通りシンプルです。

if文は ( ) の中の条件式がtureの場合、文を実行するといった処理を行います。

  •  if文の例

$x = 15;


if($x > 5){

echo '$xは5より大きい';

}


最初に$xに15を代入します。

ifのカッコ内の条件が5より$xより大きい時にechoする、といった内容になります。

カッコの条件が成立しない場合はプログラムは実行されません。

{}の中にはさらに他の条件分岐を入れることも可能です。

比較演算子を用いた場合は必ず結果がtureかfalseのどちらかになります。

www.php.net