Java程序练习100题
(完整版)java练习题(含答案)
1.编写程序,用数组实现乘法小九九的存储和输出。
【提示:采用多个一维数组。
】public class Multipation {public static void main(String[] args) {// TODO Auto-generated method stubint x[][]=new int[9][9];for(int i=0;i<9;i++){for(int j=0;j<9;j++){if(i>=j){int m=i+1;int n=j+1;x[i][j]=m*n;System.out.print(m+"*"+n+"="+x[i][j]);}}System.out.println();}}}2. 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。
SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。
public class Student {/***@param args*/private int ID;private String name;private float score;public void SetRecord(int ID,String name,float score){this.ID=ID;=name;this.score=score;}public float getRecord(int ID){if(ID==this.ID)return this.score;elsereturn -1;}public static void main(String[] args) {// TODO Auto-generated method stubStudent s=new Student();s.SetRecord(0,"alex",100);float Sco=s.getRecord(0);System.out.print(Sco);}}3.给出上题中设计类的构造函数,要求初始化一条记录(学号、姓名、成绩)。
java试题库及答案
java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。
垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。
10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。
(完整word版)java100道选择题含答案
1. 下列不可作为java语言标识符的是(D)A) a1 B) $1 C) _1 D) 112. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)A) a1.java B) a1.class C) a1 D) 都对3. 整型数据类型中,需要内存空间最少的是(D)A) short B) long C) int D) byte4. Java 类可以作为(C)A) 类型定义机制B) 数据封装机制C) 类型定义机制和数据封装机制D) 上述都不对5. 在创建对象时必须(C)A) 先声明对象,然后才能使用对象B) 先声明对象,为对象分配内存空间,然后才能使用对象C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D) 上述说法都对6. 在调用方法时,若要使方法改变实参的值,可以(B)A) 用基本数据类型作为参数B) 用对象作为参数C) A和B都对D) A和B都不对7. Java中(C)A) 一个子类可以有多个父类,一个父类也可以有多个子类B) 一个子类可以有多个父类,但一个父类只可以有一个子类C) 一个子类可以有一个父类,但一个父类可以有多个子类D) 上述说法都不对8. Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B)A) 安全性B) 多线性C) 跨平台D) 可移植9. Character流与Byte流的区别是(C)A) 每次读入的字节数不同B) 前者带有缓冲,后者没有C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用10. 以下声明合法的是( D )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )11. 关于以下application的说明,正确的是( C )1.class StaticStuff2.{3.static int x=10;4.static { x+=5;}5.public static void main(String args[ ])6.{7.System.out.println(“x=”+ x);8.}9.static { x/=3;}10. }A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=312. 关于以下程序代码的说明正确的是( D )1.class HasStatic{2.private static int x=100;3.public static void main(String args[ ]){4.HasStatic hs1=new HasStatic( );5.hs1.x++;6.HasStatic hs2=new HasStatic( );7.hs2.x++;8.hs1=new HasStatic( );9.hs1.x++;10.HasStatic.x- -;11.System.out.println(“x=”+x);12.}13.}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10213. 以下选项中循环结构合法的是( C )A、while (int i<7){ i++;System.out.println(“i is “+i);}B、int j=3;while(j){ System.out.println(“ j is “+j);}C、int j=0;for(int k=0; j + k !=10; j++,k++){ System.out.prin tln(“ j is “+ j + “k is”+ k);}D、int j=0;do{System.out.println( “j is “+j++);if (j = = 3) {continue loop;}}while (j<10);14. 类Test1定义如下:1.public class Test1{2.public float aMethod(float a,float b){ } 3.4.}将以下哪种方法插入行3是不合法的。
Java试题(附答案)
Java试题(附答案)⼀、单选题(每道⼩题只有⼀个正确的选项)1、Java程序中要⽤变量来存储学⽣性别信息,从节约内存空间的⾓度最好选择哪种数据类型( D )A)int B)short C)byte D)boolean2、Java语⾔中基本的数据类型不包括( C ):A)整型B)浮点型C)数组D)逻辑型3、Java程序中⽤来定义常量必须⽤到的关键字是(A)A)final B)class C)void D)static4、下列属于Java语⾔中字符常量的是( B )A)”m”B)‘!’C)a D)$5、⼀个简单的Java程序可能没有⽤到的关键字是(C )A)void B)public C)int D)static6、下列关于Java程序中数组的使⽤说法正确的是(A)A)数组必须在使⽤前定义B)同⼀个数组中的元素类型必须不同C)数组是⼀种特殊的变量不需在使⽤前声明D)数组的元素不可以是数组7、程序设计语⾔的发展主要经历了三个阶段,其中不包括(A)A)数学语⾔B)机器语⾔C)汇编语⾔D)⾼级语⾔8、关于程序设计语⾔下列说法错误的是( C )A)Java、C++、VB等都是当前⼴泛使⽤的⾼级程序设计语⾔。
B)⼀项任务可以使⽤多种语⾔来实现,使⽤前需要综合考虑选择合适的语⾔。
C)因特⽹的应⽤开发必须使⽤Java语⾔来实现。
D)Java是⼀种完全⾯向对象的⾼级语⾔,在因特⽹的应⽤开发中⼴泛应⽤。
9、经过编译后的Java程序的扩展名是( B )A).java B).class C).exe D).bat10、关于Java源程序的说法错误的是( C )A)⽂件名必须和主类名⼀致B)使⽤“javac”对java程序进⾏编译C)java程序的编译运⾏须借助辅助软件D)java源程序的扩展名为.java11、若已定义x和y是double型变量,则表达式x=1,y=x+3/2执⾏后y的值为( D )A)1 B)2 C)3 D)2.512、Java语⾔中整型常量有三种形式即⼋进制整数、⼗进制整数和⼗六进制整数。
java基础编程练习题
Java基础编程练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 编写一个Java程序,判断一个整数是奇数还是偶数。
5. 编写一个Java程序,交换两个变量的值。
二、控制结构1. 使用ifelse语句判断一个年份是否为闰年。
2. 编写一个Java程序,使用for循环输出1到100的所有偶数。
3. 使用while循环计算1+2+3++100的和。
4. 编写一个Java程序,使用dowhile循环输出1到10的所有整数。
5. 使用switch语句实现一个简单的计算器程序,支持加、减、乘、除四种运算。
三、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。
2. 编写一个Java程序,计算数组中所有元素的和。
3. 实现一个方法,用于查找数组中的最大值。
4. 编写一个Java程序,将一个字符串数组按照字母顺序排序。
5. 使用二维数组输出一个5x5的乘法表。
四、字符串操作1. 编写一个Java程序,连接两个字符串。
2. 实现一个方法,判断一个字符串是否为回文。
3. 编写一个Java程序,将字符串中的所有小写字母转换为大写字母。
4. 使用StringBuilder类实现字符串的逆序输出。
5. 编写一个Java程序,计算一个字符串中某个字符出现的次数。
五、面向对象基础1. 创建一个名为Person的类,包含姓名、年龄和性别属性,并提供相应的构造方法和getter/setter方法。
2. 编写一个Java程序,实现两个Person对象的比较(按年龄比较)。
3. 创建一个Student类,继承自Person类,并添加成绩属性。
4. 编写一个Java程序,实现Student类的多态。
5. 创建一个接口Animal,包含吃、睡觉和叫三个方法,然后创建两个类Dog和Cat实现该接口。
JAVA编程题全集(100题及答案)
Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。
// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。
");elseSystem.out.println(year+" 年不是闰年。
");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。
java程序设计练习题
《java程序设计》1.填空题(1)Java程序编译成(class )文件(2)Java程序在(JVM )上执行(3)Java程序的执行方式是(半编译和半解释型)执行的(4)在Java程序中,创建对象的操作是(new )(5)在Java语言中,指明一个类从父类派生的关键字是(extends )(6)线程是进程中的一个执行(单元)(7)在Java语言中,指代父类的关键字是(super )(8)表明一个变量是数组的符号是([] )(9)在Java程序中,用关键字(import )引入其它文件中的类(10)在Java程序中定义包的关键字为(package )2.简答题(1)简述Java语言的特点。
答:Java语言的特点有以下几点:1.简单性。
2.面向对象。
3.平台无关性。
4.可移植性。
5.解释性。
6.离性能。
7.动态性。
8.可靠性和安全性。
9.多线程。
10.分布式处理。
(2)简述面向对象程序设计的三大基本特点。
(3)答:封装性:封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。
封装隐藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。
继承性:一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加新的方法或者对被继承类中的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提高了程序代码的可重用性,Java中一个子类只能继承一个父类,Object类是所有类的最终父类。
多态性:多态性是指不同的对象对同一事物而做出的相同行为,一个类A可以指向其自身类和其导出类,一个接口可以指向其接口实现类,在方法参数中,使用多态可以提高参数的灵活性。
(4)解释Java程序跨平台的原理。
答:ava源码--->JVM虚拟机编译---->.class文件--->各个平台的Java虚拟机加载执行.class文件Java程序实际是在Java虚拟机(JRE是软件实现)中运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件,可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class 文件,也就是Java程序的跨平台性。
Java练习题
【练习题】01、类得成员变量:猜数字游戏:一个类A有一个成员变量v,有一个初值100。
定义一个类,对A类得成员变量v进行猜。
如果大了则提示大了,小了则提示小了。
等于则提示猜测成功。
【练习题】02、类得成员变量:请定义一个交通工具(Vehicle)得类,其中有: 属性:速度(speed),体积(size)等等方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等、最后在测试类Vehicle中得main()中实例化一个交通工具对象,并通过方法给它初始化speed,size得值,并且通过打印出来。
另外,调用加速,减速得方法对速度进行改变。
【练习题】03、类得成员变量与方法、构造方法在程序中,经常要对时间进行操作,但就是并没有时间类型得数据。
那么,我们可以自己实现一个时间类,来满足程序中得需要。
定义名为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)分别对时、分、秒进行加减运算。
【练习题】04、构造方法编写Java程序,模拟简单得计算器。
定义名为Number得类,其中有两个整型数据成员n1与n2,应声明为私有。
编写构造方法,赋予n1与n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除得运算。
JAVA程序设计练习测试题及参考答案
第一部分《Java程序设计》练习测试[说明]:要求所有答案务必写在答题纸的相应题号位置上,否则不予评分。
一、单选择题(共10分,每小题2分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A .classB .htmlC .javaD .exe2、设int x = 1 , y = 2 , z = 3;则表达式y+=z- -/++x 的值是( )。
A 3 B3. 5C 4 D 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。
A start( )B stop( )C init( )D paint( )4、不允许作为类及类成员的访问控制符的是( )。
A publicB staticC privateD protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
Afinal void method( ); B public void method( );C static void method( ); Dabstract void method( );二、填空题(共20分,每空格1分)1、开发与运行Java程序需要经过的三个主要步骤为⑴、⑵和⑶。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是⑷类的子类并且存储该源程序文件的文件名为⑸。
3、如果一个Java Applet程序文件中定义有4个类,则使用Sun公司的JDK编译器⑹编译该源程序文件将产生⑺个文件名与类名相同而扩展名为⑻的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用⑼字节内存空间,这样,无论是中文字符还是英文字符,都是占用⑽字节内存空间。
Java练习题库(含答案及解析)100题
Java练习题库(含答案)一、Java语法基础(1-18)1、在Java中,负责对字节码解释执行的是()。
答案:BA、垃圾回收器B、虚拟机C、编译器D、多线程机制2、下列描述中,正确的是()答案:AA、Java程序的main方法必须写在类里面。
B、Java程序中可以有多个main方法。
C、Java程序中类名必须与文件名一样。
(public修饰的才有这要求)D、Java程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来。
3、下列描述中,正确的是()答案:AA、Java中的标识符是区分大小写的B、源文件名与public类名可以不相同C、Java源文件扩展名为.jarD、Java源文件中public类的数目不限4、下列关于Java中变量命名规范的描述中,正确的是( ) 答案:BA、变量由字母、下划线、数字、$符号随意组成。
(数字不能开头)B、变量不能以数字开头。
C、A和a在java中是同一个变量。
D、不同类型的变量,可以起相同的名字。
5、以下选项中,不是Java合法标识符的是( ) 答案:CA、 VOIDB、 x3xC、 finalD、 abc$def6、在Java中定义一个类时,所使用的关键字是()。
答案:AA、classB、publicC、structD、class 或struct7、下列关于运算符优先级别排序正确的是()答案:AA、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;8、表达式(15+3*8)/4%3的值是( )答案:AA、 0B、 1C、 2D、 399、已知字符A对应的ASCII码值是65,那么表达式"A" + 1的值是()答案:CA.、66 B、B C、A1 D、非法表达式,编译出错10、下列关于boolean类型的叙述中,正确的是()答案:DA、可以将boolean类型的数值转换为int类型的数值B、可以将boolean类型的数值转换为字符串C、可以将boolean类型的数值转换为char类型的数值D、不能将boolean类型的数值转换为其他基本数据类型11、下面关于for循环的描述正确的是( ) 答案:AA、 for循环体语句中,可以包含多条语句,但要用大括号括起来。
java基础50道经典练习题及答案
JAVA基础编程练习题【程序1】古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?【程序2】判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是【程序3】打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
【程序4】将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
【程序5】利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B 表示,60分以下的用C表示。
【程序6】输入两个正整数m和n,求其最大公约数和最小公倍数。
【程序8】求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
【程序9】一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000【程序10】一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次【程序11】有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
Java基础编程练习题(含答案)
JAVA基础编程练习题【程序1】/*机选双色球:{"01", "02", "03", "04","05","06","07","08","09","10",~33} {false,true,false,false....}*/import java.util.*;class Demo07{public static void main(String[] args){String[] redBalls = getBalls();System.out.println(Arrays.toString(redBalls));}/*定义方法返回值类型:String[]参数:无*/public static String[] getBalls(){String[] pool = {"01", "02", "03", "04","05","06","07","08","09","10","11", "12", "13", "14","15","16","17","18","19","20","21", "22", "23", "24","25","26","27","28","29","30","31", "32", "33"};boolean[] flags = new boolean[33]; String[] balls = new String[7]; Random r = new Random();int i = 0;for(;;){int index = r.nextInt(pool.length);if(!flags[index]){//flags == falseballs[i] = pool[index];i++;flags[index] = true;}if(i==6){break;}}int blueIndex = r.nextInt(16);balls[6] = pool[blueIndex]; System.out.println(balls[6]);//对数组的排序Arrays.sort(balls,0,5);return balls;}}【程序2】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?【程序3】题目:判断101-200之间有多少个素数,并输出所有素数。
(完整版)java经典选择题100例及答案
1.使用Java语言编写的源程序保存时的文件扩展名是()。
(A).class (B).java (C).cpp (D).txt2.设int a=-2,则表达式a>>>3的值为()。
(A)0 (B)3 (C)8 (D)-13.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。
(A)a[0]; (B)a[a.length-1];(C)a[3]; (D)int i=1;a[i];4.在类的定义中可以有两个同名函数,这种现象称为函数()。
(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。
(A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量6.下面关键字中,哪一个不是用于异常处理语句()。
(A)try (B)break(C)catch (D)finally7.类与对象的关系是()。
(A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。
(A)$persons (B)twoNum(C)_myVar (D)*point9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
(A)static void method( )(B)public void method( )(C)final void method( )(D)abstract void method( )10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的()。
(A)ArrayList myList=new Object( )(B)List myList=new ArrayList( )(C)ArrayList myList=new List( )(D)List myList=new List( )11.Java源文件和编译后的文件扩展名分别为()(A) .class和.java(B).java和.class(C).class和.class(D) .java和.java12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。
JAVA100试题1
JA V A试题(100道)——————————————————————————————————————题目1:下面不属于基本类型的是:c (选择1项)A) booleanB) longC) StringD) byte题目2:d如下程序中:(1)public class CharToInt(2){(3)public static void main(String[] args)(4){(5)int a,b=10;(6)char c='语';(7)a=b+c;(8)System.out.println("结果是:"+a);(9)}(10)}下面的说法中正确的是:(选择1项)A) 程序运行到第6行会出现编译错误,因为c为char类型,不能把一个汉字赋给一个字符型。
B) 程序运行到第7行会出现编译错误,因为字符型与整型不能进行加法运算。
C) 程序能够正常编译和运行,但是不会输出任何结果。
D) 程序将字符型转换为unicode编码并和b的数值相加的和输出。
题目3:下面的说法中,错误的是:d(选择1项)A) 在Java中标志符可以是字母、下划线、数字或$符号。
B) 在Java中布尔类型不能和数字之间不能来回转换,即false和true不对应任何零或非零的值。
C) 双精度类型double比单精度类型float具有更高的精度和更大的表示范围,但float类型具有速度快、占用内存小的优点。
D) 在Java中布尔值可以用true或false来表示,但是同时也可以用1或0来表示。
题目5:b程序如下:class Test{public static void main(String[] args){int i=1000;for(;;){if(i>999){_______________}}}}下面对程序的横线处填写不同语句的分析正确的是:(选择一项)A) 填充break 使程序能够有退出循环的可能性。
java编程练习题及答案
java编程练习题及答案Java编程练习题及答案一、选择题1. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A2. 下列哪个是Java中的合法标识符?A. 2variableB. forC. variable2D. class答案:C3. 在Java中,哪个方法用于获取当前对象的引用?A. this()B. super()C. clone()D. new()答案:A4. 以下哪个是Java的访问修饰符?A. publicB. staticC. finalD. abstract答案:A5. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. enum答案:B二、简答题1. 请简述Java中的继承是如何工作的?答案:Java中的继承允许一个类(子类)继承另一个类(父类)的属性和方法。
子类可以扩展或修改父类的行为,实现代码复用。
继承是面向对象编程的核心概念之一。
2. 请解释Java中接口和抽象类的区别?答案:接口定义了一组方法规范,但不提供实现。
任何实现接口的类都必须提供接口中所有方法的具体实现。
抽象类可以包含抽象方法和具体方法,并且可以有成员变量。
抽象类可以作为其他类的基类,但不能被实例化。
三、编程题1. 编写一个Java程序,实现一个简单的计算器,可以进行加、减、乘、除运算。
```javaimport java.util.Scanner;public class SimpleCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字: ");double num1 = scanner.nextDouble();System.out.print("请选择运算符(+, -, *, /): "); char operator = scanner.next().charAt(0);System.out.print("请输入第二个数字: ");double num2 = scanner.nextDouble();double result = 0;switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {System.out.println("除数不能为0"); }break;default:System.out.println("无效的运算符");}if (result != 0) {System.out.println("结果是: " + result);}scanner.close();}}```2. 编写一个Java程序,实现一个简单的学生管理系统,可以添加学生信息、显示所有学生信息。
JAVA编程题全集(经典数学题及答案)
Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String[] args) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。
// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。
");elseSystem.out.println(year+" 年不是闰年。
");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。
java每章经典练习题
java每章经典练习题Java是一种面向对象的编程语言,具有良好的可移植性和跨平台性,被广泛应用于软件开发和网络编程。
对于学习Java的人来说,经典的练习题可以帮助他们巩固所学的知识并提升编程能力。
本文将为大家介绍一些Java每章经典练习题,以供学习者参考。
1. 第一章练习题1.1 编写一个程序,输出"Hello, World!"。
1.2 编写一个程序,计算1到100之间所有偶数的和。
1.3 编写一个程序,将一个字符串反转。
2. 第二章练习题2.1 编写一个程序,输入两个整数,输出它们的和。
2.2 编写一个程序,输入一个字符串,统计其中的字母个数。
2.3 编写一个程序,实现两个字符串的比较。
3. 第三章练习题3.1 编写一个程序,输入一个数字n,输出n的阶乘。
3.2 编写一个程序,输入一个数字n,输出n以内的所有质数。
3.3 编写一个程序,实现两个整数数组的合并。
4. 第四章练习题4.1 编写一个程序,输入一个字符串,判断其是否为回文字符串。
4.2 编写一个程序,输入一个字符串,统计其中的单词个数。
4.3 编写一个程序,实现二维数组的转置。
5. 第五章练习题5.1 编写一个程序,输入一个正整数,输出其二进制表示。
5.2 编写一个程序,输入一个字符串,将其中的每个单词首字母大写。
5.3 编写一个程序,实现矩阵的乘法。
通过完成以上练习题,学习者可以逐渐掌握Java编程的基本知识和技巧。
同时,在实践中解决问题,培养了解决实际编程难题的思维能力。
在编写程序时,学习者需要注意代码的简洁性和可读性,合理利用面向对象的思想,提高代码的重用性和可维护性。
总结:本文介绍了一些Java每章经典练习题,涵盖了从基本的输出到复杂的矩阵运算等多个知识点。
通过完成这些练习题,学习者可以巩固所学的知识,提高编程能力,为日后的Java开发和应用奠定基础。
希望本文能够对Java学习者有所帮助。
Java程序练习100题
上机练习题练习1(4)1.取两个小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数最后,求这两个数的和并将结果输出。
要求这些输出结果仅保留小数点后4位(不需四捨五入)。
import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void init( ){Label out1=new Label(" ");Label out2=new Label(" ");double x,y;add(out1);add(out2);x=Math.random( )*1000;y=Math.random( )*1000;if(x<10&y<10) { x*=50; y*=50; }out1.setText(""+x+"+"+y+" 约等于 ");out2.setText(""+(int)((x+y)*10000)/10000.0);}}2.取一个小于10000的正随机整数,并输出该数的平方根。
要求这些输出结果在四捨五入后保留小数点后4位。
import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void paint(Graphics g){int k;k=(int)(Math.random( )*1000);g.drawString(""+k+" 的平方根约等于 "+(int)((Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);}}3.取一个50~200之间的正随机整数,如果该数为奇数则求它的平方根并转换成float型数后再输出;如果该数为偶数则求它的平方并输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机练习题练习1(4)1.取两个小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数最后,求这两个数的和并将结果输出。
要求这些输出结果仅保留小数点后4位(不需四捨五入)。
import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void init( ){Label out1=new Label(" ");Label out2=new Label(" ");double x,y;add(out1);add(out2);x=Math.random( )*1000;y=Math.random( )*1000;if(x<10&y<10) { x*=50; y*=50; }out1.setText(""+x+"+"+y+" 约等于 ");out2.setText(""+(int)((x+y)*10000)/10000.0);}}2.取一个小于10000的正随机整数,并输出该数的平方根。
要求这些输出结果在四捨五入后保留小数点后4位。
import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void paint(Graphics g){int k;k=(int)(Math.random( )*1000);g.drawString(""+k+" 的平方根约等于 "+(int)((Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);}}3.取一个50~200之间的正随机整数,如果该数为奇数则求它的平方根并转换成float型数后再输出;如果该数为偶数则求它的平方并输出。
import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void paint(Graphics g){int k;k=50+(int)(Math.random( )*150);if(k%2!=0)g.drawString(""+k+" 的平方根约等于 "+(float)Math.sqrt(k),20,20);elseg.drawString(""+k+" 的平方等于 "+k*k,20,20);}}4.取一个小于800的正随机整数,将其以如下形式输出:所取随机数为:***它的百位数字为:*它的十位数字为:*它的个位数字为:*//import java.io.*;public class Class1{public static void main (String[] args){int x=(int)(Math.random( )*800);System.out.println("所取随机数为:"+x);System.out.println("它的百位数字为:"+x/100);System.out.println("它的十位数字为:"+x%100/10);System.out.println("它的个位数字为:"+x%10);//try{ System.in.read( ); }catch(IOException e){ } }}练习2(5)掌握:(1)数组的定义、创建和初始化。
(2)方法的定义和调用。
(3)方法的参数是数组、方法的返回值是数组的编程。
(4)方法的递归调用。
(5)在应用程序中,接受并处理命令行参数。
1.请编写一个Applet,其中定义了两个double类型数组a和b,还定义了一个方法square( )。
数组a各元素的初值依次为1.2、2.3、3.4、4.5、5.6,数组b各元素的初值依次为9.8、8.7、7.6、6.5、5.4、4.3;方法square( )的参数为double类型的数组,返回值为float类型的数组,功能是将参数各元素的平方做为返回数组的元素的值。
请在方法paint()中分别以a和b为实在参数调用方法square( ),并将返回值输出在屏幕上。
要求调用square( a )的返回数组输出在Applet的一行上,数组的第一个元素的输出坐标为(20,20),其后的每个元素间隔40个像素。
调用square( b )的返回数组输出在Applet的一列上,即下标为i+1(i=0,1,2,3,......)的元素的值,在下标为i的元素的值的正下方,其返回数组的第一个元素的输出坐标为(20,40),行隔为20像素。
@程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet{double a[ ]={1.2,2.3,3.4,4.5,5.6};double[ ] b={9.8,8.7,7.6,6.5,5.4,4.3};public void paint(Graphics g){float[ ] x=new float[a.length];float[ ] y=new float[b.length];x=square(a);y=square(b);for(int i=0; i<x.length;i++)g.drawString(""+x[i],20+i*40,20);for(int i=0; i<y.length;i++)g.drawString(""+y[i],20,40+i*20);}float[ ] square(double x[ ]){float[ ] y=new float[x.length];for(int i=0; i< x.length; i++)y[i]=(float)(x[i]*x[i]);return y;}}2. 请编写一个Application实现如下功能:在主类中定义两个double类型数组a和b,再定义一个方法sqrt_sum( )。
数组a各元素的初值依次为1.2、2.3、3.4、4.5、5.6,数组b各元素的初值依次为9.8、8.7、7.6、6.5、5.4、4.3;方法sqrt_sum ( )的参数为double类型的数组,返回值类型为float型,功能是求参数各元素的平方根之和。
请在主方法main()中分别以a和b为实在参数调用方法sqrt_sum ( ),并将返回值输出在屏幕上。
@程序//import java.io.*;public class Class1{static double a[ ]={1.2,2.3,3.4,4.5,5.6};static double b[ ]={9.8,8.7,7.6,6.5,5.4,4.3};public static void main (String[] args){System.out.println("数组a各元素的平方根之和为:"+sqrt_sum(a));System.out.println("数组b各元素的平方根之和为:"+sqrt_sum(b));//try{ char c=(char)System.in.read( );}catch(IOException e){ } }static float sqrt_sum(double[ ] x){double y=0.0;for(int i=0; i<x.length; i++)y+=Math.sqrt(x[i]);return (float)y;}}3. 请编写一个Application实现如下功能:在主类中定义方法f1(int n) 和方法f2(int n),它们的功能均为求 n!,方法f1( ) 用循环实现,方法f2( )用递归实现。
在主方法main( ) 中,以4为实在参数分别调用方法f1( ) 和方法f2( ),并输出调用结果。
@程序//import java.io.*;public class Class1{public static void main (String[] args){System.out.println("用循环实现求 n! 的结果(n=4):"+f1(4));System.out.println("用递归实现求 n! 的结果(n=4):"+f2(4));//try{ char c=(char)System.in.read( );}catch(IOException e){ }}static long f1(int n){long k=1;for(int i=1;i<=n;i++)k*=i;return k;}static long f2(int n){if(n==1) return 1;else return n*f2(n-1);}}4. 请编写一个Application实现如下功能:接受命令行中给出的三个参数x1、x2和op,其中x1和x2为float型数,op是某个算数运算符(+、—、*、/ 之一),请以如下形式输出 x1 和x2执行 op 运算后的结果(假设x1的值为269,x2的值为18,op为运算符—):269 – 18=251@程序public class Class1{public static void main (String[] args){float x,y;char op;if(args.length >= 3){x=Float.valueOf(args[0]).floatValue( );y=Float.valueOf(args[1]).floatValue( );op=args[2].charAt(0);switch(op){case '+': System.out.println(x+"+"+y+"="+(x+y)); break;case '-': System.out.println(x+"-"+y+"="+(x-y)); break;case '*': System.out.println(x+"*"+y+"="+(x*y)); break;case '/': System.out.println(x+"/"+y+"="+(x/y)); break;default : System.out.println("非法运算符!");}}else { System.out.println("命令行参数错!"); System.exit(-1); } }}5. 编写Application,主类中包含以下两个自定义方法: void printA( int[ ] array )和int[] myArray(int n)。