java

JAVA第一次作业
一、安装和配置JAVA环境+下载eclipse

1.去百度搜索一下java Runtime Environment,然后下载最新版本。
 
图片

2. 下载之后,安装下载的版本,在此注意,在第一次选路径安装好之后,此时装的是JDK,然后马上会弹出安装JRE的对话框,在此不附图。

 3.安装好JAVA版本后,注意安装路径,然后到桌面右键单击我的电脑
☞属性 ☞高级系统设置 ☞环境变量    然后配置如下信息,如果没有JAVA_HOME 和 CLASSHOME 请自己创建。

图片

图片

4.配置好环境后,进入cmd界面查看是否安装好,如果如下图所示,则代表安装完毕。
图片

 5.安装好JAVA后,去下图网址或者百度下载eclipse最新版本。


图片



二、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;

		}

	    }

	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值