Slide 1

Slide 1 text

#ゆるちとせ Javaへの新たな "Hello, World" 山川広人 (@gishi_yama) 公立千歳科学技術大学 情報システム科 准教授 Javaユーザグループ北海道 リーダー  1

Slide 2

Slide 2 text

#ゆるちとせ Javaを初めて学ぶときの「おまじない」 2 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } } やりたいことは「プログラムを実行したら Hello World! と表示する」なのに、 (初学者にとっては)高度な内容が入りすぎている →わからない、難しいという印象を与えすぎてしまう 🫠

Slide 3

Slide 3 text

#ゆるちとせ A Smooth On-Ramp (Javaへのスムーズな 入口車 線) 3

Slide 4

Slide 4 text

#ゆるちとせ Demo1 4 void main() { println("Hello Java!"); } 実行してみたい場合は,Foo.java に上記のいずれかを記載し, java --enable-preview --source 23 Foo.java で実行できる void main() { String inputted = readln("入力してください:"); show(inputted); } void show(String str) { println(str); } 表示だけのHello, World! 入力を伴う Hello, World!

Slide 5

Slide 5 text

#ゆるちとせ Demo2(あえてクラスを宣 言 すると) 5 import static java.io.IO.*; class Java23b { void main() { String inputted = readln("入力してください:"); show(inputted); } void show(String str) { println(str); } } クラスを定義する場合は,java.io.IO.* のインポートが必要 java.io.IOクラスには,readln, println などが定義されている → https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/io/IO.html

Slide 6

Slide 6 text

#ゆるちとせ • 起動用クラスの psvm が不要になる • 入出力の「System.out」「System.in(にまつわるクラス)」の記述が省略 (ただし、明確な起動用クラス定義をする場合は、java.io.IO.* のインポートは必要) 今後のJavaでは 6 ※現時点(Java 23)ではpreview機能なので、起動時にパラメータが必要なので注意 • @nowokay(きしだ なおき) "Java 23新機能まとめ" https://qiita.com/nowokay/items/7650b959fd4b0be54751 • Brian Goetz "Paving the on-ramp" https://openjdk.org/projects/amber/design-notes/on-ramp • ひしだま's 技術メモページ "mainメソッド簡略化(Java21~23) https://www.ne.jp/asahi/hishidama/home/tech/java/preview/main.21.html 参考 文 献