欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA学习记录(1~22)

程序员文章站 2022-05-28 18:39:58
...

本篇包括JAVA的基础了解、eclipse和jdk的安装及环境变量的设置、命令行操作、第一个JAVA程序及台球小游戏的初探

三种版本:
JavaSE:定位在个人计算机的应用开发。应用一般。
JavaEE:企业版,定位于服务器端的应用。应用最广。
JavaME:微型版,定位在消费性电子产品领域。几乎已消亡。

关系:
JAVA学习记录(1~22)

Java的核心优势:跨平台/可移植性

特性:可移植性、安全性、面向对象、简单性、高性能、分布式、多线程、健壮性

运行机制:
JAVA学习记录(1~22)

在官网eclipse.org下载最新的eclipse,在java.oracle.com下载jdk并配置环境变量
如果只下载jre,可以不配置环境变量。
**环境变量的配置:**在环境变量下新建一个JAVA_HOME,对应路径为jdk下各种文件的安装目录,如:C:\Program Files\Java\jdk1.8.0_191
然后在path环境变量下添加新的变量,新变量为jdk下面bin文件夹里面文件的路径,如C:\Program Files\Java\jdk1.8.0_191\bin

注意:新建的环境变量是系统变量而非用户变量。

配置成功测试:命令行输入cmd, 打开后输入 java -version 若显示版本号,则配置成功

用命令行解释并运行java程序:

  • 用记事本写一个程序:
public class Welcome{
	public static void mian(String[] args){

		System.out.println("我是尚学堂高淇,很高兴认识各位!");
	}
}

  • 把txt后缀名改成java,文件名为Welcome,放在E盘MyCode文件夹下面。
  • 打开命令行(开始-运行-cmd命令),输入命令e:,回车找到E盘,输入命令cd MyCode,回车转到文件夹,输入命令javac Welcome.java
  • 观察MyCode文件夹下面多了一个文件:Welcome.class,这就是java程序的解释文件
  • 输入命令 java Welcome,得到运行编译的结果如下图:
    JAVA学习记录(1~22)
  • 如果解释出现错误,则将java源代码进行更改,如果运行编译出现错误,则修改源代码后要重新使用javac生成解释文件,然后再用java命令运行解释文件

扩展:
dir命令可以查看目录下所有文件,如E:\MyCode>dir
结果如下:
JAVA学习记录(1~22)

第一个java程序的详细讲解:



public class Welcome{
// public称作访问修饰符,用于控制程序的其他部分对这段代码的访问级别
//class是类,所有代码必须在类里面
/*一个源文件可包含多个类,但只能声明一个public的类,其他类不限,如果源文件包含public的类,
则源文件名必须和public定义的类名相同,且以.java为扩展名
*/
/*编译后的源文件得到对应的字节码文件,扩展名.class,编译器为每个类生成独立的字节码文件
且将字节码文件自动命名为对应类的名字*/
	public static void main(String[] args){
//main方法是java应用程序的入口方法,它有固定的书写格式:public static void main(String[] args){...}
//方法后面的一对花括号表示方法体,类后面的一对花括号表示类体

		System.out.println("我是尚学堂高淇,很高兴认识各位!");
	}
}

016 常见的DOS命令

JAVA学习记录(1~22)

操作实验:
打开DOS窗口:开始-运行-cmd命令-确定
找到e盘:e: 找到下属文件夹:cd MyCode
dir:查看文件夹内容 上下键: cls:清除屏幕
自动补齐命令:输入到一半时可以猜你想打的命令,自动补齐,但不一定补对。

017 、018、019、020、021

常用编程软件:

  • 文本编辑器: 记事本、Notepad++、UltraEdit、EditPlus
  • 集成开发环境(IDE):eclipse、IntelliJ IDE、NetBeans

eclipse的使用:

左边那一块称为包视图,在包视图处可以直接New一个java project,取一个project name,建立项目。

建立后的项目分两块,一块是用来存放调用的jar包(打包的class文件,即字节码文件),另一块(src)存放源码java文件。java文件被解释为class文件,这些class文件存放在隐藏的bin目录内。

选中项目右键最后一个栏目可以查看此项目的属性,查看存放的工作台的位置并直接打开。

注意:先新建project,再在src下面建包package,包下面建class。平时写java程序可以直接在src下面建class,即一个java文件,此时包是default的。

注: 如果要重新设置工作空间,在windlows-preference-general-setupAndsetdown-workspace下面,打勾,重新启动eclipse,重新选工作空间,再进入移除原来的工作空间。工作空间可以不止一个,file-switch workspace可以切换工作空间,为了简便,我只设立一个工作空间,在E盘的MyCode文件夹下面。

注:字体大小的改变: 首先打开eclipse中,按下面的方法即可菜单项:window ->preferences -> general -> appearance -> colors and fonts,然后在右边看到一个编辑区:选择 java editor text fonts 项,点“change”按钮即可进行相关设置。
软件默认的字体为Courier New。如小心改错字体,以供参考!

注:ctrl+F11为运行的快捷键

022 开发兴趣:半小时零基础开发桌球小游戏项目

目标:找敲代码的感觉,不注重对代码的理解。学到后面之后可以回顾这里来理解。
要求:学会调试代码;了解java代码的基本结构;产生对代码的兴趣。

首先建立一个java project,取名“桌游”,然后在项目处建立new一个folder(相当于普通文件夹),存放图片文件。(正常应该在src处new一个folder,这里简化方便理解)
下面的代码由于初入门,力求最简化,而不是最优。

然后从源码里面找到桌和球两个图片,下载并copy到images文件夹***意可以在eclipse中的images文件夹处直接粘贴。

在src下面创建一个类名字为BallGame,在类中写程序。

按照版本迭代的方式来完成代码:

	版本1:目标:出现窗口。代码:   运行结果:
	版本2:目标:加载两个图片。代码:  运行结果:  
	版本3:目标:使小球图片水平方向动起来并实现边界检测,实现动画。(革命性的一步)
	代码:   运行结果:  
	版本4:目标:台球沿任意角度动  代码:   运行结果:
package 半小时零基础开发小游戏;

//在BallGame的基础上改进,使得小球在某个初始角度不断回弹



import java.awt.*;
import javax.swing.*;


public class BallGame2 extends JFrame {
	
	Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
	Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
	
	double x = 100;//小球在窗口的横坐标
	double y = 100;//小球在窗口的纵坐标
	
	double degree = 3.14/3;  //角度,用弧度表示,初始为60度
	
	
	//画窗口的方法
	public void paint(Graphics g) {
		System.out.println("窗口被画了一次!");
		g.drawImage(desk,0,0,null);  //桌面在窗口的位置
		g.drawImage(ball,(int)x,(int)y,null); //球在窗口的位置
		
		x = x + 15*Math.cos(degree);  //这里改用15,让速度更快一些  15是画一次窗口两个小球之间的距离
		y = y + 15*Math.sin(degree);
		
		
		//上下边界的回弹
		if(y>500 - 40 - 30  ||  y < 0 + 40 + 40) {  //桌子高度500  边框宽度40 球的直径30   最后一个是标题栏高度为40  
			degree = -degree;
		}
		
		//左右边界的回弹
		
		if(x < 0 + 40 || x>856 - 40 - 30) {
			
			degree = 3.14 - degree;  //角度变为了120度,可以画图来理解这里的变化
			
		}
		
	}
	/*如果做真实台球游戏,可以考虑再加入一个球杆的变量和图片,并设一个可以变的角度变量,
	 * 且构造一个力度变量来对应球的不同初始速度,并且给球一个变量使得速度衰减,最后衰减至零时,
	  小球停下来,如何使小球停下来是之后要考虑的问题
	  这个游戏掌握之后,可以类比飞机游戏,背景换成蓝天,球换成飞机即可
	    也可以换成赛车游戏、坦克大战等,路径类游戏均可用到
	*/
	//窗口加载
	void launchFrame(){
		
		setSize(856,500);  //窗口大小 宽和高
		setLocation(50,50); //位置
		setVisible(true);  //可见性
		
		
		//重画窗口,每秒画25次
		while(true) {
			repaint();
			try {
				Thread.sleep(40); //40ms,1s = 1000ms,即每秒约画25次窗口,相当与每秒25帧
			}catch(Exception e) {
				e.printStackTrace();
			}
			
			 
		}
		
	}
	
	
	
	public static void main(String[] args) {
		//main方法是程序执行的入口
	
		System.out.println("我是阿瓜,这个程序让大家对编程感兴趣,寓教于乐!");
		
		BallGame2 game = new BallGame2();
		game.launchFrame();
		

	}
	
}