一、Java的特性和优点:
1.跨平台性/可移植性(Java的核心优势);
2.其他特性:安全性、面向对象、简单性、高性能、分布式、多线程、健壮性;
二、Java应用程序的机制
Java首先利用文本编辑器编写Java源程序,源文件后缀名为.java;再利用编译器Javac将源文件编译成字节码文件,字节码文件的后缀为.class;最后利用虚拟机(解释器)解释执行。
源文件(.java)-->Java编译器(字节码文件)-->JRE(类加载器,字节码校验器,解释器)-->系统平台;
2.JDK包含JRE,JRE包含JVM;
JDK(Java Development Kit):增加编译器和调试器等用于程序开发的文件
JRE(Java Runtime Environment):Java虚拟机库函数、运行Java应用程序必须的文件。
JVM(Java Virtual Machine):一个虚拟的用于执行字节码的虚拟计算机。
三、JDK的安装教程
1.先下载适合电脑的JDK版本(检查电脑系统是32位还是64位):https://www.oracle.com/technetwork/java/javase/downloads/index.html
2.双击下载完成的JDK,默认配置点击下一步,直到完成;
3.其中bin目录是存放一些可执行的二进制文件;lib存储相关jar包;src.zip是JDK相关Java类的源代码。
四、环境变量的配置与测试
1.右键计算机点击属性找到高级点击环境变量;
2.在系统变量中新建JAVA_HOME变量(说明JDK安装目录)
3.修改系统变量Path,双击path变量进入,点击新建输入“%JAVA_HOME\bin%”;
4.测试JDK安装成功,进入命令窗口(win+r,输入cmd),在命令窗口中输入java -version(中间有空格);
五、第一个Java程序
1.在磁盘中新建一个文件夹,用于保存代码(d:/mycode)。
2.用记事本开发第一个Java程序:
3.编译(编译器城建class字节码文件):打开命令窗口,进入Java文件所在目录;执行命令(javac Welcome.java)生成.class文件;检查mycode文件夹是否生成了Welcome.class文件。再次进入窗口命令执行:java Welcome(Welcome.class),输出结果;
4.程序常见错误:
javac不是内部命令;原因:path变量配置错误导致没有找到javac命令;解决:重新配置环境变量;
编译时出现javac找不到文件;原因隐藏了文件的扩展名。解决:打开我的电脑窗口,选择查看,去掉“隐藏已知文件夹类型的扩展名”的对勾,查看文件的实际名称为Welcome.java.txt,将后缀.txt去掉。
NOSuchMethodError:main原因:找不到main方法,main方法书写有误。解决:检查public static void main(String[] args){}书写是否有误。
5.总结:
(1)Java对字母大小及其敏感,如果出现了大小写错误,程序无法运行。
(2)关键字class的意思是类。Java是面向对象的语言,所有代码必须位于类里面;
(3)一个源文件中至多只能声明一个public的,其他类的个数不限制,如果源文件中包含一个public类,源文件名必须和其中定义的public的类名相同;
(4)一个源文件可以包含多个类class。
(5)main方法是Java应用程序的入口,有固定的书写格式。
(6)正确编译后,会得到相应的字节码文件,(.class);
(7)java中每个语句必须分号结束;
(8)编程时要注意缩进规范。
六、常见的dos命令
1.cd:进入下一个目录;
2.cd..:进入父目录;
3.dir:查看本目录下的文件和子目录列表
4.cls:清除屏幕;
5.上下键:查找敲过的命令;
6.Tab键:自动补齐命令;
七、java开发工具
1.入门学习的记事本,进行简单的java程序编写;常用软件:Notepad++、UItraEdit、EditPlus;
2.真正学习开发中用到的,一般使用集成开发环境(IDE),如:eclipse、IntelliJ IDE、NetBeans。
八、Eclipse的下载安装
1.下载Eclipse根据安装的JDK版本下载相应的Eclipse版本:https://www.eclipse.org/downloads/;
2.打开下载完成的Eclipse文件夹,直接解压,双击Eclipse;
3.启动时会出现设置工作空间界面,工作空间指java项目储存的目录,一般采用默认;
4.点击Launch后,进入欢迎界面;
5.关闭欢迎界面进入主开发界面;
6.创建项目,项目名称MyPro01,点击完成;
九、桌球项目训练
1.需求:桌球在球桌中按照一定路线和角度移动,遇到边框会自动弹回。
2.代码:
import java.awt.*;
import javax.swing.*;
public class BallGame03 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+10*Math.cos(degree);
y=y+10*Math.sin(degree);
//碰到上下边界
if(y>500-40-30||y<40+40) {
degree=-degree;
}
//左右碰到边界
if(x<40||x>856-40-30) {
degree=3.14-degree;
}
}
//窗口加载
void launchFrame() {
setSize(856,500);
setLocation(50,50);
setVisible(true);
//窗口重画,每秒25次
while (true) {
repaint();
try {
Thread.sleep(40);
} catch (Exception e) {
e.printStackTrace();
}
}
}
//main方法是程序的入口
public static void main(String[] args) {
System.out.println("新建窗口");
BallGame03 game=new BallGame03();
game.launchFrame();
}
}
3.运行结果
4.出现的错误:
错误结果:
错误原因:编译时并未报错,运行结果不对,新建的对象名错误。
十、总结:编写代码要规范,注意字母大小写,注意代码的缩进,编写代码是要仔细,出现错误及时解决。