Java 入力と条件式

2020-10-21

ではまず入力の仕方を教えます

public class Sample{
  public static void main(String[] args){
    String text=new java.util.Scanner(System.in).nextLine();//文字列を受け取る
    int number=new java.util.Scanner(System.in).nextInt();//数値を受け取る
  }
}

こんな書き方もできます

import java.util.Scanner;

public class Sample{
  public static void main(String[] args){
    Scanner scanner=new Scanner(System.in);
    String text=scanner.nextLine();//文字列を受け取る
    int number=scanner.nextInt();//数値を受け取る
  }
}

で一番上のやつの説明をします
newっていうのはまあ新しく物を作るからというのを宣言しています。
java.util.Scannerっていうのは入力専用クラスのことを表しています。
Javaでは普通はjava.langという普段使うようなものをたくさんつめたのを使っています。
しかしそれだけではできないのを使いたかったら新しく読み込まないといけません。
なので、新しく読み込むためにわざわざjava.util.Scannerって書いているんです。
System.inは入力するっているのを表しています。
nextInt()は数値として受け取りますが、nextLine()は文字列として受け取ります。
nextLine()はnext()にしても動いてくれます。

条件式

条件式は2個あります

public class Sample{
  public static void main(String[] args){
    System.out.println("数値を入力してください");
    int number=new java.util.Scanner(System.in).nextInt();
    if(number==2){//もしnumberが2だったら
       System.out.println("true");
    }
  }
}

これはif文といいます。ifの条件式は<,<=,>,>=,==,!=や.equalsなどいろいろあります
<は何かが何々より大きかったら~に使います<=は何かが何々以上だったら~の時に使います>,>=も同じです。
==は何々と同じだったらーのときにつかいます。
!=でなければ~の時に使います。
.equalsは文字列を比較するときに使います。==で文字を比較してはいけませんもし比較すると場合によっては間違った結果が出てしまう恐れがあります。
}equalsの比較方法は変数名.equals(文字列か変数)です。
ほかにもindexOf(文字列にとある文字が入っているか)などをがあります。
indexOfは比較したい文字列.indexOf(この文字列が入っているか調べたい文字列)でその文字が見つかったらその文字が何番目にあるか出力します。
もし、値が見つからないときは-1を出します。
ほかにもいろいろあるので気になったら調べてみてください。

public class Sample{
  public static void main(String[] args){
    int number=new java.util.Scanner(system.in).nextInt();
    if(number==2){//もしnumberが2だったら
      System.out.println("numberの値は2");
    }else if(number==3){//numberが2ではないときに実行される
      System.out.println("numberの値は3");
    }else{//numberが2でも3でもないとき
      System.out.println("false");
   }
  }
}

elseという新しい単語が出てきましたね。
これは、その前にあった条件式があってなかったときに実行されます。
だから、numberが2でなかったときは別の条件式で比べてますね。
elseのあとにifいれるのはよくつかわれるのでelse ifという一つにしてよくなりました。

もう一個の条件式

もう一つの条件式にswitch文のがあります。
書き方は

public class Sample{
  public static void main(String[] args){
    int number=new java.util.Scanner(System.in).nextInt();
    switch (number){
      case 2:
        System.out.println("numberの値は2");
        break;
      case 3:
        System.out.println("numberの値は3");
        break;
      default:
        System.out.println("false");
    }
  }
}

switch の次にいある(number)っていうのはこれと同じ数字や文字列の文を実行しています。
case 数値や文字列: はswitchの後に行った変数などと同じ文字だったらその文を実行します。
break;っていうのはループなどから抜け出すときなどに使います。もしbreakがなかったらその次にある文まで実行されます(例えばcase 2とcase が実行されたりします)
defaultはcaseの値が全部あっていなかったときに使います。
switch文とif文の使い分け方は<=や<や!=などを使ったりifの数が少なかった場合はif文.equalsや==を使う場合はswitch文にするのがいいと思います。
switch文のサンプルコードを作りました

https://repl.it/join/zlcphucj-toufu335

わからないところなどがあったらコメントで知らせてくれるとありがたいです

java

Posted by koufu193