Java文法スポンサーリンク文字と文字列とはなにが違う?Javaでは字を扱うときには文字と文字列という二つの型を使います。通常の日本語で書くことを表現するときには字を書く文字を書く文章を書くなどとは言いますが文字列という言葉は馴染みがないと思います。文字列とはこれらとなにが違うのでしょうか?Javaやその下になる言語が主に英語話者の間で作られ育ったことをもう一度思い起こしてください。英語では単数と複数と区別していました。同じように文字は単数つまり一文字のことを意味して、文字列は複数の文字が連なったものを表します。ソースコード上で表現された値をリテラル、literal「文字に関するもの」と呼びます。これはレターとかリテラシーといった言葉にも関連していてラテン語のlittera「文字」から派生しています。文字と文字列のリテラルはJavaのソースコード上では区別されています。文字はシングルクオート’で囲み、文字列はダブルクオート”で囲みます。同様に文字と文字列の型は別のものになっていてます。文字の型はchar、文字列はStringという名前で定義します。"word";これも和訳します。ここで変数letterを定義します。これはchar型つまり文字一つを保持する変数で初期の値を’a’とします。次に変数textを定義します。こちらはString型つまり文字列を保持する変数で初期の値を”word”とします。当然ですがcharの値として複数文字をシングルクオートで囲むとコンパイルができません。charにダブルクオートを使ったり、Stringにシングルクオートを使う事もできません。文字列は最大で2147483647文字までとされています。文字列の長さを文字長といいます。ここまで多くの文字を入れる事は通常はないと思うので特に気にする必要はないです。この場合特別に「空文字(からもじ)」と呼びます。"";先ほど文字列は複数と言いましたが正確に言うと文字列は0以上の2147483647以下の数の文字が連なっている集合体である。charは小文字で始まりStringは大文字なのかあと一点不思議に思える点があります。それはcharが小文字でStringが大文字であることです。これはこの二つの値の保持の仕方が違うという事です。これも長くなるので別の機会になりますが簡単に言うと以下の通りです。charはシンプルな値のためそのまま値を確保している。Stringは値のデータ量が変わるため別な場所コンピュータのメモリ上にその内容を記憶させておいて「どこに記憶しているかの場所を示す情報」だけを持っている。char型の変数は文字一つ分の記憶スペースを確保すれば良いのですが、文字列は情報量が多くも少なくもなるため記憶スペースをどれだけ確保すればいいのか予想できません。このためメモリ上の空いている場所にまず値を書き込み、その書き込んだ場所を文字列の変数の値として覚えるようにしています。大きい荷物を一時預かり所に預けてその証拠として預かり票を受け取るイメージです。必要であればその場所を見に行けば値がそこにあるわけです。typeと呼び必要な記憶スペースが型から予想できないものを指します。プリミティブ型の型名は小文字で参照型の型名(参照型の場合はクラス名とも言います)は大文字で書いて区別がつくようになっているのです。抽象クラスはそれ自体はインスタンスが作られることはありません。継承先のサブクラスで全ての実装が行われ、クラスに抽象を表すabstract...記事を読む標準入力からオプション選択を取得するユーティリティを作るユーザーから任意の値を取得するのではなくプログラム側の提示したオプションから選択してもらうケースを想定します。あるケースとしてはユーザー...記事を読む抽象クラスについて前の記事の続きです。継承関係によって継承元の機能を継承先でも引き継いで使えるところまで見てきました。Worldという名前でした。処理の内容は文字列を出力する。...記事を読むJavaとMIDI:シーケンスを使う以前JavaでMIDIを使って音を鳴らしました。この時はリアルタイムで「音を出す」「待つ」「音を止める」というMIDIメッセージを音源に送信...記事を読むJavaで矩形波のWavファイルを作成する(2)前回コードも作り実行結果の音声ファイルもできましたがあまり詳しい説明はしていませんでした。ここでは処理の詳細を説明します。変数の一種に配列というものがあります。これは同じデータ型のものが複数並んでいるもののことを言います。連続テレビドラ...記事を読むwavファイルの波形を表示させる(1)前回で矩形波のwavを作成しました。音声ファイルなので当然再生すれば音は出ますが自分の作成したファイルが思い通りになっているか判断するにあた...記事を読むテキストファイルの読み込み今までターミナルまたはプロンプトと呼ばれる標準入出力を使って情報のやり取りをしました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。外国語としてのJavaと音楽%d人のブロガーが「いいね」をつけました。