System.out.printf
に渡す%s
などの表示形式を指定するための文字列です.
Java言語の場合,C言語とほぼ同じですが,Javaの場合は型がより多彩ですので,どの記述子にすべきかを注意する必要があります.
記述子が対応しない型の値を対応づけると実行時エラー(IllegalFormatConversionException
)が発生します.
フォーマット記述子と対応する型を以下に示します.
%c
Character
型%s
%d
Integer
型,Long
型,Short
型%o
Integer
型,Long
型,Short
型%x
Integer
型,Long
型,Short
型%f
Float
型,Double
型%e
Float
型,Double
型%n
C言語では,\n
で改行を表していましたが,Javaでは明示的に \n
を使うことはありません.
改行のみを出力するときは,System.out.println();
とし,
改行付きで出力するときは,println
メソッドの引数に出力したい内容を渡します.
また,System.out.printf
でも,\n
は使わず%n
を利用する方が良いとされています.
なぜなら,改行コードはプラットフォーム(WindowsやmacOSなど)で異なるためです.
Windows では,改行は\r\n
の2バイトで表されており,macOSやLinuxは\n
で改行を表しています.
古いmacOS(MacOS 9以前)は\r
で改行を表していました.
一方で,Java は,一度書けばどこでも動く(Write Once, Run Anywhere)ことを重要視しています. そのため,環境ごとの違いをどこかで吸収する必要があります. macOSでは改行されるのに,Windowsでは改行されない,のようなプログラムがあっては困るわけです. そのため,改行コードを直に書くことは避け,改行コードを表す記号を利用する方が良いとされているわけです.
改行が必要な場合は,println
や printf
に%n
を渡すようにしましょう.
Javaの型は必ずパッケージに所属しています.
パッケージとは,ディレクトリのようなもので,階層構造が存在します.
パッケージには,サブパッケージと型が属します.
型が約4,000個存在するため,パッケージを導入して分類しなければ混乱するためです.
標準的には,java.lang
パッケージに所属する型が利用できます.
しかし,java.lang
パッケージに所属する型以外を利用する場合は,どのパッケージの型を利用するのかを指定しなければいけません.
その指定を行うのが,import
文です.
Java言語の型一覧は次のURLから確認できます. https://docs.oracle.com/javase/jp/8/docs/api/
なお,java.lang
パッケージには,String
型やInteger
型,Double
型,
System
型などが所属しています.
Javaでは実は,public
やprotected
,private
というキーワードをクラス,メソッド,フィールドに付けられます.
このキーワードの付け方により,どこからアクセスできるのかを制御できるようになります.
可視性のデフォルトはなし
でprivate
より弱く,protected
よりも強い制限です.
この可視性を使うときは,public
は最低限にする方が良いとされています.
この授業では扱いません.
順序を持つデータ集合を実現する方法の一つ. 各要素が次の要素へのリンクを持つことで順序を持つデータ構造を実現しています.
下のようにNode
型が次の要素へのリンクであるNode
型のフィールドと,
要素である value
フィールドを持ちます.
最初の要素さえ持っていれば,最後まで順番に辿れるようになります.
Wikipediaの連結リストも参照すると良いでしょう.
講義資料に間違いを見つけた場合は,間違いの報告をお願いします. 報告は,バグレポートから行えます. 具体的な報告方法は,こちらを参照してください.
GitHub にアカウントを持っている場合,匿名で報告する場合の2通りがありますので, 上記バグレポートに記載されている説明にしたがって報告をお願いします.
バグ報告は以下からお願いします.どちらも同じところに報告されますので,どちらで報告してもらっても良いです.