java编程练习 习题

计算机二级JAVA试题及答案-计算机二级JAVA机试试题及答案-JAVA模拟试题-JAVA练习题-233网校
233网校查分神器
您现在的位置:&&&模拟试题
海量免费模拟试题,在线测试。
各科每年真题试卷,实战演练!
逐章逐节针对练习,专项突破。
每天10道最新试题,随机练习。java练习题,每天一个java小程序-10
JAVA练习题,能做多少就做多少。
这个是从CSDN看到的。每天一个吧 。
【程序10】&
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在&第10次落地时,共经过多少米?第10次反弹多高?&
这个题目,下面我会贴出来两种代码。其实这个题目,我烦了简单计算,想搞得有趣味性一点,结果耽误了好几天时间,最后发现搞的也不好。
先第一种,为了解题而解题。
==== Main.java ====
public class Main {
private double TotalHeight = 100;
private double CurHeight = 50;
public void drop(int times) {
if ((times - 1) == 0) {
setTotalHeight(getTotalHeight() + 2 * getCurHeight());
setCurHeight(getCurHeight() / 2);
drop(times - 1);
public double getTotalHeight() {
return TotalH
public void setTotalHeight(double totalHeight) {
TotalHeight = totalH
public double getCurHeight() {
return CurH
public void setCurHeight(double curHeight) {
CurHeight = curH
public static void main(String[] args) {
Main main = new Main();
main.drop(2);
System.out.println("Total height is " +
main.getTotalHeight());
System.out.println("Current height is " +
main.getCurHeight());
==== 然后是第二种 =====
==== Main.java ====
import javax.swing.JF
import panel.BallP
import time.D
public class MainFrame extends JFrame {
public MainFrame(String title) {
super(title);
public static void main(String[] args) {
Delay delay = new Delay();
MainFrame frame = new MainFrame("Hello JFrame");
BallPanel ballPanel = new BallPanel();
frame.add(ballPanel);
frame.setSize(500, 500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
delay.initDelay();
ballPanel.setDelay(delay.getDelay());
ballPanel.loopDrop(0);
==== Delay.java ====
public class Delay {
public void initDelay() {
int g = 10;
int i = 0;
double s, t, t0 = 0.0;
delay = new int[100];
for (s = 100; s & 10100; s += 100) {
t = Math.sqrt(2 * s / g);
delay[i++] = (int) ((t - t0) * 100);
public int[] getDelay() {
private int delay[];
==== BallPanel.java ====
import java.awt.C
import java.awt.G
import javax.swing.JP
public class BallPanel extends JPanel {
public BallPanel() {
public void paint(Graphics g) {
g.clearRect(0, 0, this.getWidth(), this.getHeight());
g.setColor(Color.BLUE);
g.fillOval(250, ballCenter, 30, 30);
public void loopDrop(int height) {
if (this.height == height) { // At bottom
for (i = 0; i & targetH i += MUL) {
ballCenter = this.height -
this.repaint();
Thread.sleep(delay[(targetHeight - i - 1) / MUL]);
} catch (InterruptedException e) {
e.printStackTrace();
loopDrop(this.height - i);
} else { // At top
for (i = i & this. i += MUL) {
ballCenter =
this.repaint();
Thread.sleep(delay[(i - height) / MUL]);
} catch (InterruptedException e) {
e.printStackTrace();
targetHeightV = targetHeightV / 2;
targetHeight = targetHeightV;
if (targetHeight != 0) {
loopDrop(i);
public void setDelay(int delay[]) {
this.delay =
private int extracted() {
return 100 * MUL;
private int targetHeight = extracted();
private int targetHeightV = extracted();
private int ballCenter = 0;
private int height = extracted();
private int delay[];
private final int MUL = 4;
其实所谓的第二种,是用的JFrame在JPanel上画图,直观的展示出来每次弹起来的效果。因为100像素实在太小了,所以我做了一个变量MUL,相当于是等比例扩大的效果。问题就是弹不到10次距离就用光了,所以。。。。。权当娱乐了。。当然可以等比例在放大,例如100M看成是10000像素,这样能多弹几次。这个程序,最后球就在那里不动了,程序不会自己退出。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。2017年计算机二级考试Java练习题及答案
2017年计算机二级考试Java练习题及答案
  2017年上半年时间将会在3月25-28日开始进行,为了帮助大家能顺利通过计算机二级考试,下面YJBYS小编为大家带来2017年计算机二级考试Java练习题及答案,供大家参考学习,预祝考生备考成功!:
  练习题一
  1[单选题] 在软件开发中,需求分析阶段可以使用的工具是(  )。
  A.N-S图 B.DFD图C.PAD图 D.程序流程图
  参考答案:B
  参考解析:在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树和判断表。
  2[单选题] Java中用于提供Java语言、Java虚拟机的核心的类和接口的包是(  )。
  A..io包B.java.applet包C.java.lang包D.java.net包
  参考答案:C
  参考解析:本题考查考生对Java语言中的类和接口的理解。java.lang包提供了构成Java语言、Java虚拟机核心的类和接口。例如,类object、类String和类Thread等。对任何一个Java程序来说,这些类几乎都是必不可少的。java.lang还包含了许多由Java虚拟机发出的异常,这些异常也是&类&的-种。另外,java.lang包还包含-些用于访问系统资源的类,如ClassLoader等。java.lang包具有极其重要的作用,在程序开头可以不必明文编写装载它的代码。
  3[单选题] 数据库技术的根本目标是要解决数据的(  )。
  A.存储问题B.共享问题C.安全问题D.保护问题
  参考答案:B
  参考解析:在数据库系统中,需要对数据进行集合、统-的管理,以达到被多个应用程序共享的目标。
  4[单选题]下列关于栈叙述正确的是(  )。
  A.栈顶元素能最先被删除
  B.栈顶元素最后才能被删除
  C.栈底元素永远不能被删除
  D.以上三种说法都不对
  参考答案:A
  参考解析:栈是限定在一端进行插入、删除的先入后出的线性表数据结构,栈顶元素最后被插入到栈中,但是最先被删除;而栈底元素最先被插入,最后被删除。
  5[单选题] 有下列二叉树,对此二叉树前序遍历的结果为(  )。
  A.XZCYABB.XYZABCC.XYABCZD.XYAZBC
  参考答案:D
  参考解析:对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。
  6[单选题] 下面程序段的输出结果是(  )。
  A.9B.18C.20D.22
  参考答案:D
  参考解析:本题考查继承和构造函数的用法。首先要明确对一个类的继承是指在父类的基础上构建了一个子类,子类继承了父类的方法和状态。题目所给程序段创建的是Extension类的实例,在运行时,从main(  )函数进入程序,所有调用add(  )方法的过程将始终和Extension类的add(  )方法动态绑定。初始值:i=0;创建实例newExtension(  );先调用父类的默认构造函数Base(  ),并在父类的默认构造函数中执行add(1),i=0+1&2,所以i=2,再调用子类的默认构造函数Extension(  ),子类的默认构造函数中执行add(2),i=2+2&2,所以i=6;执行add(8);i=6+8&2,因此,最终i=22,正确答案为选项D。
  7[单选题] 将E&R图转换为关系模式时,实体和联系都可以表示为(  )。
  A.属性B.键C.关系D.域
  参考答案:C
  参考解析:将E&R图转换为关系模式时,实体和联系都可以表示为关系。
  8[单选题]下列关于Java源程序结构的论述中,正确的是(  )。
  A.一个文件包含的import语句最多l个
  B.一个文件包含的public类最多1个
  C.一个文件包含的接El定义最多l个
  D.一个文件包含的类定义最多1个
  参考答案:B
  参考解析:一个文件的public类最多可以有一个,但是可以包含多个import,包含的接口定义也可以有多个,包含的class类可以有多个,当该文件命名时,可以以public类名来命名,反之编译之后将有多个.class文件生成。
  9[填空题]耦合和内聚是评价模块独立性的两个主要标准,其中 反映了模块内各成分之间的联系。
  参考解析:BDSM
  10[单选题] 下列组件不能添加进Frame主窗口的是(  )。
  A.PanelB.CheekBoxC.DialogD.Choice
  参考答案:C
  参考解析:本题考查Java组件中容器的基本知识。选项A错误,Panel组件是容器,可以添加到Frame窗口;选项B错误,CheckBox组件是复选框组件,可以添加到Frame窗口;选项C正确,Dialog继承自Window,Windows类型(或子类)的对象不能包含在其他容器中;选项D错误,Choice组件是选择框组件,可以添加到Frame窗口。
  11[单选题]下列叙述中,不属于软件需求规格说明书的作用的是
  A.便于用户、开发人员进行理解和交流
  B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
  C.作为确认测试和验收的依据
  D.便于开发人员进行需求分析
  参考答案:D
  12[单选题] 当使用SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是(  )。
  A.SomeThread类是包含run()方法的任意Java类
  B.SomeThread类一定要实现Runnable接口
  C.SomeThread类是Thread类的子类
  D.SomeThread类是Thread类的子类并且要实现Run-nable接口
  参考答案:C
  参考解析:由SomeThread t=new SomeThread()可知此题是通过继承Thread类来创建线程的。
  13[单选题]数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为
  A.C B.Basic C.DDL D.DML
  参考答案:C
  14[单选题]下列哪个选项是合法的标识符?
  A.123 B._name C.class D.1first
  参考答案:C
  15[单选题]阅读下列代码
  public class Test2005{
  public static void main(String args[]){
  System.out.println(~(0xa5) &0xaa);
  其运行结果是
  A.0xa5 B.10 C.0x50 D.0xaa
  参考答案:B
  16[单选题] 下列关于Java对import语句规定的叙述中,错误的是(  )。
  A.在Java程序中import语句可以有多个
  B.在Java程序中import语句可以没有
  C.在Java程序中import语句必须有一个
  D.在Java程序中import语句必须引入在所有类定义之前
  参考答案:C
  参考解析:Java程序中使用import关键字导入一个包中的类。在一个Java源程序中,可以有0个或多个im&port语句,但是必须在所有类定义之前引入标准类。因此,本题中选项C的说法是错误的。
  17[单选题] 可以使当前同级线程重新获得运行机会的方法是(  )。
  A.Sleep() B.join()C.yield()D.interrupt()
  参考答案:C
  参考解析:本题考查线程的基本控制。Thread类提供的基本线程控制方法包括:sleep()&&使比其低的优先级线程运行,可以让一个线程暂停运行一段固定的时间;yield()&&使具有与当前线程相同优先级的线程有运行的机会;join()&&使当前线&程暂停执行,等待调用该方法的线程结束后,再恢复执行;interrupt()&&中断线程的阻塞状态,并且线程接收到InterruptException异常。根据上述介绍可知,只有yield()方法可以使当前同级线程重新获得运行机会。因此,本题的正确答案是C。
  18[单选题] 当使用SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是(  )。
  A.SomeThread类是包含run()方法的任意Java类
  B.SomeThread类一定要实现Runnable接口
  C.SomeThread类是Thread类的子类
  D.SomeThread类是Thread类的子类并且要实现Runnable接口
  参考答案:C
  参考解析:由SomeThread t=new SomeThread()可知此题是通过继承Thread类来创建线程的。
更多计算机二级相关试题分享:
下页更精彩:1
本文已影响人
2017年计算机二级考试Java练习题及答案相关推荐
[2017年计算机二级考试Java练习题及答案]网友评论
<div class="ds-thread" data-thread-key="261226" data-title="2017年计算机二级考试Java练习题及答案" data-image="">1.编译java程序的命令是[B];运行java;A.java;B.javac;C.serialver;D.javadoc;E.policytool;F.jar;2.在一个java原文件中,import,cla;A.importclasspackage;B.classimportpackage;C.packageclassimport;D.importpac
1. 编译java程序的命令是[B] ;运行java程序的命令是[A] ;产生java文挡的命令是[D] ;产生类型归档文件.jar的命令是[F] 。
C. serialver
D. javadoc
E. policytool
2. 在一个java原文件中,import, class, package语句的顺序是[F] 。
A. import class package
B. class import package
C. package class import
D. import package class
E. class package import
F. package import class
3. 下面叙述正确的有[CDE] 。
A. 在一个java原文件中只能定义一个class
B. 在一个java原文件中只能定义一个interface
C. 在一个java原文件中可以定义多个class
D. 在一个java原文件中可以定义多个interface
E. 在一个java原文件中可以定义多个class和interface
F. 在一个java原文件中只能定义public class
G. java原文件的前缀一定是所包含类型的名字
4. java程序中程序运行入口方法main的签名正确的有[AB] 。
A. public static void main(String args[])
B. static public void main(String[] args)
C. public void static main(String[] args)
D. public void main(String args[])
5. java程序中程序入口方法main的参数代表命令行输入参数,命令行参数从[A] 开始。
6. 以下属于正确的java注释有[ACD] 。
A. //This is comment
B. /*This is comment
C. /**This is comment*/
D. /*This is comment*/
7. 以下能作为class, interface, method或variable有效标识符的有[ADF] 。
B. boolean
E. my name
F. $this_is_a_long_variable_name
8. 以下不是java关键字的有[CD] 。
9. 以下能作为char类型的字面值的有[BD] 。
B. &#39;f&#39;
C. &#39;\u12&#39;
D. &#39;\u0012&#39;
10. byte变量的取值范围是[B] 。
A. 0 - 65535
B. -128 C 127
C. -256 C 255
D. 0 - 32767
11. 以下正确的有[AC] 。
A. int i = 32;
B. float f = 45.32;
C. double d=3.2;
12. 以下返回true的表达式有[AC] 。
A. &george& == &george&
B. &george& = &george&
C. &george&#39;.equals(new String(&george&))
D. &george& == new String(&george&)
13. 根据以下程序选择正确答案[C] :
public class Test{
static int total = 10;
public static void main(String args []) {
new Test();
public Test (){
System.out.println(&In test&);
System.out.println(this);
int temp = this.
if (temp & 5) {
System.out.println(temp);
A. 编译出错
B. 运行时有异常
C. 编译运行都正确
14. 下面集合定义正确的有[BD] 。
A. String strs[] = { &#39;a&#39; &#39;b&#39; &#39;c&#39;};
B. String[] strs = {&a&, &b&, &c&};
C. String[] strs = new String{&a& &b& &c&};
D. String strs[] = new String[]{&a&, &b&, &c&};
E. String[] strs = new String[3]{&a&, &b&, &c&};
15. 以下switch表达语句正确的有[AC] 。
A. public void switchTest(char c){switch(c){?}}
B. public void switchTest(long c){switch(c){?}}
C. public void switchTest(byte c){switch(c){?}}
D. public void switchTest(double c){switch(c){?}}
16. 在面向对象编程中,一个类型由[CDF] 组成。面向对象的特性包括[GIJ]
限制由严格到宽松依次是[EHBA] 。
B. protected
C. identifier
E. private
F. operations
G. inheritance
H. default(no modifier)
I. encapsulation
J. polymorphism
17. 以下方法声明正确的有[AD] 。
A. public static synchronized void writeLog(String msg) java中访问权限的。在
B. synchronized public static writeLog(String msg)
C. public final abstract void writeLog(String msg)
D. final public void writeLog(String msg)
E. abstract synchronized void writeLog(String msg)
18. Java方法的参数传递对于基本数据类型如int, byte等,参数传递是[C] ;对自定义数据类型,参数传递是[A] 。
A. by reference
B. by pointer
C. by value
D. by address
19. 如下程序:
public class ArugmentTest{
static class IntA{
public IntA(int a){ this.a = }
public int getA() { }
public void setA(int a){ this.a = }
static public void change(int a){
static public void change(IntA a){
a.setA(3);
static public void changeRef(IntA a){
a = new IntA(9);
public static void main(String[] args){
int a = 2;
change(a);
System.out.print(a);
IntA ia = new IntA(5);
change(ia);
System.out.print(ia.getA());
ChangeRef(ia);
System.out.println(ia.getA());
在控制台上输出的是[A] 。
20. 方法重载(overloading)必须满足[BCE] 。
A. 在不同class中定义的方法
B. 在同一类型中定义的方法
C. 方法名必须相同
D. 返回类型必须相同
E. 参数一定不同
F. 参数可以相同
21. 对于构造方法(constructor)描述正确的有[AC] 。
A. 构造方法没有返回类型
B. 构造方法一定是public的方法
C. 如果我们没有显示定义构造方法,系统会提供一个缺省的
D. 构造方法不能重载
22. 在java语法中允许[B] 继承, [A] 方法不能被继承,[CD] 被继承,显示调用父类型的构造方法是通过调用[E] 来完成的。
A. constructor
C. methods
23. 以下对于方法覆盖(overriding)的说法正确的有[BCDGH] 。
A. 方法覆盖发生在同一类中
B. 方法的覆盖发生在子类型中
C. 方法名一定要一样
D. 参数一定要一样
E. 返回类型可以不一样
F. 访问权限只能一样
G. 如有异常,子类型中抛出的异常与父类型中的一致或是其子类型
H. 静态方法可以被静态方法覆盖
24. 请看以下程序:
class Vehicle {
public void drive() {
System.out.println(&Vehicle: drive&);
class Car extends Vehicle {
public void drive() {
System.out.println(&Car: drive&);
包含各类专业文献、各类资格考试、幼儿教育、小学教育、生活休闲娱乐、中学教育、高等教育、JAVA基础部分测试题及答案12等内容。 
 java基础50道经典练习题及答案_IT/计算机_专业资料。如果您初学java,那么这50道...先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for ...  2_面向对象基础测试题和答案_计算机软件及应用_IT/计算机_专业资料。共 40 道...给定如下 Java 程序代码, 在___横线处加入 ( A) 语句, 可以使这段代码编译...  Java基础试题及其答案_IT认证_资格考试/认证_教育专区。Java基础试题及其答案 Java 试题 1) java 程序中,main 方法的格式正确的是()。 (选择一项) a)static ...  Java基础笔试机试测试题(带答案)_IT认证_资格考试/认证_教育专区。Java基础笔试机试测试题(带答案) Java 基础考试题班级:___ 姓名:___ 日期:___ 一、笔试...  Java基础知识笔试题及答案_计算机软件及应用_IT/计算机_专业资料。Java基础知识...()); //测试字符串数组 String[ ] words ={“able”,”word”,”excel”...  Java基础测试题(答案)_从业资格考试_资格考试/认证_教育专区。Java基础 1. ( 1. D ) 有以下程序片段,下列哪个选项不能插入到行 1 。 2.public class ...  Java基础试题及其答案_IT认证_资格考试/认证_教育专区。Java 试题一 单项选择 1) 在 Java 中,在包 com.db 下定义一个类,要让包 com.util 下的所有类都可以...  《Java 基础入门》习题答案第1章 Java 开发入门一、填空题 1、 Java EE、Java SE、Java ME 2、 JRE 3、 javac 4、 bin 5、 path、classpath 二、选择题...  java基础内测试题(含答案)_IT认证_资格考试/认证_教育专区。Java 基础内测试卷 考试时间:100 分钟 考试类型:机试 考试语言:java 考试环境:myEclipse 程序题 1、...本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 java编程练习 的文章

 

随机推荐