Java入門② 演算子と文字列

Java入門 Java入門

演算子

演算子とは?

「値に対して何らかの処理をするための記号」といえるでしょう。

ここでいう値とはxやyなどの変数、1や-9などの数字、文字列にも使えます。
それでは具体的に見ていきましょう!

算術演算子(+、-、*、/、%)

演算子意味
+足し算3 + 2 → 5
引き算10 – 3 → 7
*掛け算4 * 2 → 8
/割り算9 / 2 → 4(※整数同士なので小数切り捨て)
%余り9 % 2 → 1(9÷2 の余り)

以上が算術演算子と呼ばれるものです。
言ってしまえばただの計算式です。コードにすると以下のようになります。

int a = 9;
int b = 2;

System.out.println(a + b);  // 11
System.out.println(a / b);  // 4
System.out.println(a % b);  // 1

どこでこれを実行するのかは以前の環境構築:動作確認の際にコードを書き換えた場所にコピペしましょう。

public class App {
    public static void main(String[] args) throws Exception {
        //この部分に上記コードを書いていく。
    }
}

ちなみにコードの中に忘れてしまうのでメモを書きたいという方は「//」(ダブルスラッシュ)の後にメモを書きましょう。(これをコメントアウトといいます)

これがないと実行の際にメモをコードとして勘違いしてしまうのでエラーになります。
コードに関係のないメモやコメントには必ず「//」を忘れないように。

補足ですが一括でコメントアウトしたいときは、

①コメントアウトしたい範囲のテキストやコードをドラッグで範囲選択。
②「Ctrlキー」を押しながら「/キー」を押下。
③これですべてコメントアウトになります。

代入演算子(=、+=、-=、…)

説明は後に、まず代入演算子の表を見てみましょう。

演算子意味
=a = 5;aに5を代入
+=a += 3;a = a + 3と同じ意味
-=a -= 2;a = a – 2と同じ意味
*=a *= 2;a = a * 2と同じ意味

少し見慣れない表現が出てきたでしょうか?
ですが、意味としてはそんなに難しいもではないのでこちらは暗記しておきましょう。

コード例は以下ですので、自身のコードを書き換えて実行してみましょう。

int a = 10;

a += 5;       // a = 15
a *= 2;       // a = 30

System.out.println(a);  // 30

比較演算子(==、!=、>、<、>=、<=)

まずは比較演算子の表を見てみましょう。

演算子意味
==等しいかa == b(aとbは等しい)
!=等しくないかa != b(aとbは等しくない)
<小なりa < b(a小なりb)
>大なりa > b(a大なりb)
<=以下a <= b
>=以上a >= b

これも上2つ以外は書き方が違えどなじみのあるもではないでしょうか。

プログラミングで2つの値が等しいことを表現するのは「==」、
等しくないことを表現するには「!=」を使います。

これら比較演算子の結果は「true / false」となります。データ型で出てきたboolean型ですね!

これも今はただ暗記しておきましょう。
以下にコード例があるので実行して試してみましょう!

int x = 10;
int y = 5;

System.out.println(x > y);   // true
System.out.println(x == 10); // true
System.out.println(x != y);  // true

論理演算子(&&、||、!)

以下が論理演算子の表になります。

演算子読み方意味
&&AND(かつ)両方がtrueならtruea > 0 && a < 10
||OR(または)どちらかがtrueならtruex == 1 || x == 2
!NOT(否定)trueならfalse、falseならtrueに!flag

ここは少し難しいかもしれませんね。

①&&(AND)
これは左右に比較演算子を書いて、左右の結果が両方とも「true」であれば「true」を結果とします。
どちらかが「false」であれば「false」を結果とします。
以下例文。

int a = 5;

if (a >= 1 && a <= 10) {
    System.out.println("1〜10の間です");
}

上記はaが1以上、10以下であれば「1~10の間です」という文字を出力します。
ちなみにifという見たことないものがあると思いますが、ここは次回紹介するので今は
「true」なら中の処理を出力してくれるものと考えておいてください!

②||(OR)
先ほど同様に左右の比較演算子を評価し、どちらかが「true」なら「true」を結果とします。
つまり「false」が結果になるのは、すべての比較演算子が「false」の場合ですね。

String day = "土";

if (day.equals("土") || day.equals("日")) {
    System.out.println("休日です");
}

これは変数「day」が「土」でも「日」でも「休日です」を出力します。

③!(NOT)
最後に「!」を紹介。その名の通り否定です。

boolean isLogin = false;

if (!isLogin) {
    System.out.println("ログインが必要です");
}

これは「isLogin」という変数を使ってログイン状態を確認しています。
ログイン状態、つまり「isLogin」が「true」の時は出力なし。
未ログイン状態、「isLogin」が「false」の時は「ログインが必要です」を出力します。

ん?となる方もいると思いますが、
この「if」は()の中身が「true」だとその中の処理を実行してくれます。
なので以下に未ログイン状態の時の流れを説明すると

boolean isLogin = false(未ログイン状態)

if(!isLogin)の中身。
「!」は否定、「isLogin」はfalse。

つまり「falseの否定」なので「true」になります。

if文の中身の処理
System.out.println(“ログインが必要です”);
が実行される。

といった流れになります。

文字列

文字列とは?

Javaで文字列を扱う場合には「String」型を使います。

例えば

String name = "Tanaka";

ここでのポイントは
①ダブルクォーテーション(””)で囲むこと。
②英語、日本語、数字、記号、なんでもOK!

この2点を押さえておきましょう。

String firstName = "Tanaka";
String lastName = "Keigo";

String fullName = firstName + lastName;

System.out.println(fullName); // TanakaKeigo
System.out.println(fullName * 3); //TanakaKeigoTanakaKeigoTanakaKeigo

さらにこのように「+」でつなげると文字列もくっつくのです。
さらにさらに「*」でかけた数だけ文字列を増やすこともできます!

また、文字列と数字の足し算では数値も自動で文字列化されます。
文字列では割り算、引き算は使わないので足し算だけ覚えておきましょう!

System.out.println("年齢: " + 25);  // 年齢: 25

文字列を扱う便利な操作

ここではもう少しプログラミングっぽいことを紹介します。

メソッド意味
length()文字列を取得する“Hello”.length() → 5
toUpperCase()大文字にする“hello”.toUpperCase()” → “HELLO”
toLowerCase()小文字にする“HELLO”.toLowerCase()” → “hello”
contains()文字列が含まれるか判定する“Java”.contains(“va”) → true

さあさあ聞きなじみのない単語がたくさん出てきましたね?
ですので簡単に説明しますと、

メソッドとは?
特定の処理をまとめたプログラムのかたまりのことを指します!

以下にコード例を載せておきます。

String text = "Java Program";

System.out.println(text.length());       // 12
System.out.println(text.contains("Pro")); // true

あれこれと自分で用意しなくても、既に便利なものが用意されているということですね。

文字数を確認したいなら~.length()を、自分の名前に「田」が入っているかどうか調べたければ
“田中太郎”.contains(“田”)と使っていけばいいわけです!

まとめ

  • 算術演算子=数値同士以外にも文字列同士や文字列と数値をくっつけることもできる!
  • 文字列を””で囲むことをお忘れなく。
  • メソッドを活用して便利にプログラミングを書いていこう!。

メソッドは本当にたくさんあるので一概に私からこうしようというのは言えません。
なので私から一言

「あーしたい、こーしたいはとりあえず調べよう!」

またかよ、って思った方はごめんなさいm(__)m

しかし、こうしたいを調べる→実際に書いてみる→実行する→できる
これを繰り返すことでどんどん自分に知識が蓄積され、出来ることが大幅に広がります。

なので是非めんどくさがらずにどんなメソッドがほかにあるのか調査してきてください!
ある種の「宿題」です!

では次回:条件分岐!ということで。

コメント

タイトルとURLをコピーしました