第一阶段

Java的特性和优势

  1. 跨平台/可移植性:核心优势
  2. 安全性
  3. 面向对象
  4. 简单性
  5. 高性能
  6. 分布式
  7. 多线程
  8. 健壮性

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入门和第一个项目相关推荐

  1. book类 借书 java_模拟借书系统(Java入门第三季第一章练习)

    程序流程图我就不放上来了,慕友们将就着看看吧,注释还算清晰. 这段代码是Java入门第三季异常与异常处理这一章的练习题, 代码尚有不足,请多多指教. /** * 功能:模拟借书系统 * 要求: * 1 ...

  2. cassandra 入门_Apache Cassandra和Java入门(第一部分)

    cassandra 入门 在此页面上,您将学到足够的知识以开始使用NoSQL Apache Cassandra和Java,包括如何安装,尝试一些基本命令以及下一步要做什么. 要求 要遵循本教程,您应该 ...

  3. Apache Cassandra和Java入门(第一部分)

    在此页面上,您将学到足够的知识来开始使用NoSQL Apache Cassandra和Java,包括如何安装,尝试一些基本命令以及下一步做什么. 要求 要遵循本教程,您应该已经有一个正在运行的Cass ...

  4. 东软java实训第一个项目人力资源管理

    东软的项目 麻雀虽小 五脏四全 转载于:https://blog.51cto.com/2523649/910445

  5. Java入门的第一课

    第一个Java程序 你好,我是 彭彭. 先来个自我介绍,快看这边,看这边,看这边,没错,这就是我

  6. Java 学习笔记:第一章 Java入门

    Java 学习笔记:第一章 Java入门 1.1 计算机语言发展史以及未来方向 1.2 常见编程语言介绍 C语言 C++ 语言 Java语言 PHP 语言 Object-C和Swift 语言 Java ...

  7. 从剪刀石头布小游戏开始的Java入门学习(第一章)

    文章目录 前言 一.项目起源 二.类与对象 1.类是什么? 2.类在石头剪刀布中的使用 1.权限修饰符 2.get和set方法 3.this关键字 4.构造器 5.单例模式 1.static关键字 2 ...

  8. 《第一阶段 Java基础 Day01笔记》————————第一讲 Java入门

    第一讲 Java入门                                                       1.爪哇岛(印尼)                 Java之父   ...

  9. java基础-宇宙第一YWM:入门java看书小发现

    ##java基础-宇宙第一YWM:书籍入门java 今天看了head first设计模式,其实从学Java基础开始就挺喜欢head first系列,而言很多前辈也都推荐过这两本,大家有空也可以看看.( ...

最新文章

  1. STL笔记(5)条款49:学习破解有关STL的编译器诊断信息
  2. python命令解析_python解析命令行
  3. Oracle 计算两个日期间隔的天数、月数和年数
  4. 使用实例_EM菌使用实例
  5. 软件开发除了23种设计模式,还有7个开发原则需要了解
  6. linux 线程_Linux线程编程专题之线程和线程函数介绍
  7. httpcliet发送body体_解决HTTP GET方法调用带有body问题
  8. 利用Java制作背单词小应用
  9. Cannot drop the database ‘XXX’ because it is being used for replication.
  10. linux服务器做301跳转,linux主机如何实现301重定向
  11. 如何开启电脑远程桌面服务器,远程桌面服务怎么开启
  12. 关于程序代码的时间复杂度
  13. java group布局_Java 的swing.GroupLayout布局管理器的使用方法和实例
  14. 人生法则:蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应、羊群效应、刺猬法则...
  15. 淘丞相将微博链接转为淘宝直达是怎么实现的?
  16. 文明重启服务器维护中怎么办,【FAQ】文明重启常见问题大全
  17. 五大爆款单视频开头,学会做短视频很轻松
  18. 定时开机-开机自动运行程序-定时关机(windows 下)
  19. go语言和python对比-对比平台--Python与Go之间的差异
  20. doraemon的python 集合

热门文章

  1. 静态路由的配置 简单实验图解
  2. rtx2060为什么叫智商卡_笑谈PC圈勇夫:为什么说GTX1050是“智商检测卡”
  3. 两万文字多图详解常用软件工具使用(持续更新)
  4. GD兆易GD32系列MCU替换ST芯片对照表
  5. 论文笔记:Show, Edit and Tell : A Framework for Editing Image Captions
  6. (译)三维空间中的几种坐标系
  7. Universal-Image-Loader 图片来源于drawable改动 Scheme.DRAWABLE.wrap(R.drawable.img)报错
  8. scratch 有趣的加减法
  9. 电商全平台订单管理OMS系统
  10. 数据挖掘:基于规则的分类器Rule-Based Classifier