第1回 独習Javaゼミ

第1回 独習Javaゼミ
第1章 セクション11~14
発表者
直江 宗紀
1.11 算術演算子と式(1)

式とは
→演算子+オペランド

右の表は、算術式に用
いられる演算子一覧
(表中の減算演算子は
数値符号を逆にする単
項演算子のマイナスで
も用いられる)
表1 算術演算子
1.11 算術演算子と式(2)

演算子には、優先度が存在する。
具体的には、
「*,/,%」 > 「+,-」

ただし、小括弧「(」、「)」により評価順序変更可
例:
10-2*5=0
(10-2)*5=40
1.11 算術演算子と式(3)



変数、定数、または両方を含ませることが可能。
例:(answer,countは変数)
answer = count - 100 ;
式中における空白は自由に使える。
加算,減算,乗算,除算の各代入演算子を使うこと
により、省略形に書き換えられる。
例: (元の式) j = j + 6 ;
(省略式)
j += 6 ;
1.12 式における型変換(1)

型の異なるデータを1つの式で使用可

可能な理由・・・



型の違いを解決する厳密な変換規則がある
char,byte,short→自動的に整数に変換(整数拡張)
型拡張が行われる
1.12 式における型変換(2)


型拡張とは・・・
最も大きなオペランド
に合わせて、
すべてのオペランドを
変換。
右図は型拡張のアル
ゴリズム(型拡張が行
われる様子)を示す。
図1 型変換アルゴリズム
1.13 代入における型変換(1)

通常、右辺は左辺の型に変換される(拡張変換)
しかし・・・
左辺の型 < 右辺の型
の場合、右辺のデータを収めきれない。
(Javaではコンパイルエラーを起こす時がある)
例:(byte型変数:b、int型変数:iとする)
i = 127 ;
b=i;
byte型に対してint型の扱う値が大きいため
収まらない
1.13 代入における型変換(2)


解決する方法として・・・
→「型変換(キャスト) 」を用いる
型変換の一般形式
(type) value
(type:型名、value:変数)
例:(byte型:b,int型:iとする)
i = 127 ;
b = (byte)i ;
このような変換を縮小変換と呼ぶ
1.13 代入における型変換(3)

float型、double型→int型への縮小変換
小数部分は切捨てされる
例 : 23.9999 → 23
(小数部分は破棄されてしまう)
1.14 コメント

コメントの記述形式




単一行コメント
「//」
複数行コメント
「/*」~「*/」
ドキュメンテーションコメント 「/**」~「*/」
ドキュメンテーションコメント
・・・ ソースファイルからコメントを抜き出し、
マニュアルを作成するためのもの
マニュアル作成ツール「javadoc」がある
練習問題
1.「5 % 3 + 1」,「5 / 3 +1」の2つの式について、
「3+1」の部分を小括弧で括った場合と括らなかっ
た場合の計算結果を示すプログラムを作成せよ。
2.東京から大阪の間を車で往復した時、何時間
かかるかを計算するプログラムを作成せよ。
ただし、片道の距離を約500kmとし、行きは平均
時速85km、戻りは平均時速80kmとし、途中休
憩などを含まないものとする。
3.型変換を用いて、問題1の結果をdouble型、int型
について表示するプログラムを作成せよ。