青色プログラム。

日々楽しくプログラミングを学ぶ

【Java】基礎を学ぶ【#2】

  1, 自己代入の省略
  2, キャメルケース
  3, キャスト
  4, 演算子
  5, if文
  6, swich文
  7, while文
  8, for文
  9, 配列の定義
10, lengthメソッド
11, 拡張for文
12, メソッドの定義
13, 引数
14, 戻り値

自己代入の省略

i = i + 10; → i += 10;
i = i - 10; → i -= 10;
i = i * 10; → i *= 10;
i = i / 10; → i /= 10;
i = i % 10; → i %= 10;

1の場合のみ
i = i + 1; → i += 1; → i++;
i = i - 1;  → i -= 1;  → i--;

キャメルケース

変数が2語以上の場合は大文字で分かりやすくする
例:userName

キャスト

intの場合は小数点が表示されない為、表示されたい場合は、doubleに変換する

int number1 = 12;
int number2 = 5;
System.out.println((double)number1 / number2);

結果:2.4

演算子

かつ  → &&
または → ||
否定  → !

例:10 < 5でない

System.out.println(!(10 < 5)); 

 

if文

もし~ならば〇〇〇

if(条件式){
  // もし条件式なら、ここの内容を実行
}


もし~ならば〇〇〇、そうでなく~ならば〇〇〇、それ以外は〇〇〇

if(条件式) {
  // もし条件式なら、ここの内容を実行
} else if(条件式) {
  // そうでなく条件式なら、ここの内容を実行
} else {
  // それ以外は、ここの内容を実行
}

 

swich文

値が一致している物を実行する
※『 : 』『 ; 』に注意

switch (条件式) {
  case 値1: // 値1に 10 を書くと 条件式の結果が 10 の場合、
   処理;    // この処理を実行
   break;

  case 値2:
   処理;
   break;

  case 値3:
   処理;
   break;
}

if文のelseみたいに、どれも一致しない場合は〇〇は default を使う

default:
 処理;
 break;

while文

~の間、繰り返し処理する

int i = 1;
while (i<=5) {
  System.out.println(i);
  i++;
}

この場合、iが5より小さい場合 → iに1足して5になるまで表示となる
※ 無限ループにならないように意識する

for文

同じ繰り返し処理です

for(int i = 1; i <= 10; i++){
 System.out.println(i + "回ジャンプ");
}

これで、文字列が連結しつつ1~10まで繰り返し処理されます。

※ break

繰り返し処理を終了させる(処理の軽量化にも)

for(int i = 1; i <= 10; i++){
 if (i > 5) {
  break;  // 1~5までが表示される
 }
 System.out.println(i);
}


※ continue

その周の処理だけをスキップする

for (int i = 1; i <=10; i++){
 if (i % 3 == 0){
  continue;   // 3が表示されなくなる
 }
 System.out.println(i);
}

 

配列の定義

変数と違い複数の値をまとめておくことが可能

int[] number = {5, 15, 30};  // 数えは1つ目から0, 1, 2となる
String[] names = {"tarou", "hanako", "satou"};


インデックス番号は0から始まる

String[] names = {"tarou", "hanako", "nanako"};
System.out.println("私の名前は" + names[0] + "です");

結果:私の名前はtarouです

配列の要素の上書き

特定の要素に値を代入できる

String[] names = {"tarou", "hanako", "nanako"};
System.out.println(names[0]);
names[0] = "tamako";
System.out.println(names[0]);

結果:tarou → tamako

配列とfor文の組み合わせ

表示させる場合一つずつだと大変なので組み合わせる

String[] names = {"tarou", "hanako", "satou"};
for (int i = 1; i < 3; i++){  // 0~2まで
 System.out.println("Hello" + names[i]);
}

 

lengthメソッド

要素の数を数えるメソッドです。

String[] names = {"tarou", "hanako", "satou"};
System.out.println(names.length);

結果:3

for文との組み合わせ

String[] names = {"tarou", "hanako", "satou"};
for(int i = 0; i < names.length; i++){  // 3つとなる
 System.out.println("こんにちは、" + names[i]);
}

 

拡張for文

シンプルに書くことが可能

for (データ型 変数名 : 配列名) {
 繰り返す処理;
}

String[] names = {"tarou", "hanako", "satou"};
for (String name: names) {  // nameに代入するイメージ
 System.out.println(name);
}

拡張for文は、自動的に繰り返す処理をしてくれます。

例:奇数と偶数の合計を表示する

class Main {
 int[] numbers = {1, 4, 6, 9, 13, 16};

 int oddNum = 0;
 int evenNum = 0;

 for (int number : numbers){  // 拡張for文
  if (number % 2 == 0){
   evenNum += number;
  } else {
   oddNum += number;
  }
 }
 System.out.println("奇数の和は" + oddNum);
 System.out.println("偶数の和は" + evenNum);

または

class Main {
 int[] numbers = {1, 4, 6, 9, 13, 16};

 int oddNum = 0;
 int evenNum = 0;

 for (int i = 0; i < numbers.length; i++) {  // for文
  if (numbers[i] % 2 == 0) {
   evenNum += numbers[i];
  } else {
   oddNum += numbers[i];
  }
 }
 System.out.println("奇数の和は" + oddNum);
 System.out.println("偶数の和は" + evenNum);

 

メソッドの定義

メソッドはクラスの中に定義する

public static void メソッド名(){
 ここに処理
}
public static void hello(){
 System.out.println("Hello World");
}


メソッドの呼び出し

結果:Hello World
   Hello World

class Main{
 public static void main(Srting[] args){
  hello();
  hello();
 }
 public static void hello(){  // 呼び出される
 System.out.println("Hello World");
}

 

引数

メソッドに引数を渡す。

class Main{
 public static void main(Srting[] args){
  hello("ao");
 }
 public static void hello(String name){
  System.out.println(name + "です。");
}

結果:aoです。

※ 複数の引数を持つメソッド

左から順に「第1引数、第2引数…」と呼ぶ
『,』で区切る

public static void メソッド名(データ型 変数1, データ型 変数2){
 実行する処理;
}

class Main{
 public static void main(String[] args){
  printPrice("牛タン", 1000);
  printPrice("ステーキ", 2000);  // String int の順番に注意
 }
 public static void printPrice(String item, int price){
  System.out.println(item + "は" + price + "円です。");
 }

結果:牛タンは1000円です。
   ステーキは2000円です。
 

戻り値

returnを使うと、呼び出し元に値を返す事が出来ます。

public static 戻り値のデータ型 メソッド名(引数){
 return 戻り値;
}

public static void main(String[] args){
 int total = add(5, 10);
 System.out.println(total);
}
public static int add(int a, int b){
 return a + b;
}

結果:15