Java中一些小程序和练习题

Java中一些小程序和练习题
Java中一些小程序和练习题

下面列出的是一些简单的java程序,一些也在vb中遇见过的,现在用java编辑来完成下面题目的要求

定义一个J9类,打印九九乘法表。

public class Cfb{

public static void main(String[] agrs){

int i,j,s;

for(i=1;i<=9;i++)

{for(j=1;j<=i;j++)

{s=i*j;

System.out.print(i + "*" + j + "=" + s + " ");

}

System.out.println(" ");

}

}

}

编写一个类Prime,打印300到500之间的所有素数。

public class Ss {

public static void main(String args[])

{int sum=0,i,j,n=0;

for(i=1;i<=10;i++)

{if(i%2==0)

continue;

sum=sum+i;}

System.out.println("sum="+sum);

for(j=200;j<=500;j++)

{for(i=2;i<=j/2;i++)

{if(j%i==0) break;}

if(i>j/2)

{System.out.print(""+j+" ");

n++;

if(n%5==0)

{System.out.println();}

}

}

}

}

设计一个Java程序,判断一个年份是否是闰年。若是闰年,则打印“是”,否则打印“否”。

public class Ly{

public static void main(String[] args){

int year=Integer.parseInt(args[0]);

if((year%4==0&&year%100!==0)||(year%400==0))

System.out.println(year+”年是闰年”);

else

System.out.println(year+”年不是闰年”);

}

}

设int n;设计一个Java程序,打印1+3+5+……n之和。若n是奇数,则累加到n。若n是偶数,则累加到n-1。变量n的初始值在程序中指定。

public class Calculate{

public static void main(String[] args){

int i=1;

int num=0;

int n=Integer.parseInt(args[0]);

while(i<=n){

num=num+i;

i+=2;

}

System.out.println("1+3+5+...+"+n+"="+num);

}

}

设int n;设计一个Java程序,打印出1*2*3*……*n之积。变量n的初始值在程序中指定。

public class SumX {

public static void main(String[] agrs){

int i,s=1;

int n=Integer.parseInt(args[0]);

for(i=1;i<=n;i=i+1)

s=s*i;

System.out.println("1*2*3*......*"+n+"="+s);

}

}

设计一个Java程序,打印出前100个质数。

public class Zs {

public static void main(String[] args) {

int count = 1;

int i, j;

for (i = 2;; i++) {

if(count==101)

return;

for (j = 2; j <= i / 2; j++) {

if (i % j == 0)

break;

else

count++; }

System.out.println("第"+(count-1)+"个质数: " + i);

}

}

}

设计一个Java程序,输出所有的水仙花数。所谓水仙花数,是一个3位数,其各位数字的立方和等于该数自身,如:153=13+53+33。

public class Sxh

{public static void main(String[]args)

{int i,a,b,c;

for(i=100;i<1000;i++)

{a=i/100;

b=i/10%10;

c=i%10;

if(i==a*a*a+b*b*b+c*c*c)

System.out.println(" "+i);

}

}

}

设int n;设计一个Java程序,将n的值反序打印。如:n=1234,则打印出:4321。变量n的初始值在程序中指定。

public class FZ

{static int reverse(int n,int v)

{return n==0?v:reverse(n/10,v*10+n%10);

}

public static void main(String[]args)

{int n;

n=Integer.parseInt(args[0]);

System.out.println("result="+reverse(n,0));

}

}

设int n;设计一个Java程序,计算1!+2!+……n!。变量n的初始值在程序中指定。

public class Jc{

public static void main(String[] agrs){

int n=Integer.parseInt(args[0]);

long num=0;

int s=1;

for(int i=1;i<=n;i++){

s*=i;

num+=s;

}

System.out.println("1!+2!+3!+......+"+n+"!="+num);

}

}

一个4位数的9倍是该4位数的反序数。如:4位数1089的9倍是9801。9801是1089的反序数。设计一个Java程序,打印出所有具有这种特征的4位数。

public class Fxs{

public int f(int x)

{ if(x <1000 || x>=10000)

{ return -1; }

int a=x/1000;

int b=x/100%10;

int c=x%100/10;

int d=x%10;

return d*1000+c*100+b*10+a; }

public static void main(String[]args)

{

Two_17 a = new Two_17();

for(int i=1000;i<10000;i++)

{

if(i*9==a.f(i))

System.out.println(i+ "\t");

}

}

}

定义如下的一个int类型的aa二维数组每一行列数不相同

1 3 4 5 9

5 8 6

7 9

1 5 3

并用循环语句按行打印这二维数组aa,请编写一个类名为Test程序

Package org.arrays;

public class Test {

public static void main(String[] args)

{

int aa[][]={{1,3,4,5,9},{5,8,6},{7,9},{1,5,3}};

int i,j;

for(i=0;i<4;i++){

for (j=0;j

{

System.out.print(aa[i][j]+" ");

}

System.out.println();

}

}

}

定义一个Point类它的对象是指一个平面上的点(x,y),在定义Point类中要定义它的三个构造函数,并且要重写toString()方法。定义二点距离的方法distance(…),并在main()主程序中调用这些方法,例如Point t=new Point(3.0,5.0); System.out.println(t.toString().); 打印的结果为:[3.0,5.0]。

Point t1=new Point(3.0,7.0);System.out.println(distance(t,t1)); 打印的结果t 和t1二点距离为:2

public class Point {

private double x,y;

private String s;

public Point(double x,double y){

this.x=x;

}

public static double distance(Point p1,Point p2){

return Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)));

}

public String toString(){

this.s=”["+x+","+y+")";

return s;

public static void main(String[]args){

Point p1=new Point(0,0);

Point p2=new Point(3,4);

System.out.println(“点A:”+p1.toString());

System.out.println(“点B:”+p2.toString());

System.out.print("两点的距离是"+distance(p1,p2));

}

}

定义一个Student类它的成员变量有xm(姓名),xh(学号),xb(性别),三门课的成绩yw(语文),xs(数学),yy(英语),还有三门课的zf(总分)和pjf(平均分),定义构造方法Student(String xm,String xh,String xb,int yw,int sx,int yy)还定义求总分方法public int qzf()和求平均分方法public double qpjf(),并且重写toString()方法即打印学生对象所有信息。在main()方法中构造三个学生对象s1,s2,s3然后打印这三个学生对象的所有信息。

package reView4;

public class Student {

private String s;

private String xh;

private String xm;

private String xb;

private int yw;

private int yy;

private int sx;

private int zf;

private double pjf;

public Student(String xh,String xm,String xb)

{

this.xh=xh;

this.xb=xb;

this.yw=(int) Math.floor(50*Math.random()) + 51;

this.yy=(int) Math.floor(50*Math.random()) + 51;

this.sx=(int) Math.floor(50*Math.random()) + 51;

sum();qpjf();

}

public int sum()

{

this.zf=yw+yy+sx;

return(zf);

}

public double qpjf()

{

this.pjf=zf/3;

return(pjf);

}

public static void main(String[] args)

{

System.out.println("学号姓名性别语文英语数学总分平均分");

Student s1=new Student("001","张三","男");

System.out.println(s1);

Student s2=new Student("002","李四","女");

System.out.println(s2);

Student s3=new Student("003","王五","男");

System.out.println(s3);

}

public String toString()

{

this.s=this.xh+" "+this.xm+" "+this.xb+" "+this.yw

+" "+this.yy+" "+this.sx+" "+this.zf+" "+this.pjf;

return s;

}

}

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

JAVA类与对象及数组习题及复习资料

JA V A类和对象及数组习题 一、选择题 (1)下列构造方法的调用方式中,正确的是( D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。 A.按照一般方法调用B.由用户直接调用 C.只能通过new自动调用D.被系统调用 (2)在Java中,能实现多重继承效果的方式是( C )--原因:一个类可以同时实现多个接口。Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。 A.内部类B.适配器C.接口D.同步 (3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。Java源文件中的public类只能有一个。 A. 声明变量时必须指定一个类型 B. Java认为变量number与Number相同 C. Java中唯一的注释方式是"//" D. 源文件中public类可以有0或多个 (5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。所以可以认为子类是父类的扩展。

50道JAVA基础编程练习题

50道JAVA基础编程练习题 【程序18】 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 import java.util.ArrayList; public class Lx18 { String a,b,c; public static void main(String[] args) { String[] op = { "x", "y", "z" }; ArrayList arrayList=new ArrayList(); for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) for (int k = 0; k < 3; k++) { L x18 a=new Lx18(op[i],op[j],op[k]); if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x") &&!a.c.equals("x")&&!a.c.equals("z")){ arrayList.add(a); } } for(Object a:arrayList){ System.out.println(a); } } public Lx18(String a, String b, String c) { super(); this.a = a; this.b = b; this.c = c; } @Override public String toString() { // TODO Auto-generated method stub return"a的对手是"+a+","+"b的对手是"+b+","+"c的对手是"+c+"\n"; } } 【程序26】 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。 import java.util.Scanner;

《JAVA语言程序设计》期末考试试题及答案(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char

JAVA基础-第3章类与对象-练习题-200910

第3章类与对象 一.选择题 1.下列不属于面向对象编程的特性是(D)。 A.封装性 B. 继承性 C. 多态性 D. 编译执行 2.下列类的声明中不合法的是(C)。 A. class People{…} B. class 植物{…} C. Class A{…} D. public class 共有类{… 3.下列方法的声明中不合法的是(C)。 A. float area(){…} B. void area(){…} C. double area(d){…} D. int area(int r){…} 4. 下列构造方法(构造器)的调用中正确的是(C)。 A. 按照一般的方法调用 B. 由用户直接调用 C. 只能通过new自动调用 D. 被系统调用 5.下列程序运行的结果是(A)。 class Book{ int width; int length; } public class A{ static void f(Book p){ p.width=20; p.length=40; } public static void main(String args[]){ Book b=new Book(); b.width=10; b.length=20; f(b); System.out.print(" "+b.width); System.out.print(" "+b.length); } } A. 20 40 B. 10 40 C. 10 20 D. 以上都不对 6.下列程序运行的结果是(D)。 public class A{ static void f(int y){ y=y+10; } public static void main(String args[]){ double x=10; f(x); System.out.println(x); } }

《Java程序设计》练习题

《Java程序设计》练习题一 一、单项选择题 1、下列是继承Thread类后得到的子类,请选择正确的一项。(C ) A、class A4 extends Thread B、class A4 implements Thread { { void run( ) public void run( ) { { //….. //….. } } } } C、class A4 extends Thread D、class A4 extends Thread { { public void run( ) run( ) { { //…//… } } } } 2、下列关于Unicode-亨符的说法中,不正确的一项是(C )。 A、Unicode字符集比ASII字符集丰富 B、Unicode字符是16位无符号数 C、字符常量’a’以八进制数表示为’\142’ D、字符常量’a’以八进制数表示为’\14l’ 3、在Java语言中,那一个是最基本的元素?(C ) A、方法 B、包 C、对象 D、接口 4、while循环和do……while循环的区别是:(C ) A、没有区别,这两个结构任何情况下效果一样 B、while循环比do……while循环执行效率高 C、while循环是先循环后判断,所以循环体至少被执行一次 D、do……while循环是先循环后判断,所以循环体至少被执行一次 5、下列说法中,错误的一项是(A)。 A、MouseAdapter是鼠标运动适配器 B、WindowAdapter是窗口适配器

C、ContainerAdapter是容器适配器 D、KeyAdapter是键盘适配器 6、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的(C )方法来完成主类实例的初始化工作。 A、start( ) B、stop( ) C、init( ) D、paint( ) 7、下列哪一项不是Applet的生命周期方法?(B ) A、start() B、getCodeBase() C、destroy() D、init() 8、Frame的默认的布局管理器是下列哪一个(D ) A、FlowLayout B、CardLayout C、GridLayout D、BorderLayout 9、下列说法中,正确的一项是(C )。 A、双精度数强制转换成单精度数后,其数值精度会提高 B、Java语言中的布尔变量可以和整型变量相互强制转换 C、强制转换是将存储长度长的数据转换为长度短的数据 D、强制转换是将存储长度短的数据转换为长度长的数据 10、下列代码的执行结果为:(A ) public class Test { public static void main(String[] args) { System.out.println(5/2); } } A、2 B、2.0 C、.50 D、2.5 11、使用方法(D )来启动线程。 A、sleep方法 B、interrupt方法 C、run方法 D、start方法 12、如果在关闭Socket时发生一个I/O错误,会抛出(A ) A、IOException B、UnknowHostException C、SocketException D、MalFormedURLExcepton 13、下列描述中,哪一项不属于finally语句应陔执行的功能(C )? A、释放资源 B、关闭文件 C、分配资源 D、关闭数据库 14、哪个布局管理器使用的是组件的最佳尺寸(B ) A、FlowLayout B、GridLayout

JAVA类与对象及数组习题及答案

JAV A类和对象及数组习题 一、选择题 (1)下列构造方法的调用方式中,正确的是(D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。 A.按照一般方法调用B.由用户直接调用 C.只能通过new自动调用D.被系统调用 (2)在Java中,能实现多重继承效果的方式是(C )--原因:一个类可以同时实现多个接口。Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。 A.内部类B.适配器C.接口D.同步 (3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。Java源文件中的public类只能有一个。 A. 声明变量时必须指定一个类型 B. Java认为变量number与Number相同 C. Java中唯一的注释方式是"//" D. 源文件中public类可以有0或多个 (5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。所以可以认为子类是父类的扩展。

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

Java面向对象习题

选择题 1、下列关于变量的叙述哪个是错的?() A. 实例变量是类的成员变量。 B. 在方法中定义的局部变量在该方法被执行时创建。 C. 实例变量用关键字static声明。 D. 局部变量在使用前必须被初始化。 2、在Java语言中,下列哪个包是编译器自动导入的?() A. java.applet B. https://www.360docs.net/doc/eb14925478.html,ng C. java.io D. java.awt 3、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为()。 A. private B. protected C.friendly D.public 4、下面哪个关键字不是用来控制对类成员的访问的?() A. public B. protected C. default D. private 5、下面哪一个特性不是面向对象编程主要体现的()。 A. 封装性 B. 继承 C. 多态 D. 类 6、不允许作为类及类成员的访问控制符的是()。 A. public B. private C. static D. protected 7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为()。 A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 8、可以在下面代码段point x处写入的是?() //point x public class Interesting{ //do something } A. String str; B. static int PI=3.14; C. public class MyClass{//do other thing…} D. import java.awt.*; 9、下列关于变量的叙述哪个是错的?() A、实例变量是类的成员变量。 B、在方法中定义的局部变量在该方法被执行时创建。 C、实例变量用关键字static声明。 D、局部变量在使用前必须被初始化。 10、下列哪个类声明是正确的?() A、abstract final class HI{} B、abstract private move(){} C、protected private number; D、public abstract class Car{}

JAVA程序设计练习测试题及参考答案

第一部分 《Java 程序设计》练习测试 [说明]:要求所有答案务必写在答题纸的相应题号位置上,否则不予评分。 一、单选择题(共10分,每小题2分) 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展 名为()。 A .class B .html C .java D .exe 2、设int x = 1 , y = 2 , z = 3; 则表达式y+=z- -/++x 的值是() 。 A 3 B 3. 5 C 4 D 5 3、在Java Applet 程序用户自定义的Applet子类中,一般需要重载父类的()方法 来完成一些画图操作。 A start( ) B stop( ) C in it( ) D pai nt() 4、不允许作为类及类成员的访问控制符的是()。 A public B static C private D protected 5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为 前缀就可以调用它,该方法头的形式为()。 A final void method( ); B public void method(); C static void method( ); D abstract void method(); 二、填空题(共20分,每空格1分) 1、开发与运行Java程序需要经过的三个主要步骤为_(1)_、_⑵—和。 2、如果一个Java Applet 源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是一⑷一类的子类并且存储该源程序文件的文件名为一⑸一。 3、如果一个Java Applet 程序文件中定义有4个类,则使用Sun公司的JDK编译器一⑹ 编译该源程序文件将产生」7)_个文件名与类名相同而扩展名为―⑻― 的字节码文件。 4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用_⑼ 字节内存空间,这样,无论是中文字符还是英文字符,都是占用_(10)_ 字节内存空间。 5、设int y = 5; 则表达式(y++ )/6 的值是_(11)_ 。 6、若int x = 5,y = 10; 则x= y 的逻辑值分别为_(12) ______ 和_(13)_ 。 7、_(14)_方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽 象类之中定义。_(15)_ 方法是不能被当前类的子类重新定义的方法。 8、创建一个名为MyPackage的包的语句是_(16)_,该语句应该放在程序的位置为:_(17)_ 9、设有数组定义:int a[ ] = { 20 ,30 ,40 ,50 , 60 , 70 , 80,90,100,110,120,130}; 则执行以下几个语句后的输出结果是—(18)—。 int s =0; for( int i =0; i < a.len gth ; i ++) if( i%4==0) s +=a[i]; System.out.pri ntl n( s); 10、在Java程序中,通过类的定义只能实现_(19)_ 重继承,但通过接口的定义可以实 现_(20)_重继承关系。

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

java程序练习题

练习: 1.为类设计一个静态方法,实现检查输入字符串是否为”回文”.的功能 Boolean IsPalindrome(String poem) 2.用随机数对象产生0---1000范围内的不同整数,用以初始化一个M*N的二维数组(M*N<100),然后编程找出二维数组中的最大数和最小数,并将其交换位置。要求输出原始二维数组及交换后的二维数组。 3.设计一个类,并为其添加一个带有一个参数的构造函数,同时封装一个方法。当连续调用该方法时,依次产生下列元素输出 第一次调用输出:5 7 4 8 9 1 第二次调用输出:1 5 7 4 8 9 第三次调用输出:9 1 5 7 4 8 第四次调用输出:8 9 1 5 7 4 第五次调用输出:4 8 9 1 5 7 第六次调用输出:7 4 8 9 1 5 第一次调用输出:5 7 4 8 9 1 4.输入出租车公里数,输出应付的车费数: 收费标准如下:3000米以下为8元,每超过500米增加1.2元,不足500米按500米计算。 5.竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米。 6.输入一个英文字符串,统计出其中各字符出现的次数,并以下列样式输出: a=?,b=?,c=?,d=?,e=? f=?,g=?,h=?,i=?,j=? …… 7.写一个实例方法,要求输入一个整数m ,并输出1---m之间满足下列条件的所有整数:这个数+1 是一个完全平方数,他的一半+1也是一个完全平方数。 8.设计一个类Complex,用于封装对复数的下列操作: 8.1.一个带参数的构造函数,用于初始化复数成员 8.2.一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。 8.3. 实现两个复数的加法,减法的静态方法和实例方法。 8.4.以复数的标准形式:x+iy输出此复数 8.5. 写两个函数,分别获得复数的实部getReal(),getImage()和虚部。 9.写一个静态函数,返回给定整数n的所有因子 10.输入一个十六进制字符串,写一函数,将其转换为对应的十进制数。 11.设计一个只能创建一个唯一实例的类。 12.设计一个类,该类用于表示现代中国的一个典型家庭:father,mother,child. 并为其添加一个无参的构造函数和带三个参数的构造函数以及三个读写属性和 一个get(int member )方法,当member=FATHER时,返回 父亲的姓名;member=MOTHER时,返回母亲的姓名;member=CHILD时,返回 孩子的姓名;FATHER,MOTHER,CHILD 为常数。 13.巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序, 根据输入的北京时间输出相应的巴黎和纽约时间。 14.写一函数,实现用某一字符c 去填充字符串的左部,使其长度为恰好为L PadLeft(String s,int L,char c),同理,实现PadRight((String s,int L,char c) 用字符c 填充串s 的右部,使其长度恰好为L. 15. 写一方法,用于删除字符串中所有空格(不仅仅是两端的空格),并返回没有空格的字

JAVA类与对象的创建

试验四 类和对象的创建 一.类的定义 类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类用来定义对象的模板。 类的实现包括两部分:类声明和类体。基本格式为: 修饰符class类名[extends父类名]{ /*类体的内容*/ } 1.类声明 以下是一个类声明的例子。 class People成为类声明,People是类名。习惯上,类名的第一个字母大写,但这不是必须的。类的名字不能是Java中的关键字,要符合标识符规定,即类的名字可以由字母、下划线、数字或美元符号组成,并且第一个字母不能是数字。但给类命名时,最好遵守下列规则: (1)如果类名使用拉丁字母,那么名字的首写字母使用大写字母,如Hello、Time、People等。 (2)类名最好容易识别,当类名由几个“单词”复合而成时,每个单词的首写字母使用大写,如BeijingTi me、AmericanGame、HelloChina等。 2.类体 编写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括号“{”、“}”以及它们之间的内容称为类体,大括号之间的内容称为类体的内容。 类体的内容由两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。 下面是一个类名为“Trapezia”的类,类体内容的变量定义部分定义了4个float类型变量:top、bottom、h igh和laderArea,方法定义部分定义了两个方法:“getArea”和“setHigh”。

二.对象 1.对象的创建 创建一个对象包括对象的声明和为对象分配内存两个步骤。 (1)对象的声明。 一般格式为: 类的名字对象名字; 如: 这里People是类的名字,zhubajie是我们声明的对象的名字。 (2)为声明的对象分配内存。 使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(你一定还记得构造方法的名字必须和类名相同这一规定),如: 例1: 「注」如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。 2.对象的使用 对象不仅可以改变自己变量的状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。 通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。 例2:

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

JAVA面向对象编程上机 练习题汇总

【练习题】类的成员变量: 猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A 类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。 【练习题】类的成员变量: 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等 方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。 【练习题】类的成员变量与方法、构造方法 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。 为MyTime类定义构造方法,以方便创建对象时初始化成员变量。 再定义diaplay方法,用于将时间信息打印出来。 为MyTime类添加以下方法: addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 【练习题】构造方法 编写Java程序,模拟简单的计算器。 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象,调用各个方法,并显示计算结果。 【练习题】构造方法: 编写Java程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。

50道JAVA基础编程练习题(包含答案)

50道JAVA基础编程练习题 Java学习笔记2010-03-19 17:45:01 阅读1117 评论6 字号:大中小订阅 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 做了【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 做了【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加), 几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的

Java实例对象概念图解

Java编程面向对象——类与对象的关系 面向对象是一种组件化的设计思想,OOA、OOD、OOP 类与对象是整个面向对象之中最为基础的组成单元,如果需要给划出定义:类就是共性的集合,而对象是某一个性的产物;所有类实际上是用来描述一个对象的结构。 类是通过对象来使用的,而对象是通过类来创建的。 类与对象的基本定义: 在程序中,定义类,可以使用“class 类名称{}”的语法结构完成。 而类之中的组成主要有两点: * Field (属性、成员、变量),就是一推变量的集合 * Method (方法、行为),此时的方法是由对象调用的。 这个类中定义了两个属性和一个方法(可以定义更多属性和方法) *类虽然存在,但是类的使用,必须有对象; 对象的定义格式: 声明并实例化对象: 类名称对象名称 = new 类名称(); 分步完成: 声明对象:类名称对象名称 = null; 实例化对象:对象名称 = new 类名称(); 引用数据类型: 引用数据类型最大的不同在于需要内存的开辟及使用,所以关键字new 的主要功能就是开辟内存空间; 即:只要引用数据类型想使用,就必须使用关键字new 来开辟空间。 当一个对象实例化之后就可以使用以下方式利用对象来操作类的结构: 对象.属性:表示要操作类中属性内容 对象.方法():表示要调用类中的方法内容

内存概念: 堆内存:保存每一个对象的属性内容,堆内存需要用关键字 new 才可以开辟; 栈内存:保存的是一块堆内存的地址。简单的理解,栈内存保存的是对象的名字; 编程中的栈内存和堆内存的操作过程: 引用数据的初步分析: 引用是整个 Java 开发中的核心精髓所在,即:只有掌握了“引用”这一概念之后,才能加入下一步学习,类似C/C++ 中的指针概念。 在所有的引用分析里面,最关键的还是在于关键字 “new ”,每一次使用关键字new ,都会开辟新的堆内存空间,如果你的代码里面声明两个对象,并且使用了关键字new 为两个对象分别实例化操作,那么一定是各自占有各自(独立)的堆内存空间

JAVA面向对象编程测试题

Java 面向对象 一、单选: (1)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序是Java 执行器 (B) A )Javac.exe B )java.exe C)jdb.exe D )javah.exe E)javadoc.exe (E) (2)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序能生成Java 参考文档 A )Java.exe B )javac.exe C)appletviewer.exe D)javah.exe E)javadoc.exe (3)下列数据类型不属于整型的是 (E) A )byte 类型 B )short 类型 C)int 类型 D )long 类型 E)float 类型 (4 )精确保存一个值为“53.21458961”需要用什么数据类型 ( D) A )int 类型 B )long 类型 C)String 类型 D )double 类型 E)以上都可以 (5)循环语句for(int i=0。i<4。i++){}循环的次数为 (D) A )无限次 B )不确定 C)1 次 D )3 次 E)4 次 (6)若i、j 为已定义的整型,下面程序段中循环体执行的次数为 (B) for(i=0。i<5。i++){ for(j=0。j<=i。j++){ } } A )不确定 B )5 次 C)15 次 D )25 次 E)无限次 (7)执行下列程序段后,j 的值变为 (E) int i=1。 int j=10。 do{ j-=i。 i++。 }while(j--<0)。 A )9 B)10 C)-1 D)-2 E)8 (8)执行下列程序段后,y 的值变为 (E) int x,y。 for(y=1,x=1。y<=50。y++){ if(x>=10){

相关文档
最新文档