Java也能玩游戏?用代码打造你的小世界
谁说Java只能做后台开发?利用JavaFX
或LibGDX
框架,你可以轻松编写小游戏,下面这段代码实现了一个简单的“猜数字”游戏:
import java.util.Random; import java.util.Scanner; public class GuessNumber { public static void main(String[] args) { Random random = new Random(); int target = random.nextInt(100) + 1; Scanner scanner = new Scanner(System.in); System.out.println("猜一个1-100之间的数字:"); while (true) { int guess = scanner.nextInt(); if (guess == target) { System.out.println("恭喜,猜对了!"); break; } else if (guess < target) { System.out.println("太小了,再试试!"); } else { System.out.println("太大了,再试试!"); } } scanner.close(); } }
运行这段代码,你就能和计算机玩猜数字游戏了!如果想进阶,还可以用JavaFX
制作图形化界面,让游戏更生动。
用Java爬取最新数据,制作动态分析
Java的Jsoup
库可以轻松爬取网页数据,我们抓取GitHub上最热门的Java项目(数据截至2024年6月):
排名 | 项目名称 | 星标数 | 主要用途 |
---|---|---|---|
1 | spring-boot | 72k+ | 企业级开发框架 |
2 | elasticsearch | 67k+ | 搜索引擎 |
3 | Java | 55k+ | 算法实现 |
(数据来源:GitHub Trending)
用Jsoup
抓取数据的核心代码:
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class GitHubCrawler { public static void main(String[] args) throws Exception { Document doc = Jsoup.connect("https://github.com/trending/java").get(); Elements repos = doc.select(".Box-row"); for (Element repo : repos) { String name = repo.select("h2 a").text(); String stars = repo.select(".Link--muted").get(0).text(); System.out.println("项目: " + name + " | 星标: " + stars); } } }
这样,你就能实时获取GitHub上的热门Java项目,甚至可以用Apache POI
导出Excel表格,方便分析。
Java + AI:调用ChatGPT写诗
现在AI火爆,Java也能轻松集成AI能力,用OpenAI API
让Java程序自动生成诗句:
import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class ChatGPTPoem { public static void main(String[] args) throws Exception { String apiKey = "你的API_KEY"; String prompt = "用Java风格写一首关于编程的诗"; HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.openai.com/v1/chat/completions")) .header("Content-Type", "application/json") .header("Authorization", "Bearer " + apiKey) .POST(HttpRequest.BodyPublishers.ofString( "{\"model\":\"gpt-3.5-turbo\",\"messages\":[{\"role\":\"user\",\"content\":\"" + prompt + "\"}]}" )) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } }
运行后,你可能会得到类似这样的诗:
"代码如诗行行写,
对象封装似宝匣。
多线程里舞翩跹,
Java世界乐无涯。"
用Java控制硬件:让LED灯随音乐闪烁
借助Pi4J
库,Java可以操作树莓派等硬件,让LED灯随音乐节奏闪烁:
import com.pi4j.io.gpio.*; public class MusicLED { public static void main(String[] args) throws InterruptedException { GpioController gpio = GpioFactory.getInstance(); GpioPinDigitalOutput led = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, "LED", PinState.LOW); // 模拟音乐节奏(实际可接入音频分析库) int[] beats = {200, 100, 200, 300}; for (int beat : beats) { led.high(); Thread.sleep(beat); led.low(); Thread.sleep(100); } gpio.shutdown(); } }
虽然需要硬件支持,但这类项目能让编程变得触手可及,尤其适合物联网爱好者。
Java最新趋势:2024年哪些技术最火?
根据Java官方调查和TIOBE指数,2024年Java生态的三大趋势:
- GraalVM:提升Java性能的利器,支持原生镜像编译
- Project Loom:轻量级线程(虚拟线程)大幅提升并发性能
- Java 21+特性:模式匹配、记录类等语法糖让代码更简洁
这些新技术让Java在云原生时代依然保持竞争力。