スポンサーサイト





上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -

インクリメント・デクリメント





1
2
3
4
5

というふうに、1から5までの数字を出力するプログラムを考えてみます。

一番単純なプログラムはこんな感じだと思います。

class Sample
{
public static void main(String args[])
{
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
}
}


これではあまりに芸がないので、変数numに1を代入して、numの値を1ずつ増やしていきます。少しプログラムらしくなりますね。

この、numの値を1増やすという演算は、以下のように書くことができます。

num=num+1;

numはnum+1と等しい、と考えてはいけません。

上の式は、左辺のnumという変数にnum+1を代入する(つまり1増やす)ことを意味しています。

この「num=num+1;」を使うと、以下のようなプログラムが作れます。

public class Sample
{
public static void main( String[] args )
{
int num=1;
System.out.println(num);

num=num+1;
System.out.println(num);

num=num+1;
System.out.println(num);

num=num+1;
System.out.println(num);

num=num+1;
System.out.println(num);
}
}


このように、変数(名前はnumでなくてもかまいません。)を利用すると、「順々に処理する」というコンピュータらしい処理が可能になります。

今回勉強するインクリメント演算子は、変数の値を1ずつ増やしていくという「num=num+1;」と同じ意味を表す演算子です。


変数numを1ずつ増やしていくという演算は、以下のように表すことができます。

num++;

どうしてこんな演算子があるのかというと、(おそらく)num=num+1ではnumを2度も書かなければいけないのでスマートではないからでしょう。

上のサンプルソースをインクリメント演算子を使って書き直しました。

public class Sample
{
public static void main( String[] args )
{
int num=1;
System.out.println(num);

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

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

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

num++;
System.out.println(num);
}
}


できましたでしょうか?

しかし、このソースは

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

が何度も出てくるのでスマートでないですね。

繰り返し処理のfor文を知っていれば、以下のようにソースコードをダイエットすることができます。

public class Sample
{
public static void main( String[] args )
{
for(int num=1;num<=5;num++)
System.out.println(num);
}
}


最後に、デクリメント演算子ですが、これはインクリメント演算子の反対で、変数の値を1ずつ減らしていくという演算子です。

練習として、

5
4
3
2
1

と表示するプログラムを今日勉強したところを参考に作ってみてください。

一応、解答例です。

public class Sample
{
public static void main( String[] args )
{
for(int num=5;num>=1;num--)
System.out.println(num);
}
}


関連記事

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

Comments:

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://javamania.blog25.fc2.com/tb.php/6-3139eca6
  • 閉じるボタン
クラスライブラリ解説 目次
クラスライブラリとは
 ├ Java APIの調べ方
 ├ Objectクラスを調べる
 ├ ライブラリのインポート
 ├ 完全修飾クラス名を調べる
 ├ staticインポート
 ├ 外部ライブラリの利用

文字列を扱う
 ├ Stringとイミュータプル
 ├ StringBuilder 文字列の連結
 ├ toString()のオーバーライド
 ├ toXxCase() 大文字と小文字
 ├ compareTo() 値の比較
 ├ parseDouble() 文字を小数値に
 └ 文字列を抜き出す
 ├ char配列からString型へ変換
 ├ 空白文字の除去

日付を扱う
 ├ Calendar 現在の日付
 ├ Date 日付の表示

数値演算を扱う
 ├ round() 切上・切捨・四捨五入
 ├ BigDecimal
 ├ sqrt(),pow() 累乗と平方根
 ├ BigInteger
 ├ int型の最大値・最小値
 ├ random() 乱数作成

ファイルを扱う
 ├ ファイルの存在確認
 ├ ファイルを作成
 ├ ファイルの削除
 ├ ファイルサイズを調べる

入出力ストリーム
 ├ ファイルを読み込む
 ├ 画像ファイルのコピー
 ├ 日本語の読み込みと書き出し
 ├ バッファ入出力
 ├ データ型フリーの出力ストリーム
 ├ getBytes()メソッド

書式つき入出力
 ├ 書式を指定して出力
 ├ 引数インデックス
 ├ 整数値のフォーマット
 ├ 小数値のフォーマット
 ├ 九九の表のフォーマット

例外処理
 ├ printStackTrace()
 ├ NullPointerException
 └ NumberFormatException
月別アーカイブ
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。