Windows10でEclipseを用いてJavaの勉強をしています。
昨日同じ質問をしてみたのですが、質問の仕方が悪かったのか、うまく理解できなかったので、もう一度質問させてください。
*昨日の質問*
https://teratail.com/questions/56549
質問としては、
Javaのクラスライブラリとは、どう解釈して使えばいいものか教えて欲しい
ということ。
例えば、char charAt(int index) というクラスライブラリを想定した時、int indexという言葉が出てきます。
int型のindexという仮引数だと説明して頂いたのですが、仮引数だったらaでもxでも何でも良さそうな気がしますが、何を見てもchar charAt(int index) はindexです。
indexつまり索引? 意味がわかりません。int型の索引って何ですか? short型とかdouble型のindexもあるのですか?
そもそもindexって何ですか?
他のクラスライブラリだとoffsetとか色々出てきます。
indexとかoffsetとか習った覚えもないワードがたくさん出てきて混乱してしまいます。
しかも、char charAt(int index) とvoid setCharAt(int index, char ch) では、同じint indexを使っています。コンピューターはどうやって区別しているのですか?
void setCharAt(int index, char ch) のint indexを指定したせいで、char charAt(int index)が間違った動きをしたりしないのですか?
indexって本当に仮引数なんですよね? int indexと書かれた時にだけ特殊な働きをする暗号だったりしないんですよね??
実際、何を見ても、誰に聞いてもわからなかったので、char charAt(int index)のint indexには見た感じ「何文字目を指定したいのか」を数字で入れればいいんだろうと予想して適当に使っていましたが、クラスライブラリを見ていると説明もなしにindexとかoffsetとかprefixとかchとか、挙句の果てにはaやらbやら、類推の限度を超えたワードまで出てきます。
これらは何なんですか?
昨日は、参考書を勉強し直せと言われてしまいましたが、私の調べ方が悪いのかindexやoffsetの説明を見つけることはできませんでした。
プログラマーなら、説明なしに当然理解できるものなのですか?
どうやって勉強したらいいですか?
ご指導、ご鞭撻のほどよろしくお願いいたします。
*追加*
まだ伝わりにくかったのかもしれません。もっと具体的にしてみます。
charAtについて。
charAtの説明をコピーしてくると、
public char charAt(int index)
指定されたインデックスのchar値を返します。インデックスの範囲は0からlength() - 1までです。配列のインデックス付けの場合と同じように、シーケンスの最初のcharのインデックスは0、次の文字のインデックスは1と続きます。
インデックスで指定されたchar値がサロゲートの場合、サロゲート値が返されます。
定義:charAt、インタフェース: CharSequence
パラメータ:index - char値のインデックス。
戻り値:文字列内の指定されたインデックス位置にあるchar値。最初のchar値のインデックスが0になる。
例外:IndexOutOfBoundsException - index引数が負の値、または文字列の長さと同じかこれより大きい値の場合。
つまり…? どういう意味??
指定されたインデックスというのがint indexですか?
length()-1とか、どこから出てきた?
全く意味が分からないけど、たぶん「あいうえお」という文字列があったら、コンピューター的には「"あ"というchar値、"い"というchar値、"う"というchar値、"え"というchar値、"お"というchar値」って書かれてて、文字の順番を「0,1,2,3,4」と数える。
だから、「1」って言ったら「い」って返す。
そういう意味だと当たりを付けて使っていました。
でも、だったらintって何?
int型で数え切れる範囲内なら数えてやるけど、100万文字目は数えてやらないから使う時気を付けろよ!という意味? それとも、その時はその時でintを書き換えればいいのですか?
その前に、インデックスの解釈もわからないし、charAtもchar型のAtという意味? Atって何?
いや、charAtという名前のメソッドなんだろうとは思いますよ。でも、charは何でAtは何なんですか??
回答4件
あなたの回答
tips
プレビュー