Javaの基礎
今日も学習していきます!
・メソッドの定義
public static void メソッド名() {
実行する処理;
}
例:
public static void hello () {
System.out.println(“Hello World ”);
}
・メソッドはクラスの中に定義する
例:
Class Main {
public static void main(string args){
pirntData;
}
public static void printData(){
System.out.println(“hello”);
}
}
・引数の受け取り方、渡し方
例:
Class Main {
public static void main(string args){
printData(“sum”);
}
public static void printData(String name) {
System.out.println(name);
}
}
printData(“sum”);の記述で
public static void printData(String name) {
のString nameに”sum”を渡している
・複数の引数を設定する:,で区切り記述する
例:
Class main {
public static void main (String args){
printData(“sum”, 28);
}
public static void printData(String name, int age){
System.out.println(name + age);
}
}
引数を渡す時の順番も関係しているため気をつけること
*戻り値のないメソッドにはvoidを指定する
・戻り値のあるメソッド
例:
class Main {
public static void main(String args) {
String name = fullName("Kate", "Jones");
printData(name, 27);
}
public static void printData(String name, int age) {
System.out.println("私の名前は" + name + "です");
System.out.println("年齢は" + age + "歳です");
}
public static String fullName(String firstName, String lastName){
return firstName + " " + lastName;
}
・まず変数nameにfullName値を代入する記述を作る
・fullNnameメソッドを定義し引数を足した値をreturnする
・変数nameに代入されたfullNameが出力される
・オーバーロード:同名で引数の型や個数が違うメソッドを定義すること
例:
class Main {
public static void main(String args) {
printData(fullName("Kate", "Jones"), 27);
printData(fullName("John", "Christopher", "Smith"), 65);
}
public static void printData(String name, int age) {
System.out.println("私の名前は" + name + "です");
System.out.println("年齢は" + age + "歳です");
}
public static String fullName(String firstName, String lastName) {
return firstName + " " + lastName;
}
// fullNameメソッドを定義してください
public static String fullName(String firstName, String middleName, String lastName){
return firstName + " " + middleName + " " + lastName;
}
}
・メソッドがメソッドを呼ぶ記述
class Main {
public static void main(String args) {
printData(fullName("Kate", "Jones"), 27, 1.6, 50.0);
printData(fullName("John", "Christopher", "Smith"), 65, 1.75, 80.0);
}
public static void printData(String name, int age, double height, double weight) {
System.out.println("私の名前は" + name + "です");
System.out.println("年齢は" + age + "歳です");
System.out.println("身長は" + height + "mです");
System.out.println("体重は" + weight + "kgです");
double bmi = bmi(height, weight);
System.out.println("BMIは" + bmi + "です");
}
public static String fullName(String firstName, String lastName) {
return firstName + " " + lastName;
}
public static String fullName(String firstName, String middleName, String lastName) {
return firstName + " " + middleName + " " + lastName;
}
public static double bmi(double height, double weight){
return weight / height / height;
}
}
* double bmi = bmi(height, weight);
上述の記述をbmi(double height, double weight);としない!!
・boolean型の記述
例:一部抜粋
if (isHealthy(bmi)){
System.out.println("健康です");
}else{
System.out.println("健康ではありません");
}
public static boolean isHealthy(double bmi){
return bmi >= 18.5 && bmi < 25.0;
}
・他のクラスを使う
仮にMain.javaとPerson.javaがあったときに
-Main .java-
class Main {
public static void main(String args){
person.hello();
}
}
とすると
-person.java-
class person {
public static void hello() {
System.out.println(“Hello Java”);
}
}
Personクラスで定義していたhelloメソッドが実行される
・ライブラリの使用
例:
import java.lang.Math;
これでライブラリを呼び出すことができる
class Main {
public static void main (String args){
Int max = Math.max(3, 8);
System.out.println(max);
}
}
ライブラリのMathクラスのmaxメソッドを使用している
引数の3と8で大きい方を出力するので8が出力される
・入力を受け取る
例:
import java.util.Scanner;
class Main {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("名前: ");
String name = scanner.next();
System.out.println("こんにちは" + name +"さん");
}
}
・import java.util.Scanner;の記述でライブラリをインポートする
・Scanner scanner = new Scanner(System.in);でScannerを初期化し、scannerという変数に代入する
・ String name = scanner.next();で文字列の入力を受け取りこの場合は変数nameに代入する
・int doubleの受け取り方
例:
int number = scanner.nextInt();
Double bmi = scanner.nextDouble();
のように記述する
nextInt、nextDoubleとなるのがポイント
と今日は以上です。
正直Rubyの方が理解しやすかったと思います、、、
記述が複雑になってくると途端に難しくなりますね。