JAVA学习记录(1~22)

简介

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

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

关系:
在这里插入图片描述

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

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

运行机制:
运行机制

在官网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源代码进行更改,如果运行编译出现错误,则修改源代码后要重新使用javac生成解释文件,然后再用java命令运行解释文件

扩展:
dir命令可以查看目录下所有文件,如E:\MyCode>dir
结果如下:
在这里插入图片描述

第一个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命令

在这里插入图片描述

操作实验:
打开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();
		

	}
	
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值