JavaSE编程基础 第一章 初识Java

本教程通过实际操作项目引导初学者快速上手Java编程,包括环境搭建、基础语法学习及简单的台球游戏项目开发,旨在帮助学员建立编程信心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 你学习编程的目的是什么?学习编程最快的办法是什么?

2. 程序员的职业规划是什么?我怎么能拿到10万年薪,30万年薪,50万年薪?

3. 一个技术点,怎么样才能算学会?需要能默写出来吗?

4. 北京尚学堂旗下“百战程序员”的理念和定位是什么?

5. 如何考取百战程序员,进入正式班级学习?

6. 哪个网站会公布最新的“百战程序员”视频和资料?

7. 说出计算机语言为什么按照第一代、第二代、第三代发展?

8. Java有什么核心优势让其流行?

9. Java的三个版本是什么?

10. Java是哪个公司发明的? 现在这家公司处境如何? 为什么?

11. Java的跨平台是通过什么实现的?

12. Java语言释型还是编译型?还是两者都是?

13. JDK、JRE、JVM的全称是?

14. JDK包含JRE,这句话对吗?

15. 【上机】熟悉DOS命令行方式的常用命令:dir、cd等.

16. DOS下,自动补齐命令的键是哪个?DOS下,想查找以前执行的命令用哪个键?

17. DOS下,dir命令表示什么含义? cd 表示什么含义?

18. 【上机】安装JDK、配置环境变量、并写出自己的第一个HelloWorld程序

19. 为什么采用JAVA_HOME的方式配置环境变量较好?

20. public class 的类名必须跟文件名保持一致吗?

21. 编程风格一定要:成对编程和缩进。用文字或代码说明如何实现成对编程和缩进。

22. System.out.println("hi");  ----这句代码能否顺利执行?

23. 一个Java源文件可以写多个class吗?编译后,会不会生成多个class文件?

24. 编程时,为什么需要注释?注释的类型?

25. 多行注释能不能嵌套使用?

26. 【上机】使用snagit/ FastStone Capture软件截图

27. 【上机】使用pdf阅读器做笔记,阅读相关电子书文档

28. 【上机】使用录屏软件Camtasia录制和转换视频

29. 【上机】使用onenote记笔记和画图

30. 【上机】使用亿图软件画出相关图形

 

 

阶段项目课程1 

31. 【项目】台球游戏小项目

练习目标:

1.找到敲代码的感觉

2.收获敲代码的兴趣

3.作出效果,找到自信

4.从一开始就学会调试错误

5.掌握Java代码基本结构

注意:不要求学生理解代码的语法功能,只要按照代码结构输入代码,能够经过调试实现代码的正常运行即可;

全部讲解和练习时间控制在2小时以内

项目需求:

桌球在球桌中按照一定线路和角度移动;遇到边框会自动弹回


 

要求

即使看不太懂也要照着敲如下游戏代码至少5遍。要求所有字符和源文件一致。如果报异常,请细心看所在行和老师代码有何区别:

import java.awt.*;

public class BallGame extends Frame {
	// 球桌和桌球图片
	Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
	Image desk = Toolkit.getDefaultToolkit().getImage("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 + 10 * Math.sin(degree);
		// 到了球桌四个边框后桌球角度的变化
		// 1.如果到了底部,就要变角度
		if (y > 480 - 30 - 40) {// 480是球桌高度,30是球的直径,40是桌边框宽度
			degree = -degree;
		}
		// 2.如果到了右边界,就要变角度
		if (x > 856 - 30 - 40) {
			degree = 3.14 - degree;
		}
		// 3.如果到了上边界,就要变角度
		if (x < 20 + 20) {
			degree = 3.14 - degree;
		}
		// 4.如果到了左边界,就要变角度
		if (y < 20 + 20) {
			degree = -degree;
		}
	}

	/**
	 * 绘制多次次桌面和桌球
	 */
	void launchFrame() {
		// 四个方法什么含义,你能根据运行结果看懂吗
		setSize(856, 480);
		setLocation(50, 50);
		setTitle("尚学堂--程旭源作品");
		setVisible(true);
		// 每隔40毫秒绘制一次桌面和桌球
		while (true) {
			repaint(); // 重画窗口!
			try {
				Thread.sleep(40); // 40ms 1s=1000ms
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	public static void main(String[] args) {
		System.out.println("我是尚学堂的程旭源!");
		BallGame bg = new BallGame();
		bg.launchFrame();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值