Java
初心者

【Java】基本的な型と命令ノート


データ型


  • 整数



    • byte:±約128


    • short:±約3.2万


    • int:±約21億


    • long:±約900京



  • 小数



    • float:曖昧で良い小数


    • double:厳密な小数



  • 真偽値



    • booleantrue or false



  • 文字



    • 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文に分けるのが吉。

(参考)

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();

こういう↑書き方もある。


  • インスタンス:


    • InputStreamReader

    • BufferedReader



  • メソッド:


    • readLine()



なお、直接コマンドプロンプトでjavacとjavaを叩くとエラーは出ない模様。


参考書籍

スッキリわかるJava入門 第二版

Pp.075-091

やさしいJava 第7版

Pp.61-67