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
4、在线开发Java代码的网站
下面几个网站都是简易的Java运行环境,只能运行JDK自带的函数,不能导入包,更不能运行外部项目。
4.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));
}
}
4.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();
}
}
4.3 在线工具tool.lu
- 测试代码如下:
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 爱看书的小沐!");
}
}
4.4 dooccn
9.5 compilejava(支持多个类)
<font color=blue size=5>支持一个文件包含多个类的定义。</font>
- 测试代码如下:
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, 爱看书的小沐!");
}
}
4.6 rextester(支持多个类)
https://rextester.com/l/java_online_compiler 在线编译器rextester打开即用,不需要登陆,也不需要下载,安装,配置等。
<font color=blue size=5>支持一个文件包含多个类的定义。</font>
- 测试代码如下:
//'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();
}
}
4.7 replit(支持多个类)
https://replit.com/@fxyublib/SlategreySlightApplescript#Main.java
<font color=blue size=5>支持一个文件包含多个类的定义。需要用户注册登陆</font>
- 测试代码如下:
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();
}
}
4.8 ideone(支持多个类)
<font color=blue size=5>支持一个文件包含多个类的定义。</font>
- 测试代码如下:
/* 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();
}
}
5、Linux环境中搭建Java开发环境
5.1 下载jdk
https://www.oracle.com/java/technologies/downloads/#java8-linux
5.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???
如果您需要相关功能的代码定制化开发,可以留言私信作者;
(✿◡‿◡)
感谢各位童鞋们的支持!
( ´ ▽´ )ノ ( ´ ▽´)っ!!!