質問: プログラミング初心者です。この文の意味を教えてください。
回答: Javaですよね。インデント(字下げ)が雑なせいですごく読みにくいコードですが......。 これを理解するためには構造体とかその派生の「クラス」(オブジェクト指向)を理解しなければなりません。ここではクラスについてのみ解説します。ただし理解しやすいようぼやかしてますので理解が進んだらちゃんとしたもので学び直してください。 まず、コードの先頭で「class」から始まっている「Cell」などのひとかたまりが「クラス」です。「型」とも呼ばれます。 これは、いれものの設計図です。そのいれものがどんなものをいくつどのように入れられるのかを定義します。 設計図ですから、それをもとに作った実物があります。この実物を「インスタンス」と呼びます。コードの途中で「Cell a;」のように書かれていますが、この「a」が「Cell」のインスタンスです。 これは、変数のいれものです。しかし、内側にさらに変数を持つなど多少の違いはありますが、基本的にはintやdoubleなどの変数と同じようなものです。 class Cellの場合だと、 int value; Cell prior, next; と書かれていますが、これはCellというクラスのインスタンスにはvalueという名前のint(整数)1つと、priorとnextという名前のCellのインスタンス2つが入る、ということです。 下のvoid printメソッド定義に進みますと、先頭でCell a;と書かれています。ここから、aはCellのインスタンスです。aの中にはvalueとpriorとnextの値が入ります。 ここで、この内側の値を取り出したい用事があります。この場合に使われるのが「.」です。クラスのインスタンス(a)に対して「.」と続けて、その後ろにさらにclass Cellで定義されているvalue, prior, nextのいずれかを続けると、「aの中のそれらを取り出す」という操作になります。 つまり、「a.value」というのは「aの中のvalue」(int)という意味です。 これは完全に余談ですが、Javaには強力な「暗黙の型変換」があります。これは式の形からその式の結果が整数や文字列などのどれになるか自動で推測するというものです。 「a.value + ""」という式はこれを使ったものです。a.valueは整数ですが、式のどこかに文字列が含まれるとたいてい文字列として推測されます。そして「""」は中身のない空の文字列なのでa.valueの数値を文字列に変えるだけの式です。