JAVA进阶16
间歇性混吃等死,持续性踌躇满志系列-------------第16天
1、桌球游戏小项目
①窗口加载
import javax.swing.*; public class BallGame extends JFrame { //窗口加载
void launchFrame() {
setSize(300, 300);
setLocation(100, 100);
setVisible(true);
} public static void main(String[] args) {
System.out.println("游戏体验");
BallGame game = new BallGame();
game.launchFrame();
}
}
窗口加载
运行结果图
②小球左右移动
注:图片加载不出可尝试用绝对路径
import javax.swing.*;
import java.awt.*; public class BallGame extends JFrame { Image ball = Toolkit.getDefaultToolkit().getImage("F:/Java/MyGame/Demo01/images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("F:/Java/MyGame/Demo01/images/desk.jpg");
//小球的横坐标
double x = 100;
//小球的纵坐标
double y = 100;
//方向
boolean right = true; //画窗口的方法
public void paint(Graphics g) {
System.out.println("窗体被画了一次!");
g.drawImage(desk, 0, 0, null);
g.drawImage(ball, (int) x, (int) y, null); if (right) {
x += 10;
} else {
x -= 10;
}
//856是窗口宽度,40是桌子边框的宽度,30是小球的直径
if (x > 856-40-30) {
right = false;
}
//40是桌子边框的宽度
if (x < 40) {
right = true;
}
} //窗口加载
void launchFrame() {
setSize(856, 500);
setLocation(50, 50);
setVisible(true); //重画窗口,每秒画25次
while (true) {
repaint();
try {
Thread.sleep(40);
} catch (Exception e) {
e.printStackTrace();
} }
} public static void main(String[] args) {
System.out.println("游戏体验");
BallGame game = new BallGame();
game.launchFrame();
}
}
小球左右移动
运行结果图
③实现圆球上下弹动
import javax.swing.*;
import java.awt.*; public class BallGame01 extends JFrame { Image ball = Toolkit.getDefaultToolkit().getImage("F:/Java/MyGame/Demo01/images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("F:/Java/MyGame/Demo01/images/desk.jpg");
//小球的横坐标
double x = 100;
//小球的纵坐标
double y = 100; //弧度,此处就是60度
double degree = 3.14 / 3; //画窗口的方法
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 + Math.sin(degree); if (y > 500 - 40 - 30 || y < 40) {
degree = -degree;
}
if (x < 0 || x > 856) {
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();
} }
} public static void main(String[] args) {
System.out.println("游戏体验");
BallGame01 game = new BallGame01();
game.launchFrame();
}
}
运行结果图
2、三元运算符
public class TestOperator01 {
public static void main(String[] args) {
// boolean b1 = true;
// boolean b2 = false;
// System.out.println(b1 & b2);
// System.out.println(b1 ^ b2);
// System.out.println(b1 || b2);
// System.out.println(!b2);
//
//三元运算符
int score = 80;
String type = score<60?"不及格":"及格";
System.out.println(type); //条件判断
if (score>60){
System.out.println("及格");
}else {
System.out.println("不及格");
}
}
}
运行结果图
3、嵌套循环
import java.util.Scanner; public class TestOperator01 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
System.out.print(i+"\t");
}
System.out.println(" ");
}
}
}
运行结果图
4、嵌套循环打印九九乘法表
public class TestOperator01 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
运行结果图
5、循环输出1-1000之间能被5整除的数,且每行输出5个
public class TestOperator01 {
public static void main(String[] args) {
int h = 0;
for (int i = 1; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
h++;
}
if (h==5){
System.out.println();
h=0;
}
}
}
}
运行结果图
JAVA进阶16的更多相关文章
- Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...
- Java进阶(三)多线程开发关键技术
原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...
- 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)
本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...
- Java进阶(三十四)Integer与int的种种比较你知道多少?
Java进阶(三十四)Integer与int的种种比较你知道多少? 前言 如果面试官问Integer与int的区别:估计大多数人只会说到两点:Ingeter是int的包装类,注意是一个类:int的初值 ...
- Java进阶(三十二) HttpClient使用详解
Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们 ...
- Java进阶教程:使用Lombok提升开发效率
Java进阶教程:使用Lombok提升开发效率 Lombok Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO).它通过注释实现这 ...
- java进阶视频分享
更多资源和教程请关注公众号:非科班的科班. 如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力 课程目录介绍 01.开班仪式02.并发编程专题之多线程基础03.并发编程专题之Java内存模 ...
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
- [.net 面向对象程序设计进阶] (16) 多线程(Multithreading)(一) 利用多线程提高程序性能(上)
[.net 面向对象程序设计进阶] (16) 多线程(Multithreading)(一) 利用多线程提高程序性能(上) 本节导读: 随着硬件和网络的高速发展,为多线程(Multithreading) ...
随机推荐
- Oracle 数据库禁止全表访问的时候direct path read /////
一般在OLAP环境中,大表在进行全表扫描的时候一般会出现direct path read等待事件,如果在OLTP环境中,出现大量的direct path read直接路径读取,这样就有问题了.一般在O ...
- Java 7 和 Java 8 中的 HashMap原理解析
HashMap 可能是面试的时候必问的题目了,面试官为什么都偏爱拿这个问应聘者?因为 HashMap 它的设计结构和原理比较有意思,它既可以考初学者对 Java 集合的了解又可以深度的发现应聘者的数据 ...
- 为什么要花钱学 Python,自学不好吗?
买了这么多课程,有哪一门是你从头到尾听完,并且能将知识点学以致用的?如果你想成为一名相对优秀的程序员,建议你读完这篇文章,如果愿意可以分享给你的朋友. 2018过去的一年,对大多数互联网人来说,201 ...
- django.db.utils.ProgrammingError: (1146, "Table 'db_gold.user_ip_info' doesn't exist") RuntimeError: Model class scanhosts.models.HostLoginInfo doesn't declare an explicit app_label and isn't in an a
Error Msg 创建了一个apps的目录将所有app放入apps文件中, 将apps路径加入sys.path中:sys.insert(0, os.path.join(BASE_DIR, " ...
- HTTP 1.1状态代码及其含义说明
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协 ...
- F2 - Spanning Tree with One Fixed Degree - 并查集+DFS
这道题还是非常有意思的,题意很简单,就是给定一个图,和图上的双向边,要求1号节点的度(连接边的条数)等于K,求这棵树的生成树. 我们首先要解决,如何让1号节点的度时为k的呢???而且求的是生成树,意思 ...
- 最大k乘积问题
68.最大k乘积问题 (15分)C时间限制:3000 毫秒 | C内存限制:3000 Kb题目内容:设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积. ...
- java集合-HashSet源码解析
HashSet 无序集合类 实现了Set接口 内部通过HashMap实现 // HashSet public class HashSet<E> extends AbstractSet< ...
- 【MySQL 读书笔记】当我们在执行该查询语句的时候我们在干什么
看了非常多 MySQL 相关的书籍和文章,没有看到过如此优秀的专栏.所以未来一段时间我会梳理读完该专栏的所学所得. 当我们在执行该查询语句的时候我们在干什么 mysql> select * fr ...
- Win 10 Edge不能上网,微软商店打不开的问题
微软商店(Microsoft Store)的 Code: 0x80072EE7 Check Your Connection问题,和Edge的Can't Reach this page的问题.网上找了很 ...