Java 超入門 〜1〜
特徴
1.コンパイラ言語
機械語に一括変換する事で処理が高速
2.オブジェクト指向開発
「 データと処理 」を1セットとして
プログラムを組み立ていく開発手法に適した言語。
(処理を部品化してそれらを組み合わせる事で1つのプログラムを構築)
3.OSを選ばない
javaは、windows,macos,Linuxなど
どのプラットフォームでも動く
(なんで?JVM上で動作するから。)
JVM
JavaVirtualMachine
Java仮想マシンの事
JVM言語
相互運用性があるので、Scala
やKotkin
のコードをjavaで使用できる
環境構築に必要なもの
1.JDK(Java Development Kit)
プログラムを実行する時に
必要な機能がパッケージされたもの
2.VSCode(Visual Studio Code)
コードエディタ
マイクロソフトが開発したプログラムを書くためのエディタのこと
様々なOSで使用可能で、有名ところの言語に適している。
3つの基本構造(基本構造を制御構造や制御フローと言ったりする。)
1.順次進行
プログラムが書かれている上から順に実行されること。
2.条件分岐
3.繰り返し
実行
1.クラスを作る(クラスを定義する)
javaでは、このクラスを組みあわせてプログラムを作っていく為、
javaの土台となる部分(複数のクラスを使うに通ずる)
class Greeting #クラス名{
public static void main(String args[]){
# メソッドメイン定義
}
- クラスを定義した後
{}
で囲む。括られた部分をブロック
と言う。
ブロック内に、プログラムにどんなことをさせるのか処理を記述する
2.メソッドを作る(メソッドを定義する)
上のpublic static void main(String args[])
の部分がメソッドを定義している箇所。
3.処理
System.out.plintln
で処理の結果を画面に表示させる。
終わりに;(セミコロン)
は決まり。よく忘れてるので注意⚠️
コードが書けたら、command + S
でファイル保存。
もう忘れてた。
4.実行
コンパイル(パソコンが読める機械語に変えること)
-
上にある表示 → ターミナルで、
javac Greeting(javaのファイル名).java
入力 → エンター -
同じディレクトリに、
Greeting(javaのクラス名).class
のファイルができる。 -
ターミナルで、
java Greeting(ファイル名)
実行するときは、コンパイルして実行の流れ。
変数を宣言する
変数を指定するときは、データ型を指定しなければならない。(int型、String型、boolean型とか)
class クラス名{
public static void main(String[] args){
int(データ型) var(変数名); #変数の宣言はここまで。
var = 1; #宣言した変数に整数1を代入
System.out.println(var);
コンパイルjavac javaのファイル名.java
して実行java ファイル名
変数の宣言と代入を同時にできる。
int var = 1;
※ 赤い波線が出たらエラー
データ型
整数型
1.byte -100~100
2.short -3万~+3万
3.int -20億~+20億
4.long [京]の桁以上
(兆の上で非常に大きい数ってこと。代入した数字の最後に大文字の"L"をつけるルールがある。)
小数型
1.float 少ない桁数の小数点を扱える
整数型のlong
のようにお尻に"F"をつけるルール。
2.double 多くの桁数の小数点を扱える
小数点を扱うときは、double
を使用することが多い
例文
class Decimal{
public static void main(String[] args) {
double var01 = 1.23456789;
float var02 = 1.234F
System.out.println(var01);
System.out.println(var02);
}
}
文字列型
1.char
文字ひとつの時に使う。(あるの?)
シングルクォーテーションで囲む
2.String
文字2つ以上の時に使う。
ダブルクォーテーションで囲む
ブール型(Boolean型)
true
又はfalse
はい
又はいいえ
0
又は1
と言ったりする。
例文
class Example{
public static void main(String[]args){
int var_a = 10; #変数の宣言と代入
int var_b = 1; #変数の宣言と代入
boolean var_bool; #変数の宣言
var_bool = (var_a > var_b);#宣言した変数に代入
System.out.println(var_bool);
}
}
コンパイルして実行。結果はこの場合true。
配列の作り方
1.宣言と代入を別々に
データ型[]配列変数名; # 宣言
配列に格納するデータ型を書いて、各かっこ
その後に配列を扱う変数名を書く。
配列変数名 = new データ型[要素数]; #代入
配列を扱う変数のことを配列変数
といい、
その名前のことを配列変数名
という。
例文
class array{
public static void main(String[] args){
String[]arr; #宣言
arr = new String[3]; #代入
arr[0] = "sato";
arr[1] = "suzuki";
arr[2] = "takahashi";
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
コンパイルして実行。
2.宣言と代入を同時に
データ型[] 配列変数 = {データ1,データ2...} ;
データ型を書いて角カッコ
例文
class array{
public static void main(String[] args){
String[] arr = {"sato","suzuki","takahashi"};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
コンパイルして実行。(1と結果は同じ)
代入したものを変更する場合は、
class array{
public static void main(String[] args){
String[] arr = {"sato","suzuki","takahashi"};
**arr[1] = "tanaka"**
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
インデックス番号を指定して、代入すればよい
二次元配列の宣言と代入
配列の中に配列が入っている形式。
表形式のデータ(行と列)を扱う際などに使われる。
- 宣言のみ。
int[][] 配列変数名 = new int[3][4]; #3行4列の二次元配列
例文
class Main{
public static void main(String[] args){
int [][] arr = new int[2][3]; # 2行3列の二次元配列を作成
#配列に値を代入
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
arr[1][0] = 4;
arr[1][1] = 5;
arr[1][2] = 6;
for (int i = 0; i < arr.length; i++) { # 行をループ
for(int j = 0; j < arr[i].length; j++) { # 列をループ
System.out.println(arr[i][j] + " ");
}
System.out.println(); # 改行
}
}
出力結果
123
456
lengthとは
length
とは、javaの配列の要素数(配列の長さ)を表すプロパティ。
つまり、配列の要素がいくつあるかを取得するために使う。
二次元配列の場合、arr.length
は行数を表す。
各行の列数を取得したい場合は、arr[行番号.length
で、
その行の列数を取得することができる。
int[][] array = {
{1, 2, 3, 4}, // 0行目
{5, 6, 7, 8}, // 1行目
{9, 10, 11, 12} // 2行目
};
System.out.println(arr.length); // 出力: 3 (行数)
System.out.println(arr[0].length); // 出力: 4 (0行目の"列数")
System.out.println(arr[1].length); // 出力: 4 (1行目の"列数")
- まとめ
arr.length
:配列の行の数が出力。
arr[行番号].length
:行番号は指定しているから、列の数が出力される。
二次元配列を使うときに、行と配列の数を動的に把握するのに役立つ。
- 宣言と代入を同時に。(3行4列の配列を作成。)
int[][] arr = {
{1,2,3,4}
{5,6,7,8}
{9,10,11,12}
};
-
配列の要素にアクセスする方法
二次元配列の要素には、行と列を指定してアクセスする。int(データ型) value(配列変数) = array[1][2]; # 7ってこと。 System.out.println(value);
複数のクラスを使う場合の構文
クラス名.メソッド名
- どこのどのメソットかって事。
クラスを書くときは、頭大文字
ex) Main.java
外部ライブラリを使う
他人が作ったクラスを取り込むことで、メソッドが使用できる。構文
import java.lang.Math
- 外部ライブラリを自分のプログラムに読み込むには、
import
を使う。 - class定義より上に記述する。
-
java.lang
はMathと言うクラスの場所を示している。
roundメソッドって何
roundメソッド
はjavaで四捨五入を行うためのメソッドで
このメソッドはMathクラス
に含まれている。
float型
やdouble型
の値を最も近い整数に丸めて返す。
float型
...変数の種類の一つで、有効桁数の大きくない
小数を入れる箱
double型
...有効桁数を大きくしたい
小数を入れる箱
public class RoundExample {
public static void main(String[] args) {
// floatの例
float floatValue = 3.6f;
int roundedFloat = Math.round(floatValue);
System.out.println("Rounded float value: " + roundedFloat); // 4
// doubleの例
double doubleValue = 3.4;
long roundedDouble = Math.round(doubleValue);
System.out.println("Rounded double value: " + roundedDouble); // 3
}
}
出力結果が、
Rounded float value: 4
(3.6が四捨五入されて4になった)
Rounded double value: 3
(3.4が四捨五入されて3になった)
Discussion