データ型#
- 整数
-
byte:±約128 -
short:±約3.2万 -
int:±約21億 -
long:±約900京
-
- 小数
-
float:曖昧で良い小数 -
double:厳密な小数
-
- 真偽値
-
boolean:trueorfalse
-
- 文字
-
char:文字1文字
-
- 文字列
-
String:文字列
-
型変換の概念##
データ型の大小関係に従う。小は大に入れるが逆は無理。
byte < short < int < long < float < double
public class Main {
public static void main(String[] args){
// int型同士で計算した場合 -> 2
System.out.println("int型同士で計算した場合");
int a=5;
int b=2;
System.out.println(a/b);
// int型同士で計算した場合 -> 2.5
System.out.println("double型同士で計算した場合");
double c=5;
double d=2;
System.out.println(c/d);
// 片方がint型,もう片方がdouble型で計算した場合 -> 2.5
System.out.println("片方がint型,もう片方がdouble型で計算した場合");
int e=5;
double f=2;
System.out.println(e/f);
// 片方がdouble型,もう片方がint型で計算した場合(検算) -> 2.5
System.out.println("片方がdouble型,もう片方がint型で計算した場合(検算)");
double g=5;
int h=2;
System.out.println(g/h);
// int型同士て計算したものをdouble型変数xに代入した場合 -> 2.0
System.out.println("int型同士て計算したものをdouble型変数xに代入した場合");
int i=5;
int j=2;
double k=i/j;
System.out.println(k);
}
}
基本的な命令文#
- 画面出力
System.out.print(引数1);System.out.println(引数1);
- 数値の大小比較
Math.max(引数1, 引数2);
- 文字列型の数値型変換
Integer.palseInt(引数1);
- 乱数発生
new java.util.Random().nextInt(引数1);
- キーボードからの入力受付
new java.util.Scanner(System.in).nextLine(引数1);new java.util.Scanner(System.in).nextInt(引数1);
public class test02 {
public static void main(String[] args){
// 画面出力
System.out.print("System.out.print();");
String a="My name is";
String b="sample program";
System.out.print(a+b);
System.out.println(a+b);
// 数値の大小比較;
System.out.println("Math.max();");
int m=5;
int n=2;
int l=Math.max(m,n);
System.out.println("比較実験:"+m+"と"+n+"で大きい方は"+l);
System.out.println("--");
// 文字列型の数値型変換;
System.out.println("Integer.parseInt();");
String age="31";
int i=Integer.parseInt(age);
System.out.println("あなたは来年"+(i+1)+"歳になりますね");
System.out.println("--");
// 乱数発生;
System.out.println("new java.util.Random().nextInt();");
int r=new java.util.Random().nextInt(2); // nextIntの方に引数を入れる。
System.out.println("乱数発生器:"+r);
System.out.println("--");
// キーボードからの入力受付
System.out.println("new java.util.Scanner(System.in).next~系");
// 名前と年齢を受け取る。
System.out.println("あなたの名前を教えてください。");
String x = new java.util.Scanner(System.in).nextLine();
System.out.println("あなたの年齢を入力してください。");
int y = new java.util.Scanner(System.in).nextInt();
// 出力
System.out.println("ようこそ"+x+"さん("+y+"歳)。");
}
}
追記 2019/05/13##
new java.util.Scanner(System.in).nextline()だが、
これはインスタンスの生成とメソッドの使用を一文でやっている。
- インスタンス:
java.util.Scanner - メソッド:
nextLine()
でもこれだとEclipseはエラーを返してくる。
<unassingned Closeable value>が閉じられることはありません
Scanner.close()メソッドを使って入力受付を終わらせろ、ということらしい。
なので、インスタンスの生成とメソッドの使用は2文に分けるのが吉。
[(参考)]
(https://ja.stackoverflow.com/questions/41408/java-%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9-%E3%83%AA%E3%83%BC%E3%82%AFunassigned-closeable-value%E3%81%8C%E9%96%89%E3%81%98%E3%82%89%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93)
Scanner scn = new java.util.Scanner(System.in);
String str = scn.nextLine();
scn.close(); //ここで閉じる。
あるいは、
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
こういう↑書き方もある。
- インスタンス:
InputStreamReaderBufferedReader
- メソッド:
readLine()
なお、直接コマンドプロンプトでjavacとjavaを叩くとエラーは出ない模様。
参考書籍#
[スッキリわかるJava入門 第二版]
(https://www.amazon.co.jp/dp/B00MIM1KFC/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)
Pp.075-091
[やさしいJava 第7版]
(https://www.amazon.co.jp/dp/4815600848/ref=cm_sw_r_tw_dp_U_x_P7o2CbMQG50SB)
Pp.61-67