文章目录
- 1、简介
- 2、下载和安装jdk
- 2.2 下载jdk
- 2.2 配置环境变量
- 2.3 常见命令
- 3、jdk开发
- 3.1 测试代码(helloworld)
- 3.2 测试代码(animal, dog)
- 3.3 测试代码(circle, cylinder)
- 3.4 测试代码(webserver)
- 4、VSCode开发 java
- 5、IDEA开发java
- 6、Eclipse开发java
- 7、Netbeans开发java
- 8、Android Studio开发java
- 9、在线开发Java代码的网站
- 9.1 w3cschool
- 9.2 菜鸟教程
- 9.3 在线工具tool.lu
- 9.4 dooccn
- 9.5 compilejava(支持多个类)
- 9.6 rextester(支持多个类)
- 9.7 replit(支持多个类)
- 9.8 ideone(支持多个类)
- 10、Linux环境中搭建Java开发环境
- 10.1 下载jdk
- 10.2 安装jdk
- 结语
1、简介
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。
Java 可运行于多个平台,如 Windows, Mac OS 及其他多种 UNIX 版本的系统。
Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念。Java 不但可以用来开发网站后台、PC 客户端和 Android APP,还在数据分析、网络爬虫、云计算领域大显身手。
2、下载和安装jdk
2.2 下载jdk
https://www.oracle.com/java/technologies/downloads/#java8
Java SE Development Kit 8u333 Java SE subscribers will receive JDK 8
updates until at least December of 2030.
具体中间过程就不说了,一直下一步即可,路径保持默认即可!
2.2 配置环境变量
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0
JRE_HOME=C:\Program Files (x86)\Java\jre8
Path+=%JAVA_HOME%\bin;%JRE_HOME%\bin
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
这里总结了一段一键安装jdk的bat脚本代码如下:
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
chcp 65001
set jdkpath=C:\Program Files (x86)\Java\jdk1.8.0
set jdkreg=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
echo 正在安装jdk,请不要执行其他操作
rem start /WAIT C:\jdk-8u221-windows-i586.exe /qn INSTALLDIR=%jdkpath%
set JAVA_HOME=%jdkpath%
set PATH=%PATH%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin
set CLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar
set RegV=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
reg add "%jdkreg%" /v "JAVA_HOME" /d "%JAVA_HOME%" /f
reg add "%jdkreg%" /v "Path" /t REG_EXPAND_SZ /d "%PATH%" /f
reg add "%jdkreg%" /v "CLASSPATH" /d "%CLASSPATH%" /f
mshta vbscript:msgbox("Java环境已成功安装!",64,"成功")(window.close)
exit
2.3 常见命令
- java
检查jdk是否安装成功,如下图:
java -version
- javac
编译的Java程序,生成.class文件。
javac
- javaw
javaw.exe是相似的和java.exe 是一个win32的GUI应用,应用提供自己的GUI窗口,不启用控制台。 - javah
功能说明:C 头文件和 Stub 文件生成器。javah 从 Java 类生成 C 头文件和 C 源文件。这些文件提供了连接胶合,使 Java 和 C 代码可进行交互。 - javap
功能说明:Java 类文件解析器。
3、jdk开发
- 代码文件都在同一个文件夹内
javac HelloWorld.java
java HelloWorld
- 代码文件在不同的文件夹内(定义包)
javac -d bin HelloWorld.java
java -cp bin;. com.homework.HelloWorld
3.1 测试代码(helloworld)
- HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World, 爱看书的小沐!");
}
}
3.2 测试代码(animal, dog)
- Animal.java
class Animal {
void eat() {
System.out.println("animal : eat");
}
}
- Dog.java
class Dog extends Animal {
void eat() {
System.out.println("dog : eat");
}
void eatTest() {
this.eat();
super.eat();
}
}
- Test.java
public class Test {
public static void main(String[] args) {
Animal a = new Animal();
a.eat();
Dog d = new Dog();
d.eat();
d.eatTest();
}
}
3.3 测试代码(circle, cylinder)
- Circle .java
public class Circle{
private double radius;
public Circle(){
radius = 0;
}
public Circle(double r){
radius = r;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.pow(this.radius, 2)*Math.PI;
};
public double getPerimeter() {
return this.radius*2*Math.PI;
}
public static void main(String[] args) {
Circle c = new Circle(1.234);
System.out.println("Radius:" + c.getRadius());
System.out.println("Perimeter" + c.getPerimeter());
System.out.println("Area" + c.getArea());
}
}
- Cylinder .java
public class Cylinder extends Circle{
private double height;
public Cylinder(double r, double h) {
this.height = h;
setRadius(r);
}
public double getVolume() {
return getArea()*this.height;
}
public static void main(String[] args) {
Cylinder c = new Cylinder(5.0, 10.0);
System.out.println("Radius:" + c.getRadius());
System.out.println("Perimeter" + c.getPerimeter());
System.out.println("Area" + c.getArea());
System.out.println("Volume" + c.getVolume());
}
}
运行结果如下:
3.4 测试代码(webserver)
- WebTest .java
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class WebTest {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(80);
while (true) {
Socket client = serverSocket.accept();
OutputStream clientOutStream = client.getOutputStream();
clientOutStream.write(
("HTTP/1.1 200\n"
+ "Content-Type: text/html\n"
+ "\n"
+ "<h1> Hello, my simple webserver!</h1><br>爱看书的小沐").getBytes()
);
clientOutStream.flush();
clientOutStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
命令行编译和执行代码如下:
浏览器中运行如下:
4、VSCode开发 java
官方网站:https://code.visualstudio.com/
(1)安装插件Extension Pack for Java
(2)安装OpenJDK 11+
(3)settings.json中添加设置如下:
"java.home": "C:\\Users\\tomcat\\Desktop\\microsoft-jdk-17.0.3-windows-x64\\jdk-17.0.3+7",
(4)重启VSCode
5、IDEA开发java
官方网站:https://www.jetbrains.com/idea/
作为一款基于Java的顶级IDE,IntelliJ往往被大型企业所使用。其开发环境能够提供诸如:智能源代码索引、可靠的重构、以及动态代码分析等,独特的企业级功能函数。
IntelliJ IDEA Community Edition(社区版)是一款免费的 Java IDE(集成开发环境),主要用于 Android 应用开发、Scala、Groovy、Java SE 和 Java 编程。
目前,该IDE有两种变体,分别是:免费的社区版和高级的终极版。其中,高级版本是为适应企业级需求而量身定制的。
6、Eclipse开发java
官方网站:https://eclipse.org/
IBM于2001年末开发并发布了Eclipse。它能够提供的插件数量远超其他IDE。Eclipse通过自带的多种插件和特性函数,来加快程序的开发速度。其中,Junit、testing、MAVEN、Spring Framework和Subversion都有Eclipse对应的插件。
Eclipse 是一款主要用 Java 编写的免费 Java IDE。Eclipse 允许你创建各种跨平台的可用于手机、网络、桌面和企业领域的 Java 应用程序。通过插件,你也可以用其他编程语言开发应用程序,语言包括C、C ++、JavaScript、Perl、PHP、Prolog、Python、R、Ruby(包括 Ruby on Rails 框架),等等。
7、Netbeans开发java
官方网站:https://netbeans.org/
NetBeans拥有庞大的Java开发人员用户群,其中包括面向企业、嵌入式系统、Web、移动、桌面应用等领域的专业开发人员。目前,Oracle已将NetBeans作为其Java 8及更高版本的官方IDE。
1996年,NetBeans源于捷克的一个学生项目,其最初版是在2014年被发布的。由于免费且开源,因此它非常适合学生和初学者。您可以在该开发平台上找到所有主流框架的插件。其出色的功能,可被用于不同的环境与应用目的。
NetBeans是完全使用Java编写的,可以支持Windows、Mac、Oracle、Solaris和 Linux系统。该开发平台为端到端的软件开发生命周期,提供了需求分析,应用程序设计、开发、调试、分析和测试等一条龙的服务。
NetBeans IDE 既可用于 Java 开发,也支持其他语言,特别是 PHP、C/C ++,和 HTML5。
8、Android Studio开发java
https://developer.android.google.cn/studio/
Android Studio provides the fastest tools for building apps on every type of Android device.
9、在线开发Java代码的网站
下面几个网站都是简易的Java运行环境,只能运行JDK自带的函数,不能导入包,更不能运行外部项目。
9.1 w3cschool
https://www.w3cschool.cn/tryrun/runcode?lang=java-openjdk
- 测试代码如下:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static void main(String[]args) {
Main a = new Main();
a.setName("爱看书的小沐");
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");
Date date = new Date(System.currentTimeMillis());
String s = String.format("Hello %s!", a.getName());
System.out.println(s);
System.out.println(formatter.format(date));
}
}
9.2 菜鸟教程
https://c.runoob.com/compile/10/ 菜鸟在线Java运行,也能运行其他主流的编程语言,如:Python、C、PHP、Node.js、C#、Ruby、Go等。
- 测试代码如下:
import java.util.ArrayList;
public class Cat {
public void eat() {
System.out.println("吃鱼");
}
public void work() {
System.out.println("抓老鼠");
}
public void speak() {
ArrayList<String> sites = new ArrayList<String>();
sites.add("postman");
sites.add("swagger");
sites.add("mock");
sites.add("jmeter");
System.out.println(sites);
}
public static void main(String[] args) {
System.out.println("Hello Cat!");
Cat cat = new Cat();
cat.eat();
cat.work();
cat.speak();
}
}
9.3 在线工具tool.lu
https://tool.lu/coderunner/
- 测试代码如下:
import java.util.LinkedList;
public class Untitled {
public static void main(String[] args) {
LinkedList<String> sites = new LinkedList<String>();
sites.add("Google");
sites.add("Runoob");
sites.add("Taobao");
sites.addFirst("Wiki");
System.out.println(sites);
System.out.println("hello 爱看书的小沐!");
}
}
9.4 dooccn
https://www.dooccn.com/java/
9.5 compilejava(支持多个类)
https://www.compilejava.net/
支持一个文件包含多个类的定义。
- 测试代码如下:
class Shape {
void draw() {}
}
class Circle extends Shape {
void draw() {
System.out.println("Circle.draw()");
}
}
class Square extends Shape {
void draw() {
System.out.println("Square.draw()");
}
}
// tip: each public class is put in its own file
public class main1
{
// tip: arguments are passed via the field below this editor
public static void main(String[] args)
{
Square t = new Square();
t.draw();
System.out.println("Hello, 爱看书的小沐!");
}
}
9.6 rextester(支持多个类)
https://rextester.com/l/java_online_compiler 在线编译器rextester打开即用,不需要登陆,也不需要下载,安装,配置等。
支持一个文件包含多个类的定义。
- 测试代码如下:
//'main' method must be in a class 'Rextester'.
//openjdk version '11.0.5'
import java.util.*;
import java.lang.*;
abstract class Animal {
abstract void eat();
}
class Cat extends Animal {
public void eat() {
System.out.println("吃鱼");
}
public void work() {
System.out.println("抓老鼠");
}
}
class Dog extends Animal {
public void eat() {
System.out.println("吃骨头");
}
public void work() {
System.out.println("看家");
}
}
class Rextester
{
public static void main(String args[])
{
System.out.println("Hello, 爱看书的小沐!");
System.out.println("来了一只小猫!");
Cat c = new Cat();
c.eat();
c.work();
System.out.println("来了一只小狗!");
Dog d = new Dog();
d.eat();
d.work();
}
}
9.7 replit(支持多个类)
https://replit.com/@fxyublib/SlategreySlightApplescript#Main.java
支持一个文件包含多个类的定义。需要用户注册登陆
- 测试代码如下:
class Animal {
void eat() {
System.out.println("animal : eat");
}
}
class Dog extends Animal {
void eat() {
System.out.println("dog : eat");
}
void eatTest() {
this.eat(); // this 调用自己的方法
super.eat(); // super 调用父类方法
}
}
public class Main {
public static void main(String[] args) {
System.out.println("Hello, 爱看书的小沐 2022!");
System.out.println("");
System.out.println("Rain rain go away,");
System.out.println("Come again another day,");
System.out.println("Little Betty wants to play,");
System.out.println("Rain rain go away.");
System.out.println("");
Animal a = new Animal();
a.eat();
Dog d = new Dog();
d.eatTest();
}
}
9.8 ideone(支持多个类)
https://www.ideone.com/kGDKya
支持一个文件包含多个类的定义。
- 测试代码如下:
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Animal{
public void move(){
System.out.println("动物可以移动");
}
}
class Dog extends Animal{
public void move(){
System.out.println("狗可以跑和走");
}
}
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
System.out.println("hello, 爱看书的小沐 2022");
System.out.println("Hickory,dickory,dock,");
System.out.println("The mouse ran up the clock,");
System.out.println("The clock struck one,");
Dog d = new Dog();
d.move();
}
}
10、Linux环境中搭建Java开发环境
10.1 下载jdk
https://www.oracle.com/java/technologies/downloads/#java8-linux
10.2 安装jdk
将下载好的安装包上传到Linux环境中(比如WinSCP)。
cd /usr/local
输入ll查看传入Linux环境的安装包,然后使用tar命令解压该压缩包。
tar -zxvf /usr/local/jdk-8u181-linux-x64.tar.gz
可以给jdk包修改名字,使用mv命令。
mv /usr/local/jdk1.8.0_181 /usr/local/java
修改配置文件,配置环境变量,在命令行输入:
vi /etc/profile
输入“G”定位到最后一行,按“i”进入编辑模式,在最下面添加如下几行信息:
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
让配置文件生效,可以输入如下命令或者是重启系统:
source /etc/profile
重启命令:
init 6
reboot
查看安装情况:
java -version
结语
如果您觉得该方法或代码有一点点用处,可以给作者点个赞
如果您感觉方法或代码不咋地
//(ㄒoㄒ)//,就在评论处留言,作者继续改进;
o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;
(✿◡‿◡)
感谢各位童鞋们的支持!
( ´ ▽´ )ノ ( ´ ▽´)っ!!!
标签:java,void,离线,System,开发,println,public,out From: https://blog.51cto.com/fish/5935063