Javaでの割り算について現役エンジニアが解説【初心者向け】
初心者向けにJavaでの割り算について解説しています。Javaで割り算の処理を行う際は「/」(スラッシュ)を、割り算の余りを求める際は「%」(パーセント記号)を使用します。それぞれの使い方、注意点について見ていきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Javaでの割り算について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。
今回は、Javaに関する内容だね!
どういう内容でしょうか?
Javaでの割り算について詳しく説明していくね!
お願いします!
目次
割り算の計算方法
Javaを使って割り算を行なうには「/」(スラッシュ)を使います。
具体的には、「数値1」を「数値2」で割った結果を「数値3」に代入したい場合には、数値3 = 数値1 / 数値2; と記述します。
例えば、
double num = 5.0 / 2;
とした場合には、float変数であるnumに
2.5
という値が代入されます。
また、「/」(スラッシュ)を使った計算では、小数点まで計算をするので、割り切れない場合は小数点以下の途中までが割り算の結果として保存されます。
剰余(あまり)の求め方
次に、剰余(あまり)の求め方について解説します。先述の「/」を使った割り算では、割り切れない場合にも小数点以下まで計算をするものでしたが、Javaには他のプログラミング言語にもあるような、割り算のあまりを計算するための方法が用意されています。
それが、「%」(パーセント記号)を使った計算です。
使い方については「/」と同じで、
「数値1」を「数値2」で割った結果のあまりを「数値3」に代入したい場合は、
数値3 = 数値1 % 数値2;
と記述します。
例えば、
int num = 5 % 2;
とした場合には、int変数であるnumに、5を2で割ったあまりである
1
という値が代入されます。
このように、「%」を使うことによってかんたんにあまりを計算することができます。
Javaの割り算での注意点
Javaでの割り算の方法について、「/」を使った方法と、あまりを求める「%」を使った方法についてかんたんに紹介しました。
ただ、Javaには割り算を行な際の注意点があります。1つ目が、整数同士の割り算の場合です。例えば、先程の例の5÷2の結果をdouble型に代入したとき、5ではなく5.0という値を用いました。
これは、
double num = 5 / 2;
とすると、割り算の結果自体は2.5ですが、整数同士の割り算では少数点以下が切り捨てられてしまうので、
結果を代入するnumには
2
という値が保存されてしまいます。このことは、
double num1 = 10 * 5 / 2;
と
double num2 = 5 / 2 *10;
という2つの計算結果の違いを比較するとよくわかります。1つ目の計算では、10×5を2で割っているので、50÷2の結果である、
25
が変数num1に保存されます。一方、2つ目の計算では、5÷2の結果に10をかけていますが、整数同士の割り算なので、2×10となって。
20
が変数num2に保存されます。
このことは複数の四則演算を組み合わせて行なう場合などには十分注意しないと、意図したどおりの計算結果を得ることができない場合があるので、気をつけてください。
また、他にも注意する点はいくつかありますが、普通に使っていればあまり困ることはありません。
基本的には、割り算される値に限らず、割り算する値が0である場合にはエラーが発生してしまうので、場合によっては、プログラムの途中で割り算する値が0でないことを確認する処理を組み込んでおくと良いでしょう。
まとめ
この記事では、Javaにおける割り算の計算方法、あまりの計算方法、また、注意点について解説しました。
単純な計算であっても、プログラムにおいては気をつけなければいけないこともあるということがわかる良い例かと思います。
今後、エラーを少なくするために、割り算を使う場合に気をつけておくとよいでしょう。
監修してくれたメンター
メンターOS
AIプログラミングを使って開発を行う。プログラミング歴は約3年。Pythonは割と好きな方。JavaもAndroid開発で触れていたりする。 大学では物理学を勉強中。好きな物理理論は一般相対性理論らしい。 意外と動物が好きだったり、、、。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。