0
0

More than 3 years have passed since last update.

Rubyを学習後にJavaを勉強した人が感じた主な二つの言語の違い Part1

Posted at

Javaの文法を勉強し始めRubyと比べてややこしいルールが多いのでメモしておく。

出力

System.out.println "Java";  //これでRubyのPutsと同じ役割 コードの終わりに;を打つ

変数とデータ型

Javaで変数を定義するためには、
①変数にいれる値のデータ型を指定する、②変数の名前を決める、
という2つが必要。

int number = 7;

String name = "佐藤";   //String(文字列)型はのsは大文字

double syosu = 3.14;

キャスト(強制的に型変換)

 int number1 = 7;
 int number2 = 2;

 System.out.println(number1 / number2);  //結果は3
 System.out.println((double)number1 / number2);  //結果は3.5

真偽値 boolean型

  System.out.println(12 / 4 == 3);  //trueと出力

  System.out.println(12 / 4 != 3); //falseと出力

if文

 条件式はifの後の()のなかに書く

  if (true) {
    System.out.println("条件式がtrueのため、出力されます");
  }


  if (false) {
    System.out.println("条件式がfalseのため、出力されません");
  }

switch文

int number = 13;

    // defaultを用いて、どのcaseにも合致しない場合の処理
    switch (number % 5) {
      case 0:
        System.out.println("大吉です");
        break;
      case 1:
        System.out.println("中吉です");
        break;
      case 4:
        System.out.println("凶です");
        break;
      default:
        System.out.println("吉です");
        break;
    }

配列

 はじめに配列の要素の型を指定する。配列は{}中括弧。


 String names[] = {"YUI","YUKI","YOU"}; 

拡張for文 (for文をシンプルに書く)

   String[] names = {"犬", "猫", "亀"};

    for (String name : names){
      System.out.println("私のペットは"+name+"です");
    }

クラスとメソッド

Javaは、ファイルではなくクラスを実行する。Mainクラスの中にMainメソッドがありその中にあるhelloメソッドが実行されるという流れ。

class Main {
//メソッドの定義 voidは戻り値がないという意味
  public static void main(String[] args) { 
    hello();
  }

  public static void hello() {
    // "Hello World"を、"Hello Java"に書き換えてください
    System.out.println("Hello Java");
  }
}

戻り値 (メソッドの処理結果を、メソッドの呼び出し元で使いたい場合)

class Main {
  public static void main(String[] args) {
    // fullNameメソッドの結果を変数nameに代入
    String name = fullName("Kate" ,"Jones");

    // printDataの引数を書き換えてください
    printData(name, 27);

    // こちらは書き換えないでください
    printData("John Christopher Smith", 65);

  }

  public static void printData(String name, int age) {
    System.out.println("私の名前は" + name + "です");
    System.out.println("年齢は" + age + "歳です");
  }

  // fullNameメソッドを定義
  public static String fullName(String firstName ,String lastName){
    return firstName + " " + lastName;
  }

}

オーバーロード(引数の型や個数が違う場合は同名のメソッドを定義できる)

//コンピュータが別々のメソッドとして判断できる

hello();        //引数がないhelloメソッド

hello("Java"); //引数が一つhelloあるメソッド

真偽値の戻り値

isHealthyメソッドの戻り値(真偽値)で条件分岐
メソッド1
    if (isHealthy(bmi)){
      System.out.println("健康です");
    }else{
      System.out.println("健康ではありません");
    }


メソッド2
  public static boolean isHealthy(double bmi){
    return bmi >= 18.5 && bmi < 25.0;
  }

Scanner

コンソールに値を「入力」し、その値をプログラム内で使うこともできる。
コンソールへの入力を受け取るにはScannerというライブラリを用います。

//import必須
import java.util.Scanner;  

class Main {
  public static void main (String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.print("名前: ");

    // 変数nameを定義し、コンソールから文字列を受け取って代入してください
    String name = scanner.next();
    // 「こんにちは◯◯さん」と出力してください
    System.out.println("こんにちは"+name+"さん");
  }
}

Part2に続く....

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0