アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

JavaEEの前に復習をしてみる その4 変数同士の計算をしてみる。

変数同士の計算を、Javaで行ってみたいと思います。
初歩の初歩から、技術を思い出すために書き連ねていきます。
まだ、Java触ったことのない人は、過去記事のEclipseのインストールから行っていくと、
shadeの独学レベルまでは、たどり着けるかもしれません。そして、そのままGOLDとっちゃってくださいw
でも、めんどくさくなって、どーーん!!と話がぶっ飛ぶことこともお許しくださいw

int型の、num1とnum2を使って計算をします。
int num1 = 5;
int num2 = 6;
と、2つの値を宣言しておきます。
そして、この2つを使って四則演算をします。

まず、加算。

System. out.println ( "num1+num2=" +num1+num2+ "です。" );

これで、どんな結果が返ると思いますか?

5+6だから、11!

ではなくて、

num1+num2=56です。

となります。


これは、初歩的なです。
プログラムに慣れてくれば、当たり前じゃん!という内容なんですけどね。

こう、書くとどうでしょう。

System. out .println ( num1+num2 +"です。" );

これだと、

11です。

となります。

これは、
"num1+num2=" +num1+num2+ "です。"

"num1+num2=" と "です。"が、文字列です。
num1と、num2は数値型です。
文字列と数値は直接足すことができないので、一番左にある文字列が優先され処理されます。
そしてプログラムは左側から優先的に処理されるので、

"num1+num2=" + 5 = "num1+num2=5"
"num1+num2=5" + 6 = "num1+num2=56"
"num1+num2=56" + "です。" = "num1+num2=56です。"

となってしまうわけです。

System. out .println ( num1+num2 +"です。" );
こちらの場合は、一番左が数値型で、次も数値型なので、数値同士の計算が先にされて、
最後に文字列がくっつく形になるので、正しい計算がされ、11と返されるわけです。

num1+num2=11です。と表示したければ、
System. out .println ( "num1+num2=" +(num1+num2)+ "です。" );
と、このように、数値型同士をかっこで括って優先的に処理してしまえばOKです。

実は、こういうのがJava SE Silverの問題に出てきて、結果は以下のうちどれでしょう。
といった感じで、11だったり、56だったりの中から答えを選ばせる問題が出ます。

四則演算をまとめて行うと、

public class Rensyu {
public static void main (String [] args){
int num1 = 5;
int num2 = 6;
System. out.println ( "num1+num2=" +(num1+num2)+"です。" );
System. out.println ( "num1-num2=" +(num1-num2)+"です。" );
System. out.println ( "num1*num2=" +(num1*num2)+"です。" );
System. out.println ( "num1/num2=" +(num1/num2)+"です。" );
}
}


もちろん、実際のプログラムでこんな書き型したら怒られますが、最初なので、こんな感じで。
結果は、

num1+num2=11です。
num1-num2=-1です。
num1*num2=30です。
num1/num2=0です。

と、なります。除算が0と表示されたのは、num1とnum2が整数型だからです。
整数型は小数点以下の数値を表示することはありません。
小数点以下を表示するのであれば、intではなく、float型を使うといいです。
今回も手抜きで書いてしまいますが、

public class Rensyu {
public static void main (String [] args){
float num1 = 5;
float num2 = 6;

System. out .println ( "num1+num2=" +(num1+num2)+ "です。" );
System. out .println ( "num1-num2=" +(num1-num2)+ "です。" );
System. out .println ( "num1*num2=" +(num1*num2)+ "です。" );
System. out .println ( "num1/num2=" +(num1/num2)+ "です。" );
}
}


こうすることで、以下のように表示することができます。

num1+num2=11.0です。
num1-num2=-1.0です。
num1*num2=30.0です。
num1/num2=0.8333333です。

もちろん、除算だけfloatの結果を返すような表記もできます。
しかし、長くなってきてしまったので、それはおいおい普通に書かれていると思いますw
    >>次へ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。