1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Java初学者の素朴な疑問集

Last updated at Posted at 2019-04-26

Java初学者の素朴な疑問集

私はJavaを学習し始めて4か月くらい経ちますが、
学習を始めた頃に書き留めていた疑問メモを見返して
「初学者の時は誰しも、こういう疑問持つよな~」
と思ったので、初学者の皆さんの助けになればと思い共有します。

※本当に基礎の基礎を書いています。

System.out.print()とSystem.out.println()の違い

System.out.print()は通常の表示。コンソールに出力される。
System.out.println()は最後に改行する出力方法。

例えば

System.out.print("ミキ");
System.out.print("です");

で実行すると
表示は

ミキです

となる。

System.out.println("ミキ");
System.out.println("です");

にすると、

ミキ
です

になる。

stringとchar型の使い分け

Javaのデータ型【String】と【Char】とは?その違いは何?【39回】
が分かりやすい。

charはシングルクォートで囲う。
char a = 'A'
シングルクォートは1つの文字、ダブルクォートは文字列と判断されるため。

数値のデータ型(int,long)の使い分け方

ループ処理で8の20乗を表示する課題で、
コードは合っているのに表示が0になる!
→データ型の許容範囲の問題かも。

整数の場合、
[byte<short<int<long]
という風に、格納できる数値の大きさがそれぞれ異なるので注意が必要。
調べたら、どのくらいの長さの数値を格納できるかは出てきます。
intだと、8の20乗のようにintの容量を超える大きい数値は表示できない。
こういった場合はlongを使うと良い(整数の場合)。
→数値の大きさによってデータ型を使い分ける必要がある。

Javaクラスにメソッドを書いても動かない!?(Mainメソッドについて)

メソッドは、Mainメソッドが一番最初に処理される。
※Mainメソッドとは、
public static void main(String[] args){ }
のこと。

Mainメソッド以外の他のclassメソッドは、必要に応じて呼ばれたら動くので、そうでない限りいくら書いても動かない(基本的に)。

なのでメソッドをいっぱい作るときは、

  1. Mainメソッド作成
  2. MainメソッドにAメソッドを呼び出す記述
  3. AメソッドにBメソッドを呼び出す記述
    ...
    といった風に書いていくと良い。

Mainメソッドについては、この記事が分かりやすい。
【Java入門】mainメソッドとその引数(args)、戻り値について解説

「インスタンス生成」って結局なんなの?

「インスタンス」とは、クラス内のオブジェクトのこと。

例えば、

test.java
//クラス名 作りたいインスタンス名 = new クラス名(); ←Userクラスで使いたいモノを入れるハコ
User mycards = new User();

と書く。

すると、メモリの中にUserクラスと同じ構造の領域が確保され、その領域をプログラム上でmycardsと呼ぶことになる。
要は、使いたいモノがあるクラスを呼び出して、使えるようにするための箱を作るということ。
mycardsはUserクラスの構造と同じなので、その中にUserクラス内のフィールド(cardsとか)領域を持つ。
また、Userクラス内のメソッドも使うことができる。
(フィールドやメソッドが「private」とかのアクセス制限されたものでない限り)

「void」って何?

英語で言う「void」は、「空の」「無効な」とかいう意味。
これと一緒で、Javaでのvoidは、そのメソッドに「戻り値が無いよ」って意味。

test.java
public static void testMethod(引数1,引数2){
    System.out.print("hogehoge");
}

この時は、戻り値がいらない、ただの「testMethod」という処理なので戻り値はvoid(無効化)するよ!となっている。
この時、メソッド名にStringとかの型はつかない。
というか、voidは「値を返さないメソッドの型」。
例えばvoidではなくintと書けば「intを返すメソッド」になる。

test.java
public static int add(int a, int b){
    return a+b;
}

この時、addメソッドは戻り値を使いたいので、voidの代わりにintを使っている。
だから、この時はint型の"a+b"をreturnしてあげる必要がある。

戻り値を使うメリットは、このメソッドの処理結果を呼び出したところで使えること。
例えば、このaddメソッドを

test.java
int result = add(2,3);
System.out.print(result); 

で「addメソッドおいでー!」と呼び出した場合、ここでそのまま処理結果を使えるので、out.print(a+b)とか書かなくても、表示は
5
となる。

「このメソッド式が長いけど、他でも使いたいんだよなー。でもout.printに長々書くのは微妙だし…」って時に戻り値を設定すると、短文で済む。

以上、初学者の時の疑問シリーズでした!
こういう初歩の初歩って、初歩すぎて誰もネットに書いてないんですよね。
それで1時間ハマるとかもったいないです。

GW中に基礎的な疑問は解消しましょう!
他にも、初歩すぎて分からないことがあればコメントください^^

1
4
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?