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通りがありますので, 上記バグレポートに記載されている説明にしたがって報告をお願いします.
バグ報告は以下からお願いします.どちらも同じところに報告されますので,どちらで報告してもらっても良いです.