元IT完全未経験者がJavaをわかりやすく解説します

javaJava
java

今回はjavaの様々な機能を実際に使って解説していきたいと思います

完全未経験でシステムエンジニアになってjavaを習得したので、わからない人にもわかりやすい解説ができると思います

IDE(開発環境)はSTSを使います

では早速学習していきましょう

おすすめのプログラミングスクールはこちら

Javaの様々な機能

数字の計算を行う

演算子は下記の通りです

演算子説明
+a+baとbを足す
a-baとbを引く
*a*baとbを掛ける
/a/baとbを割る
%a%baをbで割った余り
++a++aに1を足す
a–aから1を引く

では実際にプログラムを書いてみます

aとbには2という数字を代入しています

プログラムを実行してみます

このような結果になります

値の比較

プログラムを書いていると、文字や数字同士が同じか、またはそれ以上かなど、様々な値の比較を行うことが多々あります

そんな時に使用する比較用の演算子があります

演算子構文説明
==a == baとbが等しい場合true
!=a != baとbが等しくない場合true
<a < baがbより小さければtrue
>a > baがbより大きければtrue
<=a <= baがbと等しいまたは小さければtrue
>=a >= baがbと等しいまたは大きければtrue

trueじゃない場合、falseになります

では実際にプログラムを書いてみます

プログラムを実行してみます

このような結果になります

三項演算子

条件に応じて値を変更したい場合があります

ある変数の値がtrueだった場合、▲を代入する、falseだった場合は■を代入するといった感じです

そのような時に使用するのが三項演算子です

20歳以上ならYES、そうでないならNOを表示するプログラムにします

プログラムを書いていきます

実行結果はこちらです

では19にして実行してみます

実行結果はこうなります

instanceof演算子

指定した型またはそのサブクラス、サブインターフェースの場合にtrueになります

そうでない場合はfalseとなります

プログラムを書いてみます

プログラムを実行します

“”で囲われた文字だったのでString型でした

では数字を代入してみましょう

プログラムを実行します

おすすめのプログラミングスクールはこちら

キャスト

キャストとは型の変換のことを言います

どういうことかというと、String型の変数をint型へ変換するといった感じです

さらにキャストには2種類あります

それは「アップキャスト」と「ダウンキャスト」です

Javaには親クラスと子クラスがあります

子クラスの型を親クラスで使うことをアップキャストと言います

文章だけでは分かりづらいと思うので、実際にコードを書いていきます

ではプログラムを実行してみます

このような結果になります

ちなみにアップキャストは明示的に書かなくても大丈夫です

明示的というのは、(Parent)child;のことです

下記のように書くと暗黙的にアップキャストをしてくれます

暗黙的というのは、分かりやすくいうと勝手に裏でやってくれると認識しておいて下さい

このように実行結果は上記と変わりません

続いてダウンキャストです

アップキャストとは反対に親クラスから子クラスへ変換することを言います

ではプログラムを書いて言います

プログラムを実行します

Optional

Optionalは値がnullかもしれないという時に使用します

OptionalはJava8から追加されたクラスです

ifPresent

Java8前の場合、nullチェックはこのように行います

これと同じことをOptionalを使うとこのような書き方になります

isPresent

isPresentは値がある場合に実行される処理です

プログラムを書いてみます

これを実行してみます

Optional.ofNullable()

データがあれば値のObjectを生成します

データが無ければ空のObjectを生成します

では最初に値がある場合のプログラムを書いて動かしてみます

これを実行してみると・・・

このような結果になります

では戻り値をnullにしてみます

これを実行してみると・・・

何も表示されませんでした

.get

Optionalからデータを取得する場合はgetを使います

resからデータを取得してみます

プログラムを実行してみます

データが取得できました

.orElse

値が取得できない場合は場合は.orElseを使います

では実際にプログラムを書いてみます

returnは意図的にnullにしてみます

プログラムを実行してみます

.map

Optionalのデータを使ってデータを返したい場合はmapを使用します

では実際にプログラムを書いてみます

実行してみます

.filter

条件を満たした場合、処理をした場合は.filterを使用します

プログラムを実行してみます

if-else if-else

if文は条件によって処理の内容を変えたい時に使用します

if(条件)といったように書くのですが、条件の中に&&や||条件を指定することも可能です

例えば、if(1かつ2)だった場合や、if(1または2)といった感じです

else ifを使えばもっと多数の条件にも対応ですきます

if(1かつ2)

処理

else if(1または2かつ3)

処理

else

処理

といった感じです

では実際にプログラムを書いてみます

プログラムを実行してみます

このような結果になります

switch

if文に似ているのですが、こちらも条件によって処理の内容を変えたい時に使用します

似ているならどっちを使えばいいの?となりますが、判断方法は簡単です

条件が複雑なのであればif、そうで無ければswitchを使いましょう

なぜかというと、多少ですがswitchの方がifよりも処理速度が速いかつソースコードが見やすいからです

ifで条件分岐が多いとソースコードを読むのはかなり疲れます

その点、switchはさくさく見れるのでおすすめです

では実際に試していきます

switch (評価する式) {

case 値1:

値1だった場合の処理;

break;

case 値2:

値2だった場合の処理;

break;

default:

上記のいずれにも該当しなかった時の処理;

break;

}

と言った感じです

上記のプログラムを動かすとこのような結果になります

for文で繰り返し処理を行う

繰り返しする回数が決まっている場合はfor文を使います

構文は以下の通りです

for (初期化; 条件; 更新) {

処理

}

では実際に10回繰り返すプログラムを書いて試してみます

publicstaticvoidmain(String[] args) {

for (int i = 0; i < 10; i++) {

System.out.println(i);

}

}

結果を見てみましょう

0から始まり9で終わっているので、10回繰り返しされています

拡張for文

forと何が違うのかと言いますと、繰り返す数が不明な時に使います

具体的な例を挙げると、配列の数分繰り返したい時やListの数分繰り返したいといった時です

構文は下記の通りです

for (データ型 変数 : 繰り返す要素)

では実際に試してみましょう {

処理

}

publicstaticvoidmain(String[] args) {

// Listの場合

List<String> list = new ArrayList<String>();

list.add(“1”);

list.add(“2”);

list.add(“3”);

list.add(“4”);

list.add(“5”);

for (int i = 0; i < list.size(); i++) {

System.out.println(i);

}

System.out.println(“——————-“);

// 配列の場合

int[] list2 = new int[5];

for(int num : list2) {

System.out.println(num);

}

}

結果を見てみましょう

繰り返し処理を途中で止める「break;」

繰り返し処理をしていて、もし条件に当てはまる場合は処理を止めて繰り返し処理を終わらせたい場合があります

そんな時は「break;」を使います

実際に試してみましょう

publicstaticvoidmain(String[] args) {

List<String> list = new ArrayList<String>();

list.add(“1”);

list.add(“2”);

list.add(“3”);

list.add(“4”);

list.add(“5”);

for (int i = 0; i < list.size(); i++) {

if (i == 3) {

break;

}

System.out.println(i);

}

}

結果を見てみましょう

iが3の時は処理が中断されていますね

では中断ではなく、スキップさせたい時もあります

そんな時は「continue;」を使用します

では実際に試してみましょう

publicstaticvoidmain(String[] args) {

List<String> list = new ArrayList<String>();

list.add(“1”);

list.add(“2”);

list.add(“3”);

list.add(“4”);

list.add(“5”);

for (int i = 0; i < list.size(); i++) {

if (i == 3) {

continue;

}

System.out.println(i);

}

}

結果を見てみましょう

文字列の長さを調べる(length(),size(),length)

変数に入ってる文字列が何文字なのか知りたいときに使用します

構文は以下の通りです

変数名.length();

では実際に試してみましょう

publicstaticvoidmain(String[] args) {

String str = “123456”;

System.out.println(str.length());

}

結果を見てみましょう

Listなどの要素の数を調べたい時は「変数名.size()」を使用します

publicstaticvoidmain(String[] args) {

ArrayList<Integer> num = new ArrayList<>();

num.add(1);

num.add(40);

System.out.println(num.size());

}

配列の要素数を調べたい時は「length」を使用します

length()と違うのは、文字数を調べたいのではなく、要素数を調べたいということです

では実際に試してみます

publicstaticvoidmain(String[] args) {

int[] num = new int [50];

System.out.println(num.length);

}

結果を見てみましょう

コメント

error:Content is protected !!
タイトルとURLをコピーしました