1.去百度搜索一下java Runtime Environment,然后下载最新版本。
![图片](https://i-blog.csdnimg.cn/blog_migrate/da562be4ee94ce2ad61dce3c3fe866cb.png)
2. 下载之后,安装下载的版本,在此注意,在第一次选路径安装好之后,此时装的是JDK,然后马上会弹出安装JRE的对话框,在此不附图。
3.安装好JAVA版本后,注意安装路径,然后到桌面右键单击我的电脑 ☞属性 ☞高级系统设置 ☞环境变量 然后配置如下信息,如果没有JAVA_HOME 和 CLASSHOME 请自己创建。
![图片](https://i-blog.csdnimg.cn/blog_migrate/b05e51a59b84c415413fa92f1f86fe0b.png)
![图片](https://i-blog.csdnimg.cn/blog_migrate/b24bfb9a75bfe0e06a508511e42e3470.png)
4.配置好环境后,进入cmd界面查看是否安装好,如果如下图所示,则代表安装完毕。
![图片](https://i-blog.csdnimg.cn/blog_migrate/d4d37a9cf61ba8f4ad31388d506476bd.png)
5.安装好JAVA后,去下图网址或者百度下载eclipse最新版本。
![图片](https://i-blog.csdnimg.cn/blog_migrate/4adf9ca7e0bec04d205839774ab59f13.png)
二、eclipse快捷键大全
Ctrl+1 快速修复
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)
编辑
作用域 功能 快捷键
全局 查找并替换 Ctrl+F
文本编辑器 查找上一个 Ctrl+Shift+K
文本编辑器 查找下一个 Ctrl+K
全局 撤销 Ctrl+Z
全局 复制 Ctrl+C
全局 恢复上一个选择 Alt+Shift+↓
全局 剪切 Ctrl+X
全局 快速修正 Ctrl1+1
全局 内容辅助 Alt+/
全局 全部选中 Ctrl+A
全局 删除 Delete
全局 上下文信息 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
Java编辑器 显示工具提示描述 F2
Java编辑器 选择封装元素 Alt+Shift+↑
Java编辑器 选择上一个元素 Alt+Shift+←
Java编辑器 选择下一个元素 Alt+Shift+→
文本编辑器 增量查找 Ctrl+J
文本编辑器 增量逆向查找 Ctrl+Shift+J
全局 粘贴 Ctrl+V
全局 重做 Ctrl+Y
查看
作用域 功能 快捷键
全局 放大 Ctrl+=
全局 缩小 Ctrl+-
窗口
作用域 功能 快捷键
全局 激活编辑器 F12
全局 切换编辑器 Ctrl+Shift+W
全局 上一个编辑器 Ctrl+Shift+F6
全局 上一个视图 Ctrl+Shift+F7
全局 上一个透视图 Ctrl+Shift+F8
全局 下一个编辑器 Ctrl+F6
全局 下一个视图 Ctrl+F7
全局 下一个透视图 Ctrl+F8
文本编辑器 显示标尺上下文菜单 Ctrl+W
全局 显示视图菜单 Ctrl+F10
全局 显示系统菜单 Alt+-
导航
作用域 功能 快捷键
Java编辑器 打开结构 Ctrl+F3
全局 打开类型 Ctrl+Shift+T
全局 打开类型层次结构 F4
全局 打开声明 F3
全局 打开外部javadoc Shift+F2
全局 打开资源 Ctrl+Shift+R
全局 后退历史记录 Alt+←
全局 前进历史记录 Alt+→
全局 上一个 Ctrl+,
全局 下一个 Ctrl+.
Java编辑器 显示大纲 Ctrl+O
全局 在层次结构中打开类型 Ctrl+Shift+H
全局 转至匹配的括号 Ctrl+Shift+P
全局 转至上一个编辑位置 Ctrl+Q
Java编辑器 转至上一个成员 Ctrl+Shift+↑
Java编辑器 转至下一个成员 Ctrl+Shift+↓
文本编辑器 转至行 Ctrl+L
搜索
作用域 功能 快捷键
全局 出现在文件中 Ctrl+Shift+U
全局 打开搜索对话框 Ctrl+H
全局 工作区中的声明 Ctrl+G
全局 工作区中的引用 Ctrl+Shift+G
文本编辑
作用域 功能 快捷键
文本编辑器 改写切换 Insert
文本编辑器 上滚行 Ctrl+↑
文本编辑器 下滚行 Ctrl+↓
文件
作用域 功能 快捷键
全局 保存 Ctrl+X
Ctrl+S
全局 打印 Ctrl+P
全局 关闭 Ctrl+F4
全局 全部保存 Ctrl+Shift+S
全局 全部关闭 Ctrl+Shift+F4
全局 属性 Alt+Enter
全局 新建 Ctrl+N
项目
作用域 功能 快捷键
全局 全部构建 Ctrl+B
源代码
作用域 功能 快捷键
Java编辑器 格式化 Ctrl+Shift+F
Java编辑器 取消注释 Ctrl+\
Java编辑器 注释 Ctrl+/
Java编辑器 添加导入 Ctrl+Shift+M
Java编辑器 组织导入 Ctrl+Shift+O
Java编辑器 使用try/catch块来包围 未设置,太常用了,所以在这里列出,建议自己设置。
也可以使用Ctrl+1自动修正。
运行
作用域 功能 快捷键
全局 单步返回 F7
全局 单步跳过 F6
全局 单步跳入 F5
全局 单步跳入选择 Ctrl+F5
全局 调试上次启动 F11
全局 继续 F8
全局 使用过滤器单步执行 Shift+F5
全局 添加/去除断点 Ctrl+Shift+B
全局 显示 Ctrl+D
全局 运行上次启动 Ctrl+F11
全局 运行至行 Ctrl+R
全局 执行 Ctrl+U
重构
作用域 功能 快捷键
全局 撤销重构 Alt+Shift+Z
全局 抽取方法 Alt+Shift+M
全局 抽取局部变量 Alt+Shift+L
全局 内联 Alt+Shift+I
全局 移动 Alt+Shift+V
全局 重命名 Alt+Shift+R
全局 重做 Alt+Shift+Y
三、 JAVA 小程序:简单计算器
代码如下:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Manager implements ActionListener
{
JButton c;
JButton jb[]=new JButton[9];
JButton ja[]=new JButton[3];
JButton jc[]=new JButton[5];
JTextField wb=new JTextField("0");
long k=1,k1=10;
double sum=0.0,sum1=0.0;
int j=0,xsd=0,fushu=0;
String st=".";
public static void main(String[] args)
{
Manager a=new Manager();
a.show();
}
public void show()
{
//设置界面名称
JFrame jf=new JFrame("汪洋牌计算器");
//设置界面大小
jf.setSize(370, 320);
//设置界面能否拉伸
jf.setResizable(false);
//设置界面关闭时,退出后台
jf.setDefaultCloseOperation(3);
//设置界面居中显示
jf.setLocationRelativeTo(null);
//面板
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
jp1.setPreferredSize(new Dimension(0,100));
jp2.setPreferredSize(new Dimension(230,0));
jp3.setPreferredSize(new Dimension(0,100));
jp1.setOpaque(false);
jp2.setOpaque(false);
jp3.setOpaque(false);
jf.add(jp1,BorderLayout.NORTH);
jf.add(jp2,BorderLayout.WEST);
jf.add(jp3,BorderLayout.CENTER);
//文本框
wb.setPreferredSize(new Dimension(360,35));
wb.setEditable(false);
wb.setFont(new java.awt.Font("Dialog", 0, 25));
wb.setOpaque(false);
jp1.setLayout(new FlowLayout(FlowLayout.RIGHT,2,12));
c=new JButton("C");
c.setPreferredSize(new Dimension(60,40));
c.addActionListener(this);
c.setFont(new java.awt.Font("楷体", Font.BOLD, 28));
jp1.add(wb);
jp1.add(c);
//按钮
for(int i=0;i<9;i++)
{
jb[i]=new JButton(""+(i+1));
jb[i].setPreferredSize(new Dimension(70,40));
jb[i].setFont(new java.awt.Font("Dialog", 0, 28));
jp2.add(jb[i]);
jb[i].addActionListener(this);
}
ja[0]=new JButton("0");
ja[0].setPreferredSize(new Dimension(70,40));
ja[0].setOpaque(false);
ja[1]=new JButton(".");
ja[1].setPreferredSize(new Dimension(70,40));
ja[2]=new JButton("-");
ja[2].setPreferredSize(new Dimension(70,40));
ja[0].setFont(new java.awt.Font("Dialog", 0, 28));
ja[1].setFont(new java.awt.Font("Dialog", 0, 48));
ja[2].setFont(new java.awt.Font("Dialog", 0, 28));
ja[0].addActionListener(this);
ja[1].addActionListener(this);
ja[2].addActionListener(this);
jp2.add(ja[0]);
jp2.add(ja[1]);
jp2.add(ja[2]);
//按钮2
jc[0]=new JButton("=");
jc[0].setFont(new java.awt.Font("Dialog", 0, 48));
jc[1]=new JButton("+");
jc[2]=new JButton("-");
jc[3]=new JButton("*");
jc[4]=new JButton("/");
jc[0].setPreferredSize(new Dimension(125,85));
jc[1].setPreferredSize(new Dimension(60,40));
jc[2].setPreferredSize(new Dimension(60,40));
jc[3].setPreferredSize(new Dimension(60,40));
jc[4].setPreferredSize(new Dimension(60,40));
for(int i=0;i<5;i++)
{jc[i].setFont(new java.awt.Font("Dialog", 0, 28));jc[i].addActionListener(this);}
jp3.add(jc[1]);
jp3.add(jc[2]);
jp3.add(jc[3]);
jp3.add(jc[4]);
jp3.add(jc[0]);
//最重要的一句,显示窗口
//放在添加组件语句之后
jf.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
int i;
for(i=0;i<9;i++)
if(e.getSource()==jb[i])
{
if(xsd==0)
{
if(j==0)
{
if(fushu==1)
{
sum*=-1;
sum=sum*k-(i+1);
fushu++;
}
else if(fushu>1)
sum=sum*k-(i+1);
else
sum=sum*k+(i+1);
k=10;
wb.setText(""+(long)sum);
}
else
{
if(fushu==1)
{
sum1*=-1;
sum1=sum1*k-(i+1);
fushu++;
}
else if(fushu>1)
sum1=sum1*k-(i+1);
else
sum1=sum1*k+(i+1);
k=10;
wb.setText(""+(long)sum1);
}
}
else
{
if(j==0)
{
if(fushu==1)
{
sum*=-1;
sum=(sum*k1-(double)(i+1))/k1;
fushu++;
}
else if(fushu>1)
sum=(sum*k1-(double)(i+1))/k1;
else
sum=(sum*k1+(i+1))/k1;
k1*=10;
wb.setText(""+sum);
}
else
{
if(fushu==1)
{
sum1*=-1;
sum1=(sum1*k1-(double)(i+1))/k1;
fushu++;
}
else if(fushu>1)
sum1=(sum1*k1-(i+1))/k1;
else
sum1=(sum1*k1+(double)(i+1))/k1;
k=10;
k1*=10;
wb.setText(""+sum1);
}
}
}
if(e.getSource()==c)
{wb.setText("0");sum=sum1=j=0;
k=1;k1=10;xsd=0;fushu=0;
// wb1.setText("0");
}
if(e.getSource()==ja[0])
{
if(fushu!=0&&j==0){fushu=1;wb.setText("-"+""+(long)sum);}
else if(fushu!=0&&j!=0){fushu=1;wb.setText("-"+""+(long)sum1);}
else if(j==0)
{sum=sum*k;
wb.setText(""+(long)sum);
}
else
{
sum1=sum1*k;
wb.setText(""+(long)sum1);
}
}
if(e.getSource()==ja[1]&&xsd==0)
{
xsd=1;
if(fushu!=0&&j==0){fushu=1;wb.setText("-"+""+(long)sum+st);}
else if(fushu!=0&&j!=0){fushu=1;wb.setText("-"+""+(long)sum1+st);}
else if(j==0)
wb.setText(""+(long)sum+st);
else
wb.setText(""+(long)sum1+st);
}
if(e.getSource()==ja[2]&&fushu==0)
{
fushu=1;
wb.setText("-");
}
for(i=1;i<5;i++)
if(e.getSource()==jc[i])
{
j=i;xsd=0;k1=10;fushu=0;
}
if(e.getSource()==jc[0])
{
long a;
double b;
if(sum1==0.0)
wb.setText("0");
else
switch(j)
{
case 1: if((sum+sum1)-(long)(sum+sum1)!=0)wb.setText(""+(sum+sum1));else wb.setText(""+(long)(sum+sum1));break;
case 2: if((sum-sum1)-(long)(sum-sum1)!=0)wb.setText(""+(sum-sum1));else wb.setText(""+(long)(sum-sum1));break;
case 3: if((sum*sum1)-(long)(sum*sum1)!=0)wb.setText(""+(sum*sum1));else wb.setText(""+(long)(sum*sum1));break;
case 4: if((sum/sum1)-(long)(sum/sum1)!=0)wb.setText(""+(sum/sum1));else wb.setText(""+(long)(sum/sum1));break;
}
sum=sum1=j=0;
k=1;k1=10;xsd=0;fushu=0;
}
}
}