
安装Java开发环境主要包括以下几个步骤:
访问Oracle官网或 Adoptium(原AdoptOpenJDK)等官方网站下载Java Development Kit (JDK)。根据你的操作系统选择对应的版本,如Windows、Linux或Mac OS,并注意区分32位和64位系统。
Oracle官方网址:https://www.oracle.com/java/technologies/downloads/
Adoptium官网:https://adoptium.net/
C:\Program Files\Java\jdk-17.0.3。JAVA_HOME:配置一个名为 JAVA_HOME 的系统环境变量,其值设置为JDK的安装路径。
.bashrc或.zshrc。Path:编辑已有的系统变量 Path,在其末尾追加 %JAVA_HOME%\bin(Windows)或 $JAVA_HOME/bin(Linux/macOS),这样可以在命令行窗口中直接运行Java命令。
java -version
为了编写Java程序,可以进一步安装集成开发环境(IDE),如Eclipse、IntelliJ IDEA、NetBeans等。这些IDE大多数提供一键安装流程,并自动检测Java环境。
总结来说,安装Java开发环境包括下载并安装JDK,配置环境变量,然后验证安装是否成功。对于初学者或者项目开发团队,推荐使用IDE以获得更好的开发体验和工具支持。
Java开发中,一些常用的命令包括:
javac - Java编译器
javac HelloWorld.java
该命令用于将Java源代码文件(如HelloWorld.java)编译成字节码文件(.class文件)。如果不指定类路径(classpath),它会在当前目录下查找源文件。
java - Java解释器
java HelloWorld
运行已编译的Java应用程序。上面的命令会执行名为HelloWorld的类中的public static void main(String[] args)方法。
javadoc - 文档生成工具
javadoc -d docDir *.java
该命令用于从Java源代码中提取注释并生成HTML格式的API文档。
jps - Java进程状态工具
jps
列出所有正在运行的Java虚拟机进程及其进程ID(PID)。
jmap - 内存映射工具
jmap -heap <pid>
显示给定Java进程的堆内存详细信息,或者创建堆转储快照(heap dump)以进行进一步分析。
jstack - 堆栈跟踪工具
jstack <pid>
打印指定Java进程的线程堆栈跟踪信息,有助于调试死锁和其他多线程问题。
jstat - JVM统计监控工具
jstat -gcutil <pid> 1000 5
每隔1秒显示一次指定Java进程的垃圾收集统计信息,共显示5次。
jar - Java归档工具
jar cf myApp.jar *.class
创建一个包含所有编译后的.class文件的JAR包。
javah (现已过时,可使用javac的-h选项)
javah -jni MyClass
用于生成JNI头文件,与C/C++本地接口交互时使用。
jconsole 或 jvisualvm - 监控和故障排查工具
jconsole
提供图形界面来监控Java应用程序的性能和资源消耗。
Java的基础语法涵盖了多个方面,以下是一些基础概念和结合案例的说明:
标识符是程序员为类、变量、方法等自定义的名字。例如:
public class FlightTicket {
String passengerName; // 变量标识符
void bookTicket() { // 方法标识符
// ...
}
}
Java支持多种数据类型,包括基本类型(如int, double, char)和引用类型(如类、接口)。声明变量并赋值的例子:
int originalPrice = 1000; // 原始票价(整型)
String seatClass = "Economy"; // 舱位类型(字符串)
boolean isPeakSeason = (currentMonth == 8 || currentMonth == 9); // 判断是否旺季(布尔型)
double discountPrice = calculateDiscount(originalPrice, currentMonth, seatClass); // 计算优惠价,并将结果赋值给一个double类型的变量
在买飞机票案例中,判断月份以确定淡季或旺季,并计算相应折扣:
double calculateDiscount(int price, int month, String cabinType) {
if (month >= 6 && month <= 9) { // 假设6月至9月为旺季
double discountRate = 0.95; // 旺季打95折
} else {
double discountRate = 0.85; // 其他时间打85折
}
return price * discountRate;
}
// 实际上应返回计算结果:
double calculateDiscount(int price, int month, String cabinType) {
double discountRate;
if (month >= 6 && month <= 9) {
discountRate = 0.95;
} else {
discountRate = 0.85;
}
return price * discountRate;
}
例如,遍历一个数组查找素数:
for (int i = 2; i <= limit; i++) {
boolean isPrime = true;
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(i + " 是素数");
}
}
定义一个方法来封装机票价格计算逻辑:
public class TicketPricing {
public double computeTicketPrice(int basePrice, int month, String cabin) {
double discountFactor;
if (isPeakSeason(month)) {
discountFactor = 0.95;
} else {
discountFactor = 0.85;
}
return basePrice * discountFactor;
}
private boolean isPeakSeason(int month) {
// 判断月份是否为旺季的逻辑
}
}
创建一个表示飞机票的类,并实例化它:
public class AirplaneTicket {
private String flightNumber;
private String departure;
private String destination;
private double basePrice;
private int month;
private String cabinType;
public AirplaneTicket(String flightNum, String dep, String dest, double price, int m, String type) {
this.flightNumber = flightNum;
this.departure = dep;
this.destination = dest;
this.basePrice = price;
this.month = m;
this.cabinType = type;
}
public double getFinalPrice() {
double discount = calculateDiscount(this.basePrice, this.month, this.cabinType);
return this.basePrice - discount;
}
// 其他方法...
}






















