java编程习题
- 格式:doc
- 大小:47.50 KB
- 文档页数:9
java考试编程题库及答案Java考试编程题库及答案1. 基础语法题- 题目:编写一个Java程序,实现两个整数的加法运算,并打印结果。
- 答案:```javapublic class Addition {public static void main(String[] args) {int num1 = 5;int num2 = 10;int sum = num1 + num2;System.out.println("The sum is: " + sum);}}```2. 控制结构题- 题目:编写一个Java程序,判断一个整数是否为素数,并打印结果。
- 答案:```javapublic class PrimeCheck {public static void main(String[] args) {int number = 29;if (isPrime(number)) {System.out.println(number + " is a primenumber.");} else {System.out.println(number + " is not a prime number.");}}public static boolean isPrime(int n) {if (n <= 1) return false;for (int i = 2; i <= Math.sqrt(n); i++) {if (n % i == 0) return false;}return true;}}```3. 数组与循环题- 题目:编写一个Java程序,打印数组中所有元素的平方。
- 答案:```javapublic class SquareElements {public static void main(String[] args) {int[] numbers = {1, 2, 3, 4, 5};for (int i = 0; i < numbers.length; i++) {int square = numbers[i] * numbers[i];System.out.println("Square of " + numbers[i] + " is " + square);}}}4. 面向对象题- 题目:定义一个名为`Car`的类,包含属性`color`和`speed`,以及一个方法`increaseSpeed(int increment)`来增加速度。
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,求其最大公约数与最小公倍数。
【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字与其它字符的个数。
【程序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基础50道经典练习题及答案Java基础50道经典练习题及答案Java作为一门广泛应用于软件开发领域的编程语言,其基础知识的掌握对于程序员来说至关重要。
为了帮助大家更好地理解和掌握Java的基础知识,下面将介绍50道经典的Java练习题及其答案。
1. 编写一个Java程序,打印输出"Hello, World!"。
```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并打印输出1到100之间所有偶数的和。
```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}System.out.println("Sum of even numbers: " + sum);}}```3. 编写一个Java程序,判断一个整数是否为素数。
```javapublic class PrimeNumber {public static void main(String[] args) {int number = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(number); i++) {if (number % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(number + " is a prime number.");} else {System.out.println(number + " is not a prime number."); }}```4. 编写一个Java程序,将一个字符串反转并输出。
java编程练习题及答案【篇一:java基础编程练习题(50题及答案)2017】class=txt>【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题public class lianxi01 {public static void main(string[] args) {system.out.println(第1个月的兔子对数: 1);system.out.println(第2个月的兔子对数: 1);int f1 = 1, f2 = 1, f, m=24;for(int i=3; i=m; i++) {f = f2;f2 = f1 + f2;f1 = f;system.out.println(第 + i +个月的兔子对数: +f2);}}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
public class lianxi02 {public static void main(string[] args) {int count = 0;for(int i=101; i200; i+=2) {boolean b = false;for(int j=2; j=math.sqrt(i); j++){if(i % j == 0) { b = false; break; }else{ b = true; }}if(b == true) {count ++;system.out.println(i );}}system.out.println( 素数个数是: + count);}}【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。
专题1初识Java一、填空题1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是()、()、()。
2.环境变量的设置,若JDK安装在“D:JDK”,则应设置Path为()、classpath为()。
3.Java源文件的扩展名为(),用Javac编译Java源文件,得到的字节码文件的扩展名为()。
4.如果Java源文件中有多个类,那么只能有一个类是()类。
二、选择题1.作为Java应用程序入口的main方法,其声明格式是()A.publicstaticintmain(Stringargs[])B.publicstaticvoidmain(Stringargs[]) C.publicvoidmain(Stringargs[])D.publicintmain(Stringargs[])2.下面命令正确的是()A.javaAppFirst.javaB.javaAppFirstC.javaappfirst.classD.javacAppFirst3.设有一个Java小程序,源程序名为FirstApplet.java,其HTML文件为FirstApplet.html,则运行该小程序的命令为()A.javaFirstAppletB.javacFirstApplet.javaC.appletviewerFirstApplet.javaD.appletviewerFirstApplet.html4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的()文件夹下。
A.binB.jreC.includeD.doc5.Java语言是一种__语言。
A.机器B.汇编C.面向过程的D.面向对象的6、Java程序的最基本组成单位是__。
A.函数B.过程C.变量D.类三、简答题(十分重要)1.Java语言有哪些特点?2.JDK安装完成后,如何设置环境变量?4.简述Java应用程序的开发过程专题2标识符、表达式、数据类型一、填空题1.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面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。
2. 描述Java中的继承是如何工作的,并给出一个继承的例子。
3. 解释Java中的多态性,并给出一个多态性的例子。
三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。
2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。
3. 创建一个名为`VehicleTest`的类,它包含`main`方法。
在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。
四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。
Java编程篇1. 将一个十进制数(byte类型)转化二进制数,将二进制数前后颠倒,再算出颠倒后其对应的十进制数。
public class MyByte{private byte b;private int a[] = {0,0,0,0,0,0,0,0};public MyByte(byte b){this.b = b;}public void tenToSecond(){int i=0;do{a[i] = b%2;b = (byte) (b/2);i++;}while(b != 0);}public byte toTen(){int temp[] = {0,0,0,0,0,0,0,0},j=0;for(int i=7;i>=0;i--){temp[j]=a[i];j++;}for(int i=0;i<8;i++){b+=temp[i]*2;}return b;}public static void main(String[] args){MyByte mb = new MyByte((byte) 7);mb.tenToSecond();System.out.println("转化后的字符:"+mb.toTen());}}2.实现简易字符串压缩算法:一个长度最大为128的字符串,由字母a-z或者A-Z 组成,将其中连续出现2次以上(含2次)的字母转换为出现次数加字母,以达到压缩目的。
import java.util.*;public class ThreadTestA {void stringZip(char inputStr[], int len, char outputStr[]) { int k = 0;for (int i = 0; i < len; i++) {int j = i + 1, n = 1;while (j < len) { // 选取i的字符比较i后面的if (inputStr[i] != inputStr[j]) { //若i与j不等,i向后移一位if (n > 1) {outputStr[k++] = (n + "").charAt(0);//数字转化成对应的数字字符}outputStr[k++] = inputStr[i];break;} else { //若i与j相等,j向后移一位,再判断j++;n++;}i = j - 1;}if (j == len && n == 1)outputStr[k] = inputStr[i];if (j == len && n > 1) {outputStr[k++] = (n + "").charAt(0);outputStr[k] = inputStr[i];}}for (int j = 0; j <= k; j++) {System.out.print(outputStr[j]);}}public static void main(String[] agrs) {Scanner cin = new Scanner(System.in);String str;while (cin.hasNext()) {str = cin.next();ThreadTestA t = new ThreadTestA();int len = str.length();char outputStr[] = new char[len];t.stringZip(str.toCharArray(), len, outputStr);}}}3.用java写一个字符串匹配‚{‛,‚}‛。
Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)编写一个Java程序,用if-else语句判断某年份是否为闰年。
(1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);;public class Strinput{public static void main(String args[]) {String s1,s2,ss,si,sf;int i1,i2;float f1,f2;BufferedReader strin=new BufferedReader(new InputStreamReader); try{ ("输入第一个字符串:" );s1= ();("输入第二个字符串:" );s2= ();}catch(Exception e){ i1 = (s1);i2 = (s2);f1 = (s1);f2 = (s2);ss = strAdd(s1,s2);si = strAdd(i1,i2);sf = strAdd(f1,f2);("输入的二个字符串相加结果为:"+ss );("输入字符串转换为整数相加结果为:"+si );("输入字符串转换为浮点数相加结果为:"+sf );}String strAdd(String str1,String str2) {return str1+str2;}String strAdd(int int1,int int2) {return (int1+int2);}String strAdd(float flt1,float flt2) {return (flt1+flt2);}}6. 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。
一、Java基础语法1.1. 数据类型int a = 10;double b = 3.14;char c = 'A';boolean d = true;1.2. 变量声明与赋值声明一个整型变量并赋值为100。
声明一个字符串变量并赋值为"Hello, World!"。
声明一个布尔型变量并赋值为false。
1.3. 运算符计算 5 + 6 2 的结果。
计算 (10 / 3) 2 的结果。
将变量 a 的值增加 5。
1.4. 条件语句如果变量 a 大于 10,输出 "a is greater than 10"。
如果变量 b 小于 0,输出 "b is negative"。
如果变量 c 等于 'A',输出 "c is 'A'".1.5. 循环语句使用 for 循环输出 1 到 10 的所有整数。
使用 while 循环输出 1 到 5 的所有整数。
使用 dowhile 循环输出 1 到 3 的所有整数。
二、面向对象编程2.1. 类与对象定义一个名为 Person 的类,包含 name 和 age 两个属性。
创建一个 Person 对象,并设置其 name 为 "John" 和 age 为25。
2.2. 构造方法修改 Person 类,添加一个构造方法,接收 name 和 age 作为参数。
创建一个 Person 对象,并使用构造方法设置其属性。
2.3. 方法在 Person 类中添加一个方法,用于输出对象的 name 和 age。
创建一个 Person 对象,并调用其方法输出信息。
2.4. 继承定义一个名为 Student 类,继承自 Person 类。
在 Student 类中添加一个属性:score。
创建一个 Student 对象,并设置其 name、age 和 score。
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,基础编程练习题:1、编写程序实现对给定的4个整数从大到小的顺序排列。
packagehomework01;importjava.util.scanner;publicclasshomework01{staticintnumber=4;//输入4个数存放在数组中staticint[]t1=newint[number];publicstaticvoidmain(string[]args){homework01jiejie=newhomework01();jiejie.shunxun();}voidshunxun(){systeout.println("恳请输出4个数:");scannerin_t1=newscanner(systein);//循环输入数组for(inti=0;it1[i]=in_t1.nextint();}for(inti=0;i<t1.length;i++){intpos=i;for(in tj=i+1;j<t1.length;j++){if(t1[pos]>t1[j])pos=j;}if(pos!=i){t1[i]=t1[i]+t1[pos] ;t1[pos]=t1[i]-t1[pos];t1[i]=t1[i]-t1[pos];}}for(inti=t1.length-1;i>=0;i--)systeout.print(t1[i]+"\t");}}2、编写程序谋一元二次方程的木。
packagehomework02;importjava.util.scanner;publicclasshomework02//△=b^2-4ac的值,若△大于0,一元二次方程无根.若△等同于0,一元二次方程存有两个成正比的木.若△大于0,一元二次方程存有两个不成正比的实数根{publicstaticvoidmain(string[]args){scannersc=newscanner(systein);systeout.pri ntln("输出2次方的系数");inta=sc.nextint();systeout.println("输出1次方的系数");intb=sc.nextint();systeout.println("输出0次方的系数");intc=sc.nextint();if((b*b-4*a*c)<0){//推论方程与否存有求解systeout.println("方程难解!");return;}else{systeout.println("方程存有求解!");}doublex1=(-b+math.sqrt(b*b-4*a*c))/2*a;doublex2=(-b-math.sqrt(b*b-4*a*c))/2*a;systeout.println("根分别就是"+x1+"\t"+x2);}}3、编写程序,输出一个字符,推论它与否为小写字母,如果就是,将它转换成大写字母,否则,不切换。
JAVA习题集(含答案)习题一:1.简述Java的发展过程。
2.什么是软件?3.什么叫做源程序?4.什么叫做编译?5.什么是Java 的byte-codes?它的最大好处是什么?6.机器语言程序、高级语言程序以及可表示成Java字节码的程序之间的区别是什么?7.Java程序可分为哪两种?分别如何运行?8.试简述J2SE、J2ME与J2EE的简单区别。
9.练习使用浏览器查看Java API文档。
10.SDK的编译命令是什么?11.试修改例1-1程序,使其输出的字符串为“I’d like to study Java !”,并在DOS命令行环境下编译与运行该程序。
习题一参考答案:1.答:1991:Sun Microsystems公司进军消费电子产品(IA)市场。
1991.4:Sun 成立“Green”小组,以C++为基础开发新的程序设计语言,并将其命名为Oak。
1992.10:Green小组升格为First Person公司,他们将Oak的技术转移到Web上,并把Oak改名为Java。
1993~1994:Web在Internet上开始流行,致使Java得以迅速发展并获得成功。
1995.5:Sun Microsystems公司正式发表Java与HotJava产品。
1995.10:Netscape与Sun Microsystems合作,在Netscape Nevigator中支持Java。
1995.12:微软(Microsoft)IE加入支持Java的行列。
1996.2:Java Beta测试版结束,Java 1.0版正式诞生。
1997.2:Java发展至1.1版。
Java的第一个开发包JDK(Java Development Kit)发布。
1999.7:Java升级至1.2版。
2000.9:Java升级至1.3版。
2001.7:Java升级至1.4版。
2.答:软件可以理解为程序的另一种名称。
3.答:直接使用高级语言书写的程序代码称为源程序4.答:把用高级语言编写的源程序翻译成可执行(目标)程序的过程称为编译。
java初级试题及答案一、选择题(每题2分,共10分)1. Java语言的创始人是:A. James GoslingB. Dennis RitchieC. Bjarne StroustrupD. Guido van Rossum答案:A2. 下列哪个选项不是Java语言的特性?A. 平台无关性B. 面向对象C. 编译型语言D. 多线程答案:C3. Java中,用于捕获异常的关键字是:A. tryB. catchC. throwD. finally答案:B4. 下列哪个关键字用于定义接口?A. classB. interfaceC. abstractD. final答案:B5. Java中,用于创建线程的构造方法是:A. run()B. start()C. main()D. execute()答案:B二、填空题(每题2分,共10分)1. Java程序的执行入口是________方法。
答案:main2. Java中,________关键字用于声明一个类。
答案:class3. 在Java中,________关键字用于实现多态。
答案:extends4. Java中,________关键字用于实现接口。
答案:implements5. Java中,________关键字用于声明一个方法。
答案:void三、简答题(每题5分,共20分)1. 请简述Java平台的三个主要组成部分。
答案:Java平台的三个主要组成部分是Java虚拟机(JVM)、Java API和Java语言。
2. 解释Java中的垃圾回收机制。
答案:Java中的垃圾回收机制是指自动回收不再被使用的对象所占用的内存,以避免内存泄漏。
3. 描述Java中集合框架的主要接口。
答案:Java中集合框架的主要接口包括List、Set和Map。
4. 请解释Java中的异常处理机制。
答案:Java中的异常处理机制包括try、catch、finally和throw 关键字,用于捕获和处理程序运行过程中出现的异常。
Java,基础编程练习题-Java,基础编程练习题:1、编写程序实现对给定的 4 个整数从大到小的顺序排列。
package HomeWork01;import java.util.Scanner;public class HomeWork01 {static int number=4; //输入4个数存放在数组中static int[] t1 = new int[number];public static void main(String[] args) {HomeWork01 jiejie=new HomeWork01();jiejie.shunxun();}void shunxun(){System.out.println(“请输入4个数:”);Scanner in_t1 = new Scanner(System.in);//循环输入数组for(int i=0;i t1[i]=in_t1.nextInt();}for (int i = 0; i int pos = i;for (int j = i + 1; j if (t1[pos] > t1[j]) pos = j;}if (pos != i) {t1[i] = t1[i] + t1[pos];t1[pos] = t1[i] - t1[pos];t1[i] = t1[i] - t1[pos];}}for (int i = t1.length - 1; i >= 0; i--)System.out.print(t1[i] + “\t”);}}2、编写程序求一元二次方程的根。
package HomeWork02;import java.util.Scanner;public class HomeWork02//△=b-4ac的值,若△小于0,一元二次方程无根.若△等于0,一元二次方程有两个相等的根.若△大于0,一元二次方程有两个不相等的实数根{public static void main(String [] args){Scanner sc = new Scanner(System.in);System.out.println(“输入2次方的系数”);int a = sc.nextInt();System.out.println(“输入1次方的系数”);int b = sc.nextInt();System.out.println(“输入0次方的系数”);int c = sc.nextInt();if((b*b - 4*a*c) System.out.println(“方程无解!”);return;}else{System.out.println(“方程有解!”);}double x1 = (-b + Math.sqrt(b*b - 4*a*c))/2*a;double x2 = (-b - Math.sqrt(b*b - 4*a*c))/2*a;System.out.println(“根分别是“ + x1 + “\t” + x2);}}3、编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大写字母,否则,不转换。
选择题1. 在Java编程中哪些是最基本的单元(1.0分)A.A. 对象B.B. 类C.C. 包D.D. 接口2. 要想使定义该类所在的包外的类不能访问这个类,你应该用什么关键字(1.0分)A.A. 不使用任何关键字B.B. privateC.C. finalD.D. protected3. 编译一个定义5个类和18个方法的Java源代码文件时会产生多少个字节码文件,并且扩展名是什么(1.0分)A.A. 23个字节码文件,扩展名为.classB.B. 一个字节码文件,扩展名为.classC.C. 5个字节码文件,扩展名为.javaD.D. 5个字节码文件,扩展名为.class4. 下面的代码片断执行后,有多少对象可以被垃圾堆收集:String s = “kanga”;s = “kanga”+”roo”;int*+ arr = ,1,4,9,25-; arr*3+ = 16; arr = new int*4+; s = null;(1.0分)A.A. 1B.B. 2C.C. 3D.D. 45. 编译并运行这段程序,请问结果是什么:class Example1 { public static void main(String[] args) , Example1 e = new Example(); e.test(5); - int test(int i) , System.out.println(“int”); Return 1; - void test(long i) , System.out.println(“long”); - -(1.0分)A.A. 程序无法编译,因为编译器不能区别给出的两个test()方法B.B. 程序可以编译运行,但是不会有任何信息显示在标准输出中C.C. 程序可以编译运行,在标准输出中会显示“int”D.D. 程序可以编译运行,在标准输出中会显示“long”6. 编译并运行这段程序,请问结果是什么:Class Over { public static void main(String[] args) , Under u = new Under(); u.test(); - int test() , System.out.println(“Over”); return 1; } } class Under extends Over , short test() , super.test(); System.out.println(“Under”); return 1; - -(1.0分)A.A. 代码无法编译B.B. 代码可以编译、运行,并在显示“Over”之后再显示“Under”C.C. 代码可以编译、运行,并在显示“Under”之后再显示“Over”D.D.代码可以编译、运行,但无任何结果显示7. 编译并运行下面的代码,请问结果是什么:class Ex { Ex(int i) { } public static void main(String[] args) { Fx f = new Fx(); } } class Fx extends Ex { }(1.0分)A.A.代码无法编译,因为类Ex没有定义一个不带参数的构造器B.B.代码无法编译,因为类Fx没有定义一个不带参数的构造器C.C.代码无法编译,因为在Ex(int i)构造器中没有代码D.D.代码能够成功编译并运行8. 编译并运行下面的代码,请问结果是什么:class Ex { public static void main(String[] args) { Fxf = new Fx(5); - Ex() , System.out.println(“Ex,no-args”); -Ex(int i) , System.out.println(“Ex,int”); - -class Fx extends Ex , Fx() , super(); System.out.println(“Fx,no-args”); -Fx(int i) , super(i);this(); System.out.println(“Fx,int()”); - -(1.0分)A.A. 在标准输出中显示消息“Ex,int”、“Fx,no-args”和“Fx,int”B.B. 在标准输出中显示消息“Ex,no-args”、“Ex,int”、“Fx,no-args”和“Fx,int”C.C. 代码无法编译,因为没有合法地定义Fx(int i)构造器D.D. 代码无法编译,因为没有合法地定义Fx()构造器9. 编译并运行下面的代码,请问结果是什么:class Ex { public static void main(String[] args) { Fxf = new Fx(5); - Ex() , System.out.println(“Ex,no-args”); -Ex(int i) , System.out.println(“Ex,int”); - -class Fx extends Ex , Fx() , super(); System.out.println(“Fx,no-args”); -Fx(int i) , this(); System.out.println(“Fx,int”); - -(1.0分)A.A. 在标准输出中显示消息“Ex,int”、“Fx,no-args”和“Fx,int”B.B. 在标准输出中显示消息“Ex,no-args”,“Fx,no-args”和“Fx,int”C.C. 代码无法编译,因为没有合法地定义Fx(int i)构造器D.D. 代码无法编译,因为没有合法地定义Fx()构造器10. 如果编译下面的代码会发生什么情况:Class MyString extends String { }(1.0分)A.A.代码成功编译B.B.代码不能编译,因为你没有定义一个main()方法C.C.代码不能编译,因为String是abstract类型的D.D.代码不能编译,因为String是final类型的11. 如果有下面的类定义:abstract class Shape { abstract void draw(); }请问在编译下面的类定义时会发生什么情况class Square extends Shape {}(1.0分)A.A.一切都可成功的编译B.B.Shape可以编译,而Square不能C.C.Square可以编译,而Shape不能D.D.Square和Shape都不能编译12. 有下面的类定义:class Bridge { Road road; } class Road { String name; }它表示(1.0分)A.A.是“is a” 关系B.B.是“has a”关系C.C.都是D.D.都不是13. 下面哪个说法正确:(1.0分)A.A.如果某公有接口被声明在一个源文件中,则接口不必与源文件具有相同的名字B.B.如果源文件包含import语句,则该语句必须是第一个非空行C.C.如果某源文件包含package语句,则该语句必须是第一个非空、非注释行D.D.如果某源文件包含main(),则它必须为第一个非空行14. 下面哪些为构造方法的特性定义(1.0分)A.A.在类中声明构造方法时,名称应该与类名相同B.B.具有重载特性,可以建立多个具有相同名称的构造方法C.C.使用类建立新对象时,会自动执行构造方法,因此在构造方法内设定实例变量的初值或进行内存分配D.D.以上都是15. 下面哪个不是Java的访问修饰符关键字(1.0分)A.A.privateB.B.friendC.C.protectedD.D.public16. 对语句protected void show(int x,int y){...},下面哪个语句是它在子类中的方法覆盖(1.0分)A.A.protected int show(int x,int y){...}B.B.protected void show(int x,int y,int z){...}C.C.public void show(int x,int y){...}D.D.void show(int x,int y),…-17. 下面关于继承的叙述哪个是正确的(1.0分)A.A.在Java中只允许单一继承B.B.在Java中一个类只能实现一个接口C.C.在Java中一个类不能同时继承一个类和实现一个接口D.D.接口中包含的方法既可以有实现,也可以没有实现18. 指出下面关于垃圾收集的叙述哪个是正确的(1.0分)A.A.程序开发者必须自己创建一个线程进行内存释放的工作B.B.垃圾收集将检查并释放不再使用的内存C.C.垃圾收集允许程序开发者明确指定并立即释放该内存D.D.垃圾收集能够在期望的时间释放被Java对象使用的内存19. 下面关于变量及其范围的陈述哪个是错误的(1.0分)A.A.实例变量是类的成员变量B.B.实例变量用关键字static声明C.C.在方法中定义的局部变量在该方法被执行时创建D.D.局部变量在使用前必须被初始化20. 根据下面给出的代码,判断哪个叙述是正确的:public class Person{static int[] arr=new int[10];public static void main(String[] args){System.out.println(arr[1]);}}(1.0分)A.A.编译时将发生错误B.B.编译时正确但是运行时出错C.C.输出为0D.D.输出为null21. 公共成员变量max_length是一个int型值,如果变量的值保持常数值100,要使用下面哪个声明语句来定义这个变量(1.0分)A.A.public int max_length=100;B.B.final int max_length=100;C.C.final public int max_length=100;D.D.public final int max_length=100;22. 已知类public class Parent{public int addValue(int a,int b){int s;s=a+b;return s;}}class Child extends Parent{ },请问下面哪个方法可以加入到Child类中:(1.0分)A.A.int addValue(int a,int b){...}B.B.public void addValue(int a,int b){...}C.C.public int addValue(int a){...}D.D.public int addValue(int a,int b) throws MyException{...}23. 继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码(1.0分)A.A.可读性好B.B.可重用C.C.可跨包访问D.D.运行更安全24. 下列选项中,与成员变量共同构成一个类的是(1.0分)A.A.关键字B.B.方法C.C.运算符D.D.表达式25. 下列说法正确的是:(1.0分)A.A.不需要定义类就能创建对象B.B.类中的属性可以是基本类型的变量也可以是对象C.C.类中的属性必须是基本类型的变量D.D.对象中必有属性和方法26. Java中一个类可以有几个父类(1.0分)A.A.任意B.B.1C.C.2D.D.427. 使用哪个关健字可以定义一个接口:(1.0分)A.A.implementsB.B.classC.C.extendsD.D.interface28. 接口中的方法默认的修饰符是什么:(1.0分)A.A.privateB.B.publicC.C.protectedD.D.default29. 接口中不应包含:(1.0分)A.A.常量声明B.B.常量赋值C.C.方法实现D.D.方法声明30. 构造方法什么时候被调用:(1.0分)A.A.类定义时B.B.使用对象的属性时C.C.使用对象的方法时D.D.对象被创建时31. 下面不是面向对象特点的是:(1.0分)A.A.模块化B.B.封装性C.C.继承性D.D.多态生32. 常量定义的修饰符为:(1.0分)A.A.finalB.B.finallyC.C.constD.D.define33. 下面不属于方法重载的特征是:(1.0分)A.A.参数个数的不同B.B.返回类型不同C.C.参数类型不同D.D.参数位置不同34. 在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用下面哪个关键字:(1.0分)A.A.superB.B.importC.C.thisD.D.return35. 类class Shape{float x;static int y;...}(1.0分)A.A.x称为类变量,y为实例变量B.B.x,y均为类变量C.C.x,y均为实例变量D.D.x为实例变量,y为类变量36. 下面不是构造方法特征的是:(1.0分)A.A.名字与类相同B.B.无返回类型C.C.是void型D.D.主要用来初始化成员变量37. 下面说法正确的是:(1.0分)A.A.实例方法能对类变量和实例变量进行操作B.B.实例方法只能对类变量进行操作C.C.实例方法只能对实例变量进行操作D.D.类方法能对类变量和实例变量进行操作38. 下列说法错误的是:(1.0分)A.A.一个类中的实例方法可以调用其它实例方法B.B.静态方法可以调用实例方法C.C.实例方法可以调用静态方法D.D.静态方法可以调用静态方法1. 下列哪个变量名是非法的(1.0分)A.A. countB.B. $countC.C. count27D.D. 67count2. 下面哪个不是Java的关键字(1.0分)A.A. integerB.B. doubleC.C. floatD.D. default3. 如果将字符串“one”、“two”、“three”连接起来,用如下哪种方式可以实现(1.0分)A.A. "one"."two"."three"B.B. "one","two","three"C.C. "one" "two" "three"D.D. "one"+"two"+"three"4. 下面哪个是有效的boolean值(1.0分)A.A. TrueB.B. 1C.C. trueD.D. t5. 将字符变量c设置为一个空格字符有哪两种方法(1.0分)A.A. c=" "和c=' 'B.B. c=" " 和c='\u0000'C.C. c=' '和c='\u0020'D.D. c=" "和c='\u0020'6. class Q3 { int instVar1 = 1; int instVar2; public static void main(String[] args) { int localVar = 3; Q3 q3 = new Q3(); System.out.println(q3.instVar1+q3.instVar2+localVar); } }(1.0分)A.A. 4B.B. 0C.C. 代码无法编译,因为localVar没有被正确初始化。
Java编程习题1、输出一行信息“This is a c program”2、从键盘输入两个数,求较大者并输出3、输入a,b,c三个值,输出其中最大者4、求5!5、从键盘输入一个大写字母,要求改用小写字母输出6、写程序,判断某一年是否为闰年7、求1+2+3+…+100的和8、求2+4+6+…+100的和9、求1+3+5+…+99的和10、求1-/2+/3-/4+…+1/99-1/100的和11、求Fibonacci数列前40个数,每行输出4个数12、从键盘输入一个数,判断该数是否为素数13、求100~200之间的全部素数14、用冒泡法对10个数排序(由小到大)15、有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号16、输出下列图形*********17、求一个3*3的整型矩阵主对角线元素之和。
18、找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点19、求10!,要求用递归实现20、用选择法对数组中10个整数按由小到大排序21、计算一个正整数的各位数字之和与之积。
22、编写一程序,从键盘输入一个5位数,判断该数是不是回文数。
回文数是指个位数字与万位数字相同,十位数字与千位数字相同,例如12321是回文数。
23、求1+(1+2)+(1+2+3)+···+(1+2+3+···+10)的值24、编程,输入一正整数,找出该数的各位数字中最大的一个数字。
25、打印以下图案:*************************26、按以下规律打印10行字符。
*# #% % %* * * *# # # # #% % % % % %... …27、请编写一个程序,输出1~1000之间的即被3整除,又被5整除的整数,并输出这样的数的个数。
输出格式为每行输出5个数,数与数之间用逗号隔开,行尾没有逗号,在新的一行输出个数。
28、请编写一个程序,判断键盘输入的字符是否为数字,若是在下一行输出yes,若不是在下一行输出no,一次只能输入一个字符,总共可输入10次,结果在键入当前字符后立即输出。
29、目前人民币1元以下的币有1角、2角、5角三种,请计算出破开1元钱的方法有多少种。
输出格式为一种方法一行,每行输出:1角n个、2角m个、5角j个。
最后在新的一行中输出:Total=x,输出总计有多少种方法。
30、小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?输出:Total=n。
31、输出a~z字符的ASCII编码32、输入一个2~99之间的数据,判断该数据是否是一个同构数。
同构数是指该数出现在其平方数的右边,例如5和25是同构数。
33、输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如,153是一个水仙花数,因为153=13+53+33。
34、一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。
编程找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,335、两个乒乓球队进行比赛,各出3人。
甲队为A,B,C 3人,乙队为X,Y,Z 3人。
已抽签决定比赛名单。
有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程找出3对赛手的名单。
36、求数列1,1,1,3,5,9,17,31,。
的前15个数,此数列的规律是从第4个数开始,每个数等于前3个数的和。
37、请编写程序,删除数组tt中所有值为x的元素,输出执行删除操作前、后的数组。
要求:数组tt中共有10个元素,且通过初始化获得初值;删除数据x的值由用户键盘输入。
38、从键盘输入一个4*5的矩阵,输出该矩阵的转置矩阵。
39、编写一程序,将两个字符串连接起来,不要用strcat函数。
40、输出以下的杨辉三角形(要求输出10行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1。
41、编程输出如下所示的上半三角矩阵。
1 2 3 4 56 7 8 910 11 1213 141542、请编写程序,将5*5的二维整型数组w中两条对角线上的元素乘以整数m,输出原始数组和修改后的数组。
要求:数组原始数据及m的具体数值由用户通过键盘输入。
43、请编写程序,输入8个整数放入一维数组w中,找出其中的最小数和最大数,并将它们分别与数组中的第一个元素和最后一个元素交换位置。
输出交换前后的数组。
44、请编写程序,从键盘输入一个字符串a,将字符串a中所有数字字符对应的元素下标值存放于整型数组b中。
输出这些下标值。
45、请编写程序,从键盘输入一个字符串,统计这个字符串中数字字符和小写字符的个数。
46、输出“魔方阵”。
所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
例如,三阶魔方阵为:8 1 63 5 74 9 2要求输出1~n2的自然数构成的魔方阵。
47、将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1.要求改为1,4,5,6,8。
48、在西方,星期五和数字13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。
所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。
要求:输入年份,输出是:判断该年是否包含黑色星期五,如包含,给出具体日期49、小明去银行存钱,拿了一堆硬币。
已知1角的硬币厚度为1.8mm ,5 角的硬币厚1.5mm ,1元的硬币为2.0mm 。
小明将1 角的硬币放成一摞,将5 角的硬币硬币放成一摞,将1元的硬币放成一摞,发现3 摞硬币一样高。
银行正好把这些硬币换成若干张面值为10 元的纸币。
问小明至少带了多少钱的硬币(元为单位),每种面值的硬币有多少个?要求输出格式为:1 角的数量,5 角的数量,1 元的数量,总金额。
(例如:20,30,40,50)说明在结果中只输出各个对应的数字即可。
50、从键盘输入一个十进制数,输出该数对应的十六进制数。
51、从键盘输入一个十进制数,输出该数对应的二进制数。
52、在你面前有一条长长的阶梯,如果你每步跨2阶,那么最后剩1阶,如果你每步跨3阶,那么最后剩2阶,如果你每步跨5阶,那么最后剩4阶,如果你每步跨6阶,那么最后剩5阶,只有当你每步跨7阶时,最后才正好走完,一阶也不剩。
请问这条阶梯至少有多少阶?(求所有三位阶梯数)。
53、从键盘中输入10个整型数据存到数组a中,编程求出a中相邻两元素之和,并将这些和存在数组b中,按每行3个元素的形式输出。
54、从键盘中输入一组数据,找出这组数据中最大数与最小数,将最大数与最小数位置互换,将互换后的这组数据再次输出。
55、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?56、有一八层灯塔,每层的灯数都是上一层的一倍,共有765盏灯,编程求最上层与最下层的灯数。
57、每个苹果0.8元,第一天买2个苹果,第二天开始每天买前一天的2倍,直到购买的苹果个数达到不超过100的最大值,编程求每天平均花多少钱?58、在一个袋子里装有三色彩球,其中红色球有3个,白色球也有3个,黑色球有6个,问当从袋子中取出8个球时共有多少种可能的方案。
编程实现将所有可能的方案编号输出在屏幕上。
59、编程求出小于500的所有勾股数并以每行显示四组勾股数的形式显示在屏幕上。
60、编程求一个整数任意次方的最后三位数,即求x y的最后三位数,x和y的值由键盘输入。
61、编程,根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。
62、从键盘中输入一个偶数,编程实现将该偶数拆分成两个素数之和病输出在屏幕上。
63、编程求10~100满足每位上数的乘积大于每位上数和的所有数,并将结果以每行5个的形式输出。
64、编程求100~10000满足各位数字之和是5的所有数,以5个数字一行的形式输出。
65、编写一个计算天数的程序,即从键盘输入年、月、日,在屏幕中输出此日期是该年的第几天。
66、三对情侣参加婚礼,3个新郎为A,B,C,3个新娘为X,Y,Z,有人想知道究竟谁和谁结婚,于是就问新人中的3位,得到如下的提示:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。
事后知道他们在开玩笑,说的全是假话,那么究竟谁和谁结婚呢?67、A说B在说谎,B说C在说谎,C说A和B在说谎,那么这3个人中谁说的是真话,谁说的是假话?68、假设abcd是一个四位整数,将它分成两段,即ab和cd,使之相加求和后再平方。
求满足该关系的所有四位整数。
即abcd=(ab)2+(cd)269、编程实现两个矩阵间的加法运算。
具体要求如下:从键盘中分别输入两个3*3的矩阵a和矩阵b,求这两个矩阵的和,这里记为c,将矩阵c显示到屏幕上。
70、编程实现两个矩阵间的乘法运算。
具体要求如下:从键盘中一个2*3的矩阵a和一个3*2的矩阵b,求这两个矩阵的积,这里记为c,将矩阵c显示到屏幕上。
71、一农户在集市上卖西瓜,他总共有1020个西瓜,第一天卖掉一半多两个,第二天卖掉剩下的一半多两个,问照此规律卖下去,该农户几天能将所有的西瓜卖完,请编程实现。