- 1. #3 Javaマスターへの道 1
- 2. JDKをインストールして実行環境を作る(後編)
- 3. 【22章】Javaを学ぼう
- 4. 【21章】Javaを学ぼう
- 5. 【20章】Javaを学ぼう
- 6. 【19章】Javaを学ぼう
- 7. 【18章】Javaを学ぼう
- 8. 【17章】Javaを学ぼう
- 9. 【16章】Javaを学ぼう
- 10. 【15章】Javaを学ぼう
- 11. 【14章】Javaを学ぼう
- 12. 【13章】Javaを学ぼう
- 13. 【12章】Javaを学ぼう
- 14. 【11章】Javaを学ぼう
- 15. 【10章】Javaを学ぼう
- 16. 【9章】Javaを学ぼう
- 17. 【8章】Javaを学ぼう
- 18. 【7章】Javaを学ぼう
- 19. 【6章】Javaを学ぼう
- 20. 【5章】Javaを学ぼう
#3 Javaマスターへの道 1
#はじめに
大学1年生です。
学校でJava のプログラミングについて学習しているので復習も兼ねて投稿していきます。
これから勉強するって人は一緒に頑張っていきましょう!#目次
1.プログラミングとは
2.Javaのプログラム
3.プログラムの要素
4.バグ#1.プログラミングとは
プログラムで伝える命令は、コンピュータが解釈できる文法をもつプログラム言語で書く必要があります。この文法を学ぶことがプログラミングを習得することになります。
コンピュータは命令がないとまったく動きません。コンピュータに何か仕事をしてもらうには命令の羅列である**プログラム**を作る必要があります。
プログラムを作ることを**プログラミング**といいます。#2.Javaのプログラム
Javaのプログラムは以下のような形をしています。“`Java
package cp1;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタ
JDKをインストールして実行環境を作る(後編)
<目次>
◆ Open JDK のインストールと設定
・インストール
・フォルダ構成
・PATHとJAVA_HOMEの設定◆ お試しJava
・コマンドプロンプトで「Hello World!」***
##◆ Open JDK のインストールと設定
####・インストール
インストールは以下から行います。
http://jdk.java.net/
https://bit.ly/3DPaiuSzipファイルがダウンロードされるので、任意の場所に展開します。
####・フォルダ構成
フォルダ構成について概要を説明します。#####<bin>
以下の記事の説明がわかりやすかったので、引用させていただきます。
参考 – 東京ウェブ制作 大和賢一郎代表 FAQ(よくある質問と回答)
http://www.1mouke.com/hpbldr_faq/faq00000059.html
> bin は binary(バイナリ)の頭文字です。
ソフトウェアを構成するファイルの動作モジュールのことを「バイナリファイル」と呼びます。
車で言えば「エンジンの中身のパーツ」に相当します。例
【22章】Javaを学ぼう
今回の記事では、「【21章】Javaを学ぼう」までのプログラムの内容に、「【18章】Javaを学ぼう」で完成させた自己紹介プログラムのPersonクラスと組み合わせて、乗り物をある人間が所有している状況を表現してみたいと思います。
私自身のアウトプットの場となりますので、よろしくお願いいたします!#前提条件(これまでの復習)
これまで学習してきた内容を載せておきます。今回はJavaを学ぼうの【1章〜21章】の知識が必要になります。“`java:Main.java
import java.util.Scanner;class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Car car = new Car(“フェラーリ”, “赤”);
Bicycle bicycle = new Bicycle(“ジオス”, “青”);System.out.println(“【車の情報】”);
car.printDa
【21章】Javaを学ぼう
今回の記事では、前章で作成したプログラムをもう少し高度な継承を学び、さらに改良していきます!
私自身のアウトプットの場となりますので、よろしくお願いいたします!念の為、前章まで進めてきたプログラムの内容を載せておきます。下図をご確認ください。
“`java:Main.java
import java.util.Scanner;class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Car car = new Car();
car.setName(“フェラーリ”);
car.setColor(“赤”);
Bicycle bicycle = new Bicycle();
bicycle.setName = (“ジオス”);
bicycle.setColor = (“青”);System.out.println(“【車の情報】”);
【20章】Javaを学ぼう
前章(【19章】Javaを学ぼう)で自転車と車のプログラムを作成しました。今回は重要な「オブジェクト指向」である継承について学び、さらに作成したプログラムを改良していきたいと思います!
私自身のアウトプットの場となりますので、よろしくお願いいたします!#継承とは
既存のクラスのフィールドやメソッドを別のクラスに引き継ぐ機能を**「継承」**といいます。さらに継承してできる新しいクラスには独自のフィールドやメソッドを追加してカスタマイズすることも可能です。継承されるクラスを**「スーパークラス」**、継承してできる新しいクラスを**「サブクラス」**と呼びます。##CarとBicycleの重複
CarクラスとBicycleクラスは、下図のように重複があります。コードの重複は修正・改善のしやすさなどを下げるため、できるだけ避けなければなりません。“`java:Car.java
import java.util.Scanner;
class Car {
private String name;
private String color;
private int dista
【19章】Javaを学ぼう
前章(【18章】Javaを学ぼう)では自己紹介プログラムを完成させました!
今回は「オブジェクト指向」についてさらに基礎を定着させるため、もう一つプログラムを実装していきたいと思います!
自身のアウトプットの場となりますので、よろしく願いいたします!まず、「自転車」と「車」という2種類のオブジェクトを用いてプログラムを組み立てます。
##Bicycleクラスの作成
・Bicycleクラスの定義
・Bicycleクラスにインスタンスフィールドnameを定義(private)
・インスタンスを生成し、コンソールにnameの値を出力“`java:Bicycle.java
class Bicycle {
private String name;Bicycle(String name) {
this.name = name;
}public String getName() {
return this.name;
}
}
“`“`java:Main.java
class Main {
public static void main(String[
【18章】Javaを学ぼう
今回の記事はオブジェクト指向の重要な機能の1つである、カプセル化によってフィールドとメソッドへのアクセスを制限することを学んでいきたいと思います。「【15章】Javaを学ぼう」から今回まで改善を重ねてきた自己紹介プログラムを今回も使用していきます。私自身のアウトプットの場となりますので、よろしくお願いいたします。
#カプセル化について
**「カプセル化」**とは、使い手に必要ないものを隠してしまうことを言います。具体的には**フィールドとメソッドへのアクセスを制限すること**です。クラスの外部からアクセスできるようにするには**「public」**を、アクセスできないようにするには**「private」**を用いて定義します。“`java:Person.java
class Person {
.
.
private String middleName;
.
.
.public String fullName() {
if(this.middleName == null) {
//クラス内からはアクセスできる
.
【17章】Javaを学ぼう
前回の記事は「【15章】Javaを学ぼう」で作成した自己紹介プログラムを改善していきましたが、今回はコンストラクタのオーバーロードを中心に学び、作成した自己紹介プログラムをさらに改善していきたいと思います。
私自身のアウトプットの場となりますので、よろしくお願いいたします!##前章で作成した自己紹介プログラム(前提)
“`java:Person.java
class Person {
public static int count = 0;
public String firstName;
public String lastName;
public int age;
public double height, weight;Person(String firstName, String lastName, int age, double height, double weight) {
this.count ++;
this.firstName = firstName;
this.lastName = lastName;
this.age
【16章】Javaを学ぼう
今回の記事は前章で作成した自己紹介プログラムをさらに改善していきたいと思います。
私自身のアウトプットの場となりますので、よろしくお願いいたします!##前章で作成した自己紹介プログラム(前提)
“`java:Person.java
//インスタンスフィールドを定義
class Person {
public String firstName;
public String lastName;
public int age;
public double height;
public double weight;//コンストラクタを定義し、インスタンスフィールドに値をセット
Person(String firstName, String lastName, int age, double height, double weight) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.height = height;
this.weight =
【15章】Javaを学ぼう
前章ではオブジェクト指向を中心に説明をさせていただきました。
今回は前章の勉強した内容を活用し、自己紹介プログラムを作ってみたいと思います。
私自身のアウトプットの場となりますので、よろしくお願いいたします!#自己紹介プログラム
自己紹介プログラムを、オブジェクト指向を使って実装していきたいと思います。##インスタンスフィールドを定義
まずはインスタンスフィールドを定義しましょう。
インスタンスにどんな情報を持たせるかを考えていきます。###Person オブジェクト
**インスタンスフィールド**
・firstName
・lastName
・age
・height
・weight**インスタンスメソッド**
・fullName
・bmi
・printData上記の情報を持たせていきます。
“`java:Person.java
//インスタンスフィールドを定義
class Person {
public String firstName;
public String lastName;
public int age;
public double heig
【14章】Javaを学ぼう
今回の記事では、オブジェクトについて詳しく書いていきたいと思います。
私自身のアウトプットの場になりますので、よろしくお願いいたします!#オブジェクト指向
現実世界の「もの」は情報と振る舞いを持っています。例えば人間であれば、**「名前」や「年齢」といった情報と、「あいさつをする」「歩く」といった振る舞い**を持っています。
プログラムの中のオブジェクトは、現実世界の「もの」を真似たものです。よって、同じように**情報と振る舞い**を持つように作ります。オブジェクト指向で大事なのは**クラスとインスタンス**です。インスタンスというのはオブジェクトの別名です。
そしてクラスはインスタンスの設計図に当たります。インスタンス(オブジェクト)は、クラスという設計図をもとに作られるのです。「名前」「年齢」という情報と「あいさつする」「歩く」という振る舞いを持つ人間のインスタンスを作るのであれば、Personというクラスにそれらの情報と振る舞いを定義します。##クラスの定義
“`java:Main.java
//クラスの定義
class Main {}
“`##インスタンス
【13章】Javaを学ぼう
今回の記事では、他人が作ったクラスを利用する外部ライブラリの利用について詳しく書いていきたいと思います。
私自身のアウトプットの場になりますので、よろしくお願いいたします!#外部ライブラリ
前章でクラスについて学びましたが、Javaでは、他人が作ったクラスを利用することができます。このようなクラスを**外部ライブラリ**と呼び、自分のプログラムに読み込むことで利用できるようになります。##import
外部ライブラリを自分のプログラムに使えるようにするには、**import**を用います。
数学的なメソッドを持つMathというクラス(ライブラリ)を読み込むには、class定義より上で「import java.lang.Math」とします。“`java:Main.java
import java.lang.Math; //外部ライブラリを読み込む
class Main {
public static void main(String[] args) {
.
.
.
}
}
“`##Mathクラスのメソッドについて
Mathクラスのmaxメソッド
【12章】Javaを学ぼう
今回の記事では、クラスについて詳しく書いていきたいと思います。私自身のアウトプットの場になりますので、よろしくお願いいたします!
#クラスについて
クラスは、メソッドという小さな部品をまとめる、より大きな部品というようなイメージです。
下図では、MainクラスとPersonクラスの2つのクラスがあり、MainクラスのmainメソッドでPerson.hello()としています。このようにクラス名.メソッド名()とすることで、他のクラスのメソッドを呼び出すことができます。“`java:Main.java
class Main {
public static void main(String[] args) {
Person.hello();
//クラス名 メソッド名
}
}
“`Personクラスのhelloメソッドを呼び出す↓
“`java:Person.java
class Person {
public static void hello() {
System.out.println(“Hello”);
}
}
“`##クラスの定義に
【11章】Javaを学ぼう
今回の記事では、戻り値を中心に書いていきたいと思います。私自身のアウトプットの場になりますので、よろしくお願いいたします!
#戻り値
メソッドの処理結果を、**メソッドの呼び出し元**で使いたい場合があります。このようなときは、メソッドが戻り値を返すようにします。##メソッドの戻り値
メソッドの中で**return**を使うと、returnの値をメソッドの呼び出し元に返すことができます。また、戻り値があるメソッドは、戻り値の**データ型を指定**します。「public static void」のvoidの部分で指定します。“`java:Main.java
public static 戻り値のデータ型 メソッド名(引数) {
return 戻り値; //呼び出し元にデータを返す
}
“`“`java:Main.java
public static int add(int x, int y) {
return x + y; //x + yが戻り値
}
“`上図のaddメソッドは
【10章】Javaを学ぼう
今回の記事では、メソッドとクラスについて中心に書いていきたいと思います。私自身のアウトプットの場になりますので、よろしくお願いいたします!
#メソッドについて
メソッドとは、何らかの処理を割り当てた部品です。Javaのファイルを実行すると、自動的にmainメソッドが実行されます。mainメソッドの処理をメソッドに切り分けると、mainメソッドが各メソッドに指示を出し、各メソッドが個々の処理を実行するという構造になります。##メソッドの定義について
“`java:Main.java
public static void メソッド名() {
実行する処理;
}
“`「public static void」の部分はまだ定型として覚えておきます。メソッドの名前は好きに付けることができますが、処理の内容が想像できるような名前をつけるのが理想です。
##メソッドの呼び出しと定義場所について
“`java:Main.java
class Main {
public static void main(String[] args) {
【9章】Javaを学ぼう
今回の記事では、配列について中心に書いていきたいと思います。私自身のアウトプットの場になりますので、よろしくお願いいたします!
#配列について
##配列とは
変数のセットというようなイメージです。
変数が1つしか値を扱えないのに対し、配列は複数の値をまとめていれておくことが可能です。
配列に入っているそれぞれの値のことを要素と呼びます。##配列の変数定義について
配列を扱う場合には、配列型の変数に配列を代入します。配列型は、「int型の要素を持つ配列型」「String型の要素を持つ配列型」という風に指定する必要があります。記述方法は下図の通りになります。“`java:配列の変数定義
int[] ……. 数値を要素に持つ配列String[] ……. 文字列を要素に持つ配列
“`[]の間にはスペースを空けないように注意しましょう!
##配列の作成方法
配列は{ }の中に、コンマ(,)で区切りながら値を書くことでつくることができます。[]と{}を混同しないように注意してください。“`java:Main.java
int[
【8章】Javaを学ぼう
今回の記事では、繰り返し処理について書いていきたいと思います。私自身のアウトプットの場になりますので、よろしくお願いいたします!
#繰り返し処理について
繰り返し処理とは、一定の処理を自動で繰り返し行う処理のことです。
例えば、1から50までの数字をコンソールに出力したい場合、System.out.println()を50回書くのはとても大変なことです。このような処理を自動化するのが繰り返し処理です。##while文
while文は「条件がtrueの間、{ }内の処理を繰り返す」ことができます。“`java:Main.java
while(条件式) {
繰り返しをする処理;
}
“`繰り返し処理の流れとしては、まずwhile文の前で変数の初期化を行います。この変数は、while文を繰り返すかどうか判断するために用います。処理が一周終わると、その度に変数は更新され、再び条件式がチェックされます。trueであればもう一周処理を行い、falseであれば繰り返しが終了します。
“`java:Main.java
int i = 1; //①
【7章】Javaを学ぼう
今回は条件分岐の時に使用する、構文である**switch文**について記事を書きたいと思います。
自身のアウトプットの場となりますので、よろしくお願いいたします。#switch文について
条件分岐には最もよく使うif文の他にswitch文という構文もあります。
下図のように記述します。“`java:Main.java
switch(条件の値) {
case 値1:
処理;
break;
case 値2:
処理;
break;
case 値3:
処理;
break;
}
“`switch文は構文が少し複雑で「:」や「;」を間違えないように記述しましょう。
##if文とswitch文の比較について
switch文とif文の比較を具体例を用いて確認してみます。“`java:Main.java
//if文の場合
int x = 4;
if(x % 2 == 0) {
//trueになる
System.out.println(“偶数”);
} else if (x % 2 == 1) {
System.out.println(“奇数
【6章】Javaを学ぼう
今回の記事はif文、条件分岐について記事を書いていきたいと思います。
私自身のアウトプットの場となりますので、よろしくお願いいたします!#条件分岐
特定の状況のときだけある処理を行う、ということを**条件分岐**といいます。
##if文について
最もよく使う条件分岐である**if文**について解説していきたいと思います。“`java:Main.java
if(条件式) {
処理;
}//条件式、処理を当てはめる
if (天気 == 雨) {
傘を持っていく;
}
“`ifは英語で「もし〜なら」という意味です。この「〜」に当たる部分が、ifの後の()の部分です。これを**条件式**と呼びます。条件式がtrueなら{}内の処理を行い、反対に条件式がfalseなら何もしません。
それではもう少し具体的に、if文を使ってみたいと思います。“`java:Main.java
//if文①
int x = 5;
if(x == 5) {
//trueになる
System.out.println(“xは5です”);
}//if文②
int x = 10;
i
【5章】Javaを学ぼう
#論理演算子について
前章では真偽値・比較演算子について学びました!
今回は論理演算子についてアウトプットしていきたいと思います!
論理演算子は「かつ」「または」「~でない」を表現する記号になります。##論理演算子 「かつ」
まずは「かつ」について解説していきます。
「かつ」は&&で表現し、「条件1 && 条件2」は「条件1がtrueかつ条件2もtrue」であれば結果もtrueになり、どちらか一方でもfalseであれば結果はfalseになります。“`java:論理演算子&&
aが10の時 a > 15 && a < 35 ....... false //false //true aが25の時 a > 15 && a < 35 ....... true //true //true aが40の時 a > 15 && a < 35 ....... false //true //false ``` ##論理演算子 「または」