JAVA用語の簡単な説明
主語、助詞、接続詞などなど実際の言葉でも問題なく使えていても用語は忘れがちです。
プログラミングでも同じではないでしょうか。(そんなことない人がほとんどかも!)
用語 | 説明 |
インスタンス化 | new演算子を用いることでクラスから生み出すことで、生み出されたものをインスタンスと呼ぶ |
JAVA用語説明サンプルコード
実際にサンプルコードで確認します
package ***.sample.testactivity; //パッケージ import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; //インポート public class MainActivity extends AppCompatActivity { /* public > アクセス修飾子 class > 戻り値の型 MainActivity > クラス名(正確にはクラスや変数の名称は全て識別子と呼ぶ) extends > 継承 AppCompatActivity > スーパークラス(継承するクラス) スーパークラスに対して、MainActivityをサブクラスと呼ぶ すべてのクラスのスーパークラスはObject つまり、すべてのクラスはObjectのサブクラス */ int randomInt; randomIntなどの変数をフィールドという final int LUCKY_NUMBER = 7; int toPlusNumber = 4; /* int > 宣言する基本データ型(ここではint型) ※String は基本データ型ではなく、オブジェクト final > final修飾子 定数などはfinalで宣言 */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*superクラス(継承元)であるAppCompatActivityの onCreateをオーバーライド(上書き)します。 super > スーパークラス(親となるクラス、ここではAppCompatActicity) super.onCreate > スーパークラスのonCreateの呼び出し。 */ setContentView(R.layout.activity_main); Random random = new Random(); //Randomクラスのオブジェクトrandomを作成、インスタンス化(作成)と同じ意味 for(int i=0;i < 50;i++){ randomInt = random.nextInt(10); //randomインスタンスのnextIntメソッドの呼び出し if(randomInt == LUCKY_NUMBER){ // == &amp;amp;gt; 等値演算子 Log.d("Log0","Count "+Integer.toString(i)+ " is "+Integer.toString(randomInt)+". It's LuckyNumber!"); } } String plusString = Integer.toString(getPlusNumber(toPlusNumber)); Log.d("Log0",plusString); } @Override protected void onPause(){ super.onPause(); //superクラスのonPause呼び出し、これがなければonPauseは空で何もしない! Log.d("Log0","onPause..thank you!"); } private int getPlusNumber(int number){ //メソッド(関数) //戻り値、名前、引数の組み合わせをシグネチャという number = number+1; return number; } }
クラスの継承、スーパークラスとサブクラス
すべてのクラスはObjectのサブクラス、Objectはすべてのクラスのスーパークラス
復習用?にコメントなしのコード
package ***.sample.testactivity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import java.util.Random; public class MainActivity extends AppCompatActivity { int randomInt; final int LUCKY_NUMBER = 7; int toPlusNumber = 4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Random random = new Random(); for(int i=0;i&amp;amp;amp;amp;amp;amp;amp;amp;lt; 50;i++){ randomInt = random.nextInt(10); if(randomInt == LUCKY_NUMBER){ Log.d("Log0","Count "+Integer.toString(i)+ " is "+Integer.toString(randomInt)+". It's LuckyNumber!"); } } String plusString = Integer.toString(getPlusNumber(toPlusNumber)); Log.d("Log0",plusString); } @Override protected void onPause(){ super.onPause(); Log.d("Log0","onPause..thank you!"); } private int getPlusNumber(int number){ number = number+1; return number; } }
数値からStringへの変換について
変換には4つの方法があります
int number = 100 String string = String.valueOf(number); String string = "" + number; String string = new Integer(number).toString(); String string = Integer.toString(number);
です。
実際の処理速度は””+number以外ほぼ同じです。
“”+numberは特殊で上記のように値が決まっている場合(number=100)は最も速く、for文でnumberの値が変化するような場合は若干遅くなります。使い分けてみてください。
以前はInteger.toStringが最も速かったのですが、JAVA7以降はほぼ同じです。
newを使った書き方はわかりにくく感じますがどうでしょうか。
対して文字の数値化はInteger.parseInt(string) です。
String string = Integer.toString(number)と組にして覚えるとわかりやすいかもしれません。
Integerは、parseInt⇔toString、といった具合に。