Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Javaへの新たなHello, World / yuruchitose-04

Hiroto YAMAKAWA
October 20, 2024
31

Javaへの新たなHello, World / yuruchitose-04

#ゆる千歳 Vol.04 でのLTスライドです

Hiroto YAMAKAWA

October 20, 2024
Tweet

More Decks by Hiroto YAMAKAWA

Transcript

  1. #ゆるちとせ Javaを初めて学ぶときの「おまじない」 2 public class HelloWorld { public static void

    main(String[] args) { System.out.println("Hello World"); } } やりたいことは「プログラムを実行したら Hello World! と表示する」なのに、 (初学者にとっては)高度な内容が入りすぎている →わからない、難しいという印象を与えすぎてしまう 🫠
  2. #ゆるちとせ 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!
  3. #ゆるちとせ 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
  4. #ゆるちとせ • 起動用クラスの 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 参考 文 献