Linux环境下安装与运行Java
- 一. Linux环境下安装Java环境——最最最简单粗暴的教程
- 二. Linux下编译Java代码---javac和java命令的使用
- 2.1 编译单个java文件
- 2.2 编译多个Java文件,每个类都在一个包中
- 2.3 不同包编译
一. Linux环境下安装Java环境——最最最简单粗暴的教程
- 插个眼做个笔记,后续再更
java运行
javac找不到了咋办
用yum安装java
linux下java环境变量怎么配置
二. Linux下编译Java代码—javac和java命令的使用
2.1 编译单个java文件
- 建立工程目录
首先在项目目录项新建src
和build
两个文件夹,在src下新建一个HelloJava.java
文件
├── build
└── src└── HelloJava.java
- 源文件
包package
是java
代码模块化的基本特点,因此我们从初学的时候就应该养成每个文件都建立包的好习惯。
建立带有package的java源代码内容如下,!!带package头很重要!!
package hello.world;public class HelloJava {public static void main(String args[]){System.out.println("This is a Java Package compile");System.out.println("Hello Java");}
}
-
编译
javac -d ./build ./src/HelloJava.java
-
查看编译后的路径
tree
.
├── build
│ └── hello
│ └── world
│ └── HelloJava.class
└── src└── HelloJava.java
- 执行
cd build && java hello.world.HelloJava# result
This is a Java Package compile
Hello Java
2.2 编译多个Java文件,每个类都在一个包中
- 建立工程目录
├── build
└── src├── Calculator.java└── CommercialLoan.java
- CommercialLoan.java 相当于父类,被引用类,接口等文件
package com.taotaozi;public class CommercialLoan {public double equalLoanPay(int money, int year, double lpr) {int P = money * 10000;double R = lpr / 100 / 12;int N = year * 12;double k = P;double numerator = (R * Math.pow((1 + R), N));double denominator = Math.pow((1 + R), N) - 1;return k * numerator / denominator;}
}
- Calculator.java 相当于子类,函数入口等文件
package com.taotaozi;
import com.taotaozi.CommercialLoan;public class Calculator {public static void main(String args[]){CommercialLoan loan = new CommercialLoan();System.out.format("Your Loan is %f per month\n", loan.equalLoanPay(200, 30, 4.45));}
}
- 编译
-cp 找包路径 -d 输出路径
- 问个问题,多个包路径用什么符号隔开????
javac -d ./build ./src/CommercialLoan.java
javac -cp ./build -d ./build ./src/Calculator.java
- 查看编译后的路径
tree
.
├── build
│ └── com
│ └── taotaozi
│ ├── Calculator.class
│ └── CommercialLoan.class
└── src├── Calculator.java└── CommercialLoan.java
- 执行
cd build && java com.taotaozi.Calculator# result
Your Loan is 10074.375211 per month
2.3 不同包编译
- 建立工程目录
.
├── build
└── src├── able│ └── Wheel.java└── main└── Car.java
- Wheel.java 相当于父类,被引用类,接口等文件
package com.component.car;public interface Wheel {public void setColor(String color);public String getColor();
}
- Car.java 相当于子类,函数入口等文件
package com.car;
import com.component.car.Wheel;public class Car implements Wheel {String wheelColor;Car() {this.wheelColor = "black";}public void setColor(String color) {this.wheelColor = color;}public String getColor() {return this.wheelColor;}public static void main(String args[]) {Car mycar = new Car();System.out.println(mycar.wheelColor);mycar.setColor("red");System.out.println("Change color: " + mycar.wheelColor);}
}
- 编译
-cp 找包路径 -d 输出路径
- 问个问题,多个包路径用什么符号隔开????
javac -d ./build src/able/Wheel.java
javac -cp ./build -d ./build src/main/Car.java
- 查看编译后的路径
tree
.
├── build
│ └── com
│ ├── car
│ │ └── Car.class
│ └── component
│ └── car
│ └── Wheel.class
└── src├── able│ └── Wheel.java└── main└── Car.java
- 执行
cd build/ && java com.car.Car# result
black
Change color: red