Java 超入門 〜2〜
演算子
class Calculation{
public static void main(String[] args){
int x = 10;
int y = 2;
System.out.println(x + y);
System.out.println(x - y);
System.out.println(x * y);
System.out.println(x / y);
System.out.println(x % y);
}
}
コンパイルして実行。
関係演算子
2つの値の関係が
正しい 又は 正しくないかの判断で使う為、if文
でよく使用する。
例文
class Calculation{
public static void main(String[]args){
int x = 10;
int y = 2;
System.out.println(x > y);
}
}
コンパイルして実行。
結果はtrue
論理演算子
複数の条件を判断させる演算子
例文
class ...{
public static void main(String[] args) {
int x = 8;
int y = 3;
System.out.println(x >= 5 && x <= 10);
System.out.println(y >= 5 && y <= 10);
}
}
複合代入演算子
例えば、
xに10を足してxに代入
x += 10
zにyを足してzに代入
z += y
例文
class ...{
public static void main (String[] args) {
int x = 8;
int y = 12;
int z = 20 ;
System.out.println(x += 10);
System.out.println(z += y);
}
}
コンパイルして、実行
結果 xが18、zが32になる。へ。
インクリメント
インクリメントは、値に"1"を増やす演算子。
変数名++
変数名の後に++を書く。(例 x++ でxを1増やす)
デクリメント
デクリメントは、値を"1"減らす演算子。
変数名--
変数名の後に--を書く。(例 x--でxを1減らす)
class ...{
public static void main (String[]args){
int x = 8; #宣言と代入
int y = 8; #宣言と代入
x++: #インクリメント
y--; #デクリメント
System.out.println(x);
System.out.println(y);
コンパイルして、実行。
結果はxが9で、yが7になる。
プロゲートやった時にループの条件で何回か使ったね。
条件分岐
if文
-
構文
if(条件){
条件を満たした時の処理;
}
例文
class If文練習{
public static void main(String[] args){
int age = 22;
if (age >= 20){
System.out.println("adult");
}
}
コンパイルして実行。結果は"adult"
条件が満たされていない場合は場合は結果が返ってこない。
if else文
- 構文
if(条件A){
条件Aを満たした時の処理;
}else{
条件を満たさなかったときの処理;
}
class Ifelse{
public static void main(String[] args){
int age = 18; # 宣言と代入
if (age >= 20) {
System.out.println("adult");
} else {
System.out.println("child");
}
}
}
コンパイル(javac ファイル名.java)して実行(java ファイル名)。
結果は"child"
if~else if文
- 構文
if(条件A){
条件Aを満たした時の処理;
} else if (条件B){
条件Bを満たした時の処理;
} else {
条件を満たさないときの処理;
}
class If...{
public static void main(String[] args){
int age = 0;
if (age >= 20) {
System.out.println("adult");
} else if (age == 0); {
System.out.println("baby");
} else {
System.out.println("child");
}
}
コンパイルして実行。
結果は"baby"
繰り返し
for文
条件を満たしていれば、同じ処理を繰り返し、
条件を満たさなくなった時に繰り返しが終わる。
例えば、5回繰り返し処理をしたい場合は?
どうやったら5回カウントできる?
例えば、「 1 」からスタートして、1つずつ増やしていき「 5 」で終われば、5回。
- 構文
for(データ型 変数名 = スタート値;継続条件;増減式インクリメント又デクリメント) {
}
スタート値は何からスタートさせるのか?って事だから、上の例で行くと、
スタート値は「 1 」って事。
スタート値で定義した変数をカウンタ変数という。
継続条件は、繰り返し処理を終わらせる条件のこと。
例えば、4で終わるので、4以下であれば繰り返す。
4以下の比較演算子を書く
for(int i = 0; i <= 4;増減式) {
}
増減式とは、1回の繰り返し処理ごとに実行する処理のこと。
ここで、さっきやったインクリメントを使う。
for(int i = 0; i <= 4; i++) {
繰り返す処理 → System.out.println(i);
}
break文
for(int i -0; i <=4; i++){
if(条件){
break;
}
}
break文は、
ある条件に当てはまった時、繰り返し処理を終了させることが出来る。
例文
class ...{
public static void main(string[] args);{
for(int i = 0; i <= 4; i++); {
if (i == 3){
break;
}
System.out.println(i);
}
上記では、iが3になったら、繰り返しを終了。
"3"でループを抜けるので、結果が0〜2まで表示される。
continue文
for(int i = 0; i <= 4; i++){
if(条件)
continue;
}
}
continue文は、繰り返し処理をしていて、
ある条件に当てはまったら、その処理をスキップしたい時に使う。
例文
class スキップ練習 {
public static void main(String[] args) {
for (int i=0; i <= 4; i++) {
if (i == 3){
continue;
}
System.out.prinln(i);
}
}
}
上記では、iが3になった時、処理をスキップさせる。
3をスキップするので、結果は、0,1,2,4が表示される。
for文ネスト
for文の中にfor文を入れる。
for (int i = 0; i < 3; i++) { // 外側のループ
for (int j = 0; j < 2; j++) { // 内側のループ
System.out.println("i = " + i + ", j = " + j);
}
}
実行の流れ
- 外側のループの初回実行(i = 0)
・i=0
の状態で、内側のループに入る
2. 内側のループが実行される
・ j=0
で内側の処理が実行され、System.out.println("i=0,j=1");
が出力される
・ 次にj
が1
になり、System.out.println("i=0,j=1");
が出力される。
・ 内側のループが終わり、(j<2
の条件を満たさなくなる)、外側のループに戻る。
-
外側のループの2回目実行(i=1)
・i=1
で再び内側のループが始まる。
・ 同様に、j=0
とj=1
で内側の処理が実行されて、順番に出力。 -
外側のループの3回目実行(i=2)
・i=2
で再び内側のループが始まり、j=0
とj=1
が出力される。
実行結果
iが2まで
でjが1まで
の条件なので、
i = 0, j = 0
i = 0, j = 1
i = 1, j = 0
i = 1, j = 1
i = 2, j = 0
i = 2, j = 1
となる。
例文2
class for文ネスト {
public static void main(String[] args){
for(int i = 0; i<=2; i++) {
for(int j = 0; j<=2; j++) {
System.out.println(i + "-" + j);
}
}
}
}
実行結果
iが2以下で、jが2以下
(i-j)
0-0
0-1
0-2
1-0
1-1
1-2
2-0
2-1
2-2
外側が0週目の時に、内側が最初から最後まで実行される。
配列
カウンタ変数を使って配列の中身を表示させる。
class 配列 {
public static void main(String[] args) {
int arr[] = {2,4,6,8,10};
for(int i=0; i <=4; i++){
System.out.println(arr[i]);
}
}
}
実行結果
2
4
6
8
10
配列にsumという変数を使って足しあげる
class 配列 {
public static void main(String[] args) {
int arr[] = {2,4,6,8,10};
int sum = 0; #sumと言う変数を定義
for(int i=0; i<= 4; i++){
sum += arr[i]; #配列の値を複合演算子を使って足し上げていく
}
System.out.println(sum);
}
}
実行結果
結果は30で出力される。
i=0 sum+=2 =>2
i=1 sum+=4 =>6
i=2 sum+=6 =>12
i=3 sum+=8 =>20
i=4 sum+=10 =>30
ってこと。
メソッド
メソッドとは処理のこと
2種類のメソッド
1.自分で作るメソッド
2.Javaで用意してくれているメソッド
mainは、メソッド名。javaで必ず必要なもの
mainメソッド以外に、自分でメソッドを作る場合は、ここに自分で作ったメソッド名を書く。
その後の、(String[] args)
は、引数の型。
main関数の場合はこの記述が一般的。
クラス
データ
と処理
をまとめたもの
javaでは、
データ = フィールド
処理 = メソッド
と言う。
この二つをメンバーと言ったりもする。
クラスの使い方
Student a001 = new Student();
//クラス名 オブジェクト名 = new演算子のnew クラス名に();つける。
これでインスタンス化が終わり、クラスが使えるようになる。
a001.name = "sato";
//オブジェクト名.フィールド名 = 代入
Discussion