Java入门和第一个项目
第一阶段
Java的特性和优势
- 跨平台/可移植性:核心优势
- 安全性
- 面向对象
- 简单性
- 高性能
- 分布式
- 多线程
- 健壮性
Java应用程序运行机制
JDK、JRE和JVM
JDK: java开发工具包
JRE: java运行时环境
JVM: java虚拟机
JDK的下载和安装_JDK目录介绍
bin:存放二进制文件
lib:存放类库
src:JDK源代码
JDK 环境变量 PATH 设置_classpath 问题
JAVA_HOME:JDK安装目录
path:%JAVA_HOME%\bin
写出第一个JAVA程序
一个源文件至多有一个public类
public class Welcome{public static void main(String[] args){System.out.println("Hello World");}
}
常用DOS命令
操作 | 效果 |
---|---|
cd 目录路径 | 进入一个目录 |
cd… | 进入父目录 |
dir | 查看本目录下的文件和子目录列表 |
cls | 清楚屏幕命令 |
上下键 | 查找敲过的命令 |
Tab | 自动补齐命令 |
dir/? | 帮助 |
eclipse下项目的结构
src: 源码
bin: class文件
桌球小游戏
版本一
目标:出现窗口
代码
import java.awt.*;
import javax.swing.*;public class BallGame extends JFrame{//窗口加载void launchFrame() {setSize(856,500);setLocation(50,50);setVisible(true);}//main方法是程序执行的入口public static void main(String[] args) {BallGame game = new BallGame();game.launchFrame();}
}
版本二
目标:加载两个图片
代码:
import java.awt.*;
import javax.swing.*;public class BallGame extends JFrame{Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");//窗口加载void launchFrame() {setSize(856,500);setLocation(50,50);setVisible(true);}//画窗口的方法public void paint(Graphics g) {g.drawImage(desk,0,0,null);g.drawImage(ball, 100, 100, null);}//main方法是程序执行的入口public static void main(String[] args) {BallGame game = new BallGame();game.launchFrame();}
}
版本三
目标:使小球图片水平方向动起来,并实现边界检测,实现动画
代码:
import java.awt.*;
import javax.swing.*;public class BallGame extends JFrame{Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");double x = 100;//小球的横坐标double y = 100;//小球的纵坐标boolean right = true;//方向//窗口加载void launchFrame() {setSize(856,500);setLocation(50,50);setVisible(true);//重画窗口,每秒画25次while(true) {repaint();try {Thread.sleep(40);//40ms,1s=100ms,大约一秒画25次窗口}catch(Exception e) {e.printStackTrace();}}}//画窗口的方法public void paint(Graphics g) {g.drawImage(desk,0,0,null);g.drawImage(ball, (int)x, (int)y, null);if(right) {x = x + 10;}else {x = x - 10;}if(x>856-40-30) {//856是窗口宽度,40是桌子边框,30是小球的直径right = false;}if(x<40) {right = true;}}//main方法是程序执行的入口public static void main(String[] args) {BallGame game = new BallGame();game.launchFrame();}
}
版本四
目标:台球沿任意角度
代码:
import java.awt.*;
import javax.swing.*;public class BallGame2 extends JFrame{Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");double x = 100;//小球的横坐标double y = 100;//小球的纵坐标double degree = 3.14/3;//弧度,此处就是:60度//窗口加载void launchFrame() {setSize(856,500);setLocation(50,50);setVisible(true);//重画窗口,每秒画25次while(true) {repaint();try {Thread.sleep(40);//40ms,1s=100ms,大约一秒画25次窗口}catch(Exception e) {e.printStackTrace();}}}//画窗口的方法public void paint(Graphics g) {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) {//500是窗口高度,40是桌子边框,30是球直径,最后一个40是标题栏degree = -degree;}//碰到左右边界if(x<40||x>856-40-30) {degree = 3.14-degree;}}//main方法是程序执行的入口public static void main(String[] args) {BallGame2 game = new BallGame2();game.launchFrame();}
}
Java入门和第一个项目相关推荐
- book类 借书 java_模拟借书系统(Java入门第三季第一章练习)
程序流程图我就不放上来了,慕友们将就着看看吧,注释还算清晰. 这段代码是Java入门第三季异常与异常处理这一章的练习题, 代码尚有不足,请多多指教. /** * 功能:模拟借书系统 * 要求: * 1 ...
- cassandra 入门_Apache Cassandra和Java入门(第一部分)
cassandra 入门 在此页面上,您将学到足够的知识以开始使用NoSQL Apache Cassandra和Java,包括如何安装,尝试一些基本命令以及下一步要做什么. 要求 要遵循本教程,您应该 ...
- Apache Cassandra和Java入门(第一部分)
在此页面上,您将学到足够的知识来开始使用NoSQL Apache Cassandra和Java,包括如何安装,尝试一些基本命令以及下一步做什么. 要求 要遵循本教程,您应该已经有一个正在运行的Cass ...
- 东软java实训第一个项目人力资源管理
东软的项目 麻雀虽小 五脏四全 转载于:https://blog.51cto.com/2523649/910445
- Java入门的第一课
第一个Java程序 你好,我是 彭彭. 先来个自我介绍,快看这边,看这边,看这边,没错,这就是我
- Java 学习笔记:第一章 Java入门
Java 学习笔记:第一章 Java入门 1.1 计算机语言发展史以及未来方向 1.2 常见编程语言介绍 C语言 C++ 语言 Java语言 PHP 语言 Object-C和Swift 语言 Java ...
- 从剪刀石头布小游戏开始的Java入门学习(第一章)
文章目录 前言 一.项目起源 二.类与对象 1.类是什么? 2.类在石头剪刀布中的使用 1.权限修饰符 2.get和set方法 3.this关键字 4.构造器 5.单例模式 1.static关键字 2 ...
- 《第一阶段 Java基础 Day01笔记》————————第一讲 Java入门
第一讲 Java入门 1.爪哇岛(印尼) Java之父 ...
- java基础-宇宙第一YWM:入门java看书小发现
##java基础-宇宙第一YWM:书籍入门java 今天看了head first设计模式,其实从学Java基础开始就挺喜欢head first系列,而言很多前辈也都推荐过这两本,大家有空也可以看看.( ...
最新文章
- STL笔记(5)条款49:学习破解有关STL的编译器诊断信息
- python命令解析_python解析命令行
- Oracle 计算两个日期间隔的天数、月数和年数
- 使用实例_EM菌使用实例
- 软件开发除了23种设计模式,还有7个开发原则需要了解
- linux 线程_Linux线程编程专题之线程和线程函数介绍
- httpcliet发送body体_解决HTTP GET方法调用带有body问题
- 利用Java制作背单词小应用
- Cannot drop the database ‘XXX’ because it is being used for replication.
- linux服务器做301跳转,linux主机如何实现301重定向
- 如何开启电脑远程桌面服务器,远程桌面服务怎么开启
- 关于程序代码的时间复杂度
- java group布局_Java 的swing.GroupLayout布局管理器的使用方法和实例
- 人生法则:蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应、羊群效应、刺猬法则...
- 淘丞相将微博链接转为淘宝直达是怎么实现的?
- 文明重启服务器维护中怎么办,【FAQ】文明重启常见问题大全
- 五大爆款单视频开头,学会做短视频很轻松
- 定时开机-开机自动运行程序-定时关机(windows 下)
- go语言和python对比-对比平台--Python与Go之间的差异
- doraemon的python 集合
热门文章
- 静态路由的配置 简单实验图解
- rtx2060为什么叫智商卡_笑谈PC圈勇夫:为什么说GTX1050是“智商检测卡”
- 两万文字多图详解常用软件工具使用(持续更新)
- GD兆易GD32系列MCU替换ST芯片对照表
- 论文笔记:Show, Edit and Tell : A Framework for Editing Image Captions
- (译)三维空间中的几种坐标系
- Universal-Image-Loader 图片来源于drawable改动 Scheme.DRAWABLE.wrap(R.drawable.img)报错
- scratch 有趣的加减法
- 电商全平台订单管理OMS系统
- 数据挖掘:基于规则的分类器Rule-Based Classifier