Java学習中。
今迄の勉強した事の総復習。
ほぼ自分の勉強メモです。
過度な期待はしないでください。
過去投稿記事
【Java~変数の定義、型変換について~】勉強メモ
【Java ~真偽値~】勉強メモ(2)
【Java ~条件分岐・繰り返し処理~】勉強メモ(3)
【Java ~配列~】勉強メモ(4)
【Java ~メソッド~】勉強メモ(5)
【Java ~ クラス ~ 】勉強メモ(6)
自己紹介プログラムの作成
- シンプルに文字列を表示
class Main {
public static void main(String[] args) {
System.out.println("名前はKate Jonesです");
}
}
・System.out.println( ) と書く事で( )の中身を出力。
・文字列はダブルクォーテーション(")で囲む。
- コンソールから入力の受け取り
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("名前: ");
String firstName = scanner.next( );
System.out.print("名字: ");
String lastName = scanner.next( );
System.out.println("名前は"+ lastName + firstName +"です");
}
}
・コンソールへの入力を受け取るにはScannerという外部ライブラリをインポートする。
また、Scannerは「import java.util.Scanner」で読み込みます。
※記載する場所に注意。最後のセミコロンも忘れがち。
・Scannerを使用するには、先ずScannerを初期化する。
new Scanner(System.in)で初期化します。
・初期化したものを変数に入れる。
変数を定義は、①変数にいれる値のデータ型を指定する、②変数の名前を決める
データの型は、Scanner
変数名は、分かりやすい名前で付ける。今回は、scanner
・コンソールに入力された文字列を受け取る。
scanner.next( )で、入力された文字列を受け取ります。
- 条件分岐とコンソールから数値の受け取り
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("名前: ");
String firstName = scanner.next( );
System.out.print("名字: ");
String lastName = scanner.next( );
System.out.println("年齢: ");
int age = scanner.nextInt();
System.out.println("名前は"+ lastName + firstName +"です");
System.out.println("年齢は"+ age +"歳です");
if(age >= 20){
System.out.print("成年者です");
}else{
System.out.print("未成年者です");
}
}
}
・コンソールに入力された数値を受け取る
scanner.nextInt( )で、入力された数値を受け取ります。
その他のScannerの使い方は、文字列を受け取る方法と同様。
・条件分岐の書き方は、
if(条件式){
//処理内容①;
}else{
//処理内容②;
}
条件式がtrueなら{ }内の処理内容①を行い、反対に条件式がfalseなら処理内容②を行う。
- メソッド
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("名前: ");
String firstName = scanner.next( );
System.out.print("名字: ");
String lastName = scanner.next( );
System.out.print("年齢: ");
int age = scanner.nextInt();
System.out.print("身長(m): ");
double height = scanner.nextDouble();
System.out.print("体重(kg): ");
double weight = scanner.nextDouble();
printData(firstName, lastName, age, height, weight);
}
public static void printData(String firstName, String lastName, int age, double height, double weight){
System.out.println("名前は"+ fullName(firstName, lastName) +"です");
System.out.println("年齢は"+ age +"歳です");
if(age >= 20){
System.out.println("成年者です");
}else{
System.out.println("未成年者です");
}
System.out.println("身長は"+ height +"mです");
System.out.println("体重は"+ weight +"kgです");
}
public static String fullName(String firstName, String lastName) {
return firstName + " " + lastName;
}
}
・コンソールに入力された小数を受け取る
少数値の読み込み ⇨ double d = scanner.nextDouble();
scanner.nextDouble()で、入力された小数を受け取る。
その他のScannerの使い方は、文字列・数値を受け取る方法と同様。
doubleは、小数を表すデータ型。
・メソッドの定義と呼び出し
メソッドの定義は ⇨ public static void メソッド名( ){ 実行する処理 }
メソッドを呼び出すには ⇨ メソッド名( );
・引数を用いた、メソッドの定義と呼び出し
メソッドの定義は ⇨ public static void メソッド名(データ型 変数名){ 実行する処理 }
メソッドを呼び出すには ⇨ メソッド名(引数);
また、複数の引数を受け取るためには、コンマ(,)で区切って定義する。
・戻り値のあるメソッド
メソッドの定義は ⇨ public static 戻り値のデータ型 メソッド名(引数){ return 戻り値 }
- クラス
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("名前: ");
String firstName = scanner.next( );
System.out.print("名字: ");
String lastName = scanner.next( );
System.out.print("年齢: ");
int age = scanner.nextInt();
System.out.print("身長(m): ");
double height = scanner.nextDouble();
System.out.print("体重(kg): ");
double weight = scanner.nextDouble();
// 他クラスのメソッドを呼び出す
Person.printData(firstName, lastName, age, height, weight);
}
}
// 外部ライブラリをインポート
import java.lang.Math;
class Another{
public static void printData(String firstName, String lastName, int age, double height, double weight){
System.out.println("名前は"+ fullName(firstName, lastName) +"です");
System.out.println("年齢は"+ age +"歳です");
if(age >= 20){
System.out.println("成年者です");
}else{
System.out.println("未成年者です");
}
System.out.println("身長は"+ height +"mです");
System.out.println("体重は"+ weight +"kgです");
// bmiメソッドを呼び出し、変数に代入
double bmi = bmi(height, weight);
System.out.println("BMIは"+ Math.round(bmi) +"です");
}
public static String fullName(String firstName, String lastName) {
return firstName + " " + lastName;
}
// bmiメソッドを定義
public static double bmi(double height, double weight) {
return weight/height/height;
}
}
・クラス(ライブラリ)を読み込むみ
class定義より上で「import java.lang.クラス名」と記載。
・クラスの定義
class クラス名 {ここにメソッドを定義}
ファイル名は、「クラス名.java」としなければならない。
・他クラスのメソッドを呼び出す
クラス名.メソッド名()とすることで、他のクラスのメソッドを呼び出すことができる。
・四捨五入をするためのメソッド
Math.round(数字);
- 真偽値の戻り値
import java.lang.Math;
class Another{
public static void printData(String firstName, String lastName, int age, double height, double weight){
System.out.println("名前は"+ fullName(firstName, lastName) +"です");
System.out.println("年齢は"+ age +"歳です");
if(age >= 20){
System.out.println("成年者です");
}else{
System.out.println("未成年者です");
}
System.out.println("身長は"+ height +"mです");
System.out.println("体重は"+ weight +"kgです");
double bmi = bmi(height, weight);
System.out.println("BMIは"+ Math.round(bmi) +"です");
// 健康かどうかを判定する条件分岐を作成
if(isHealthy(bmi)){
System.out.println("健康です");
}else{
System.out.println("健康ではありません");
}
}
public static String fullName(String firstName, String lastName) {
return firstName + " " + lastName;
}
public static double bmi(double height, double weight) {
return weight/height/height;
}
// isHealthyメソッドを定義
public static boolean isHealthy(double bmi) {
return bmi>=18.5 && bmi < 25;
}
}
・真偽値のデータ型は、boolean型
・論理演算子
18.5以上かつ25.0未満の「かつ」は、&&で表現し、「条件1 && 条件2」は、
「条件1がtrueかつ条件2もtrue」であれば結果もtrueになり、どちらか一方でもfalseであれ
ば結果はfalseになります。
ちなみに、「または」は、| |で表現し、「条件1 | | 条件2」は、
「条件1または条件2のどちらか一方でもtrue」であれば結果はtrueになります。