linux环境java入门
1. 安装java开发环境
安装jre和jdk
$ sudo apt-get install default-jre
$ sudo apt-get install default-jdk
2. 设置环境变量
编辑.bashrc文件添加java环境变量
#2018-08-02 export JAVA_HOME=/usr/lib/jvm/default-java export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${JRE_HOME}/lib #export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$JRE_HOME/bin:$PATH
java环境变量加载到系统中,立即生效.
$ source ~/.bashrc
验证java是否安装成功:
$ java -version
java version "1.7.0_181"
OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-00.1)
OpenJDK 64-Bit Server VM (build 24.181-b01, mixed mode)
3. Hello World,开启java 入门
HelloWorld.java
public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } }
编译: $ javac HelloWorld.java
$ ls
HelloWorld.class HelloWorld.java
运行: $ java HelloWorld
HelloWorld
4.Eclipse开发工具开发java
- Eclipse IDE for Java Developers 该版本适合Java开发者,集成CVS,Git,XML编辑器,Mylyn, Maven integration和WindowBuilder等插件。
- Eclipse IDE for Java EE Developers 该版本集成了Java ee开发常用插件,方便动态web网站开发。适合Java web开发者使用。集成了XML编辑器、数据库查看工具,提供jsp可视化编辑器。
- Eclipse IDE for C/C++ Developers 该版本适合C/C++开发者,集成了良好的C/C++语言支持。
- Eclipse for PHP Developers该版本适合PHP开发者,集成了良好的PHP语言支持,Git客户端, Mylyn和JavaScript脚本编辑器, HTML, CSS和XML。
- Eclipse IDE for Eclipse Committers;该版本是eclipse最基础的版本,适合Java se个人开发者、或希望根据自己需求配置插件的开发者使用。
- Eclipse IDE for Java and DSL Developers 对于Java和DSL开发者必不可少的工具,包括Java和XTend ID。
那么它们之间到底有什么区别:
最大的区别就是标题和解压包大小不同。下载解压后就会发现,不同的Eclipse版本之间就是plugins/features目录下的文件不同而已。 一个标准的Eclipse的,给它添加一些JEE开发需要的plugins,比如WTP,WST等等,它摇身一变就变成”Eclipse IDE for Java EE“了。其他的也一样。如果是一个熟练的Eclipse使用者,选择哪一个都可以,需要的plugin都可以从Eclipse官网获取。
作为一名初学者,或者非企业环境开发者/自学者。推荐1,即JavaDeveloper。
Eclipse历史各个版本下载地址:
http://wiki.eclipse.org/Older_Versions_Of_Eclipse
Java历史各个版本下载地址:
http://www.oracle.com/technetwork/java/javase/archive-139210.html
5. java实例
创建"java project" -> 创建package - > 新建类
test_java的目录树:
test_java/
├── bin
│ └── backtracking
│ ├── GenerateParenthesis.class
│ └── Puppy.class
└── src
└── backtracking
├── GenerateParenthesis.java
└── Puppy.java
4 directories, 4 files
// GenerateParenthesis.java package backtracking; import java.util.List; import java.util.ArrayList; import java.util.Iterator; // ctrl+shift+F: format code public class GenerateParenthesis { public List<String> generateParenthesis(int n) { List<String> ans = new ArrayList(); backtrack(ans, "", 0, 0, n); // print ans. Iterator<String> it = ans.iterator(); while (it.hasNext()) { System.out.println(it.next()); } return ans; } public void backtrack(List<String> ans, String cur, int open, int close, int max) { if (cur.length() == max * 2) { ans.add(cur); return; } if (open < max) backtrack(ans, cur + "(", open + 1, close, max); if (close < open) backtrack(ans, cur + ")", open, close + 1, max); } public static void main(String[] args) { // TODO Auto-generated method stub //System.out.print("hello world!"); GenerateParenthesis sol = new GenerateParenthesis(); sol.generateParenthesis(3); // secode test Puppy py = new Puppy("Dog1"); py.setAge(9); py.getAge(); } }
// Puppy.java package backtracking; public class Puppy { int puppyAge; public Puppy(String name) { // 这个构造器仅有一个参数:name System.out.println("小狗的名字是 : " + name); } public void setAge(int age) { puppyAge = age; } public int getAge() { System.out.println("小狗的年龄为 : " + puppyAge); return puppyAge; } }