java经典50题题目及答案
Java编程50题及答案
JAVA编程50题及答案【程序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; i<200; 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】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
JAVA习题题目及答案
第1章问答题及作业题第1章问答题1、发明Java语言的原因是什么?发明Java语言的主要贡献者是谁?2、“Java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?3、Java程序的主类必须含有怎样的方法?4、“Java应用程序必须含有一个类是public类”,这句话正确吗?5、“Java Applet程序的主类必须是public类”,这句话正确吗?6、请叙述Java源文件的命名规则。
7、源文件生成的字节码在运行时都加载到内存中吗?8、怎样编写加载运行Java Applet的简单网页?9、编译器使用“-source”参数的作用是什么?“-source”参数的默认取值是什么?第1章作业题1.参照例1-1编写一个Java应用程序,程序能在命令行中输出“早上好,Good Morning”。
2.参照例1-2编写一个Java Applet程序,程序能在浏览器中显示“你好,Hello”。
第2章问答题及作业题第2章问答题1、什么是标识符?标识符的规则是什么?2、什么是关键字?请说出5个关键字。
3、Java的基本数据类型是什么?4、下列哪些语句是错误的?int x=120;byte b=120;b=x;5、下列哪些语句是错误的?float x=12.0;float y=12;double d=12;y=d;6、下列两条语句的作用是等价的吗?char x=97;char x=’a’;7、下列语句输出的结果是什么?int a=97;byte b1=(byte)128;byte b2=(byte)-129;System.out.printf(“%c,%d,%d”,a,b1,b2);8、数组是基本数据类型吗?怎样获取一维数组的长度?9、假设有两个int类型数组:int[] a=new int[10];int[] b=new int[8];b=a;a[0]=100;b[0]的值一定是100吗?10、下列两条语句的作用等价吗?int[] a={1,2,3,4,5,6,7,8};int[] a=new int[8];}第2章作业题1.参照例2-1编写一个Java应用程序,输出俄文字母表。
java基础50道经典练习题及答案
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编程实例大全及详解答案(50例)
JA V A编程实例大全及详解答案(50例)【程序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; i<200; 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】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
最新JAVA编程题全集_50题及答案
写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab cbaimport java.util.ArrayList;import java.util.List;public class NumTest {public static void main(String[] args) {String s="ABCD";//原字符串List<String> result = list(s, "");//列出字符的组合,放入resultSystem.out.println(result.size());;System.out.println(result);}/*** 列出基础字符串(base)的所有组合* @param base 以该字符串作为基础字符串,进行选择性组合。
* @param buff 所求字符串的临时结果* @param result 存放所求结果*/public static List<String> list(String base,String buff){List<String> result = new ArrayList<String>();//存放结果信息。
if(base.length()<=0){result.add(buff);}for(int i=0;i<base.length();i++){List<String> temp = list(new StringBuilder(base).deleteCharAt(i).toString(),buf f+base.charAt(i));result.addAll(temp);}return result;}}+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++public static void main(String[] args) {String s="ABCD";//原字符串List<String> result = new ArrayList<String>();//存放结果信息。
Java试题及答案
Java试题及答案一、单项选择填空(每小题2分,共50分)1.下列不属于main方法的修饰词的是()A.public B.void C.static D.final2.Java源程序经过编译后的文件类型是()A.字节码文件 B.可执行文件C.目标文件D.中间文件3.下列关于运算符的结合性说法正确的是()A.算术运算符和条件运算符都是左结合(即从左至右)算术不一定++的前缀和后缀不一样B.单目运算符是左结合C.关系运算符是左结合D.赋值运算符是左结合4.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A.继承性B.抽象性C.封装性D.多态性5.下面哪个是合法的布尔值()A.”false”B.false C.0 D.f6.下面哪个是Java语言中的关键字?()A.sizeof B.abstract C.InstanceOf D.Native7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?()A.do-while循环B.for循环C.while循环D.以上都不是8.以下哪个选项用以确定字符串的长度?()A.size B.length C.max_value D.length()9.下面的语句哪个是正确的?()A.char=?abc?; B.long l=0xfff; C.float f=0.23 需加上f;D.double=0.7e-3;10.下列哪个类的声明是错误的?()A.final abstract class A B.final class AC.protected class A D.public class A11.下面程序段的执行结果是什么?()public class Foo{public static void main(String[] args){try{return;}finally{System.out.println(“Finally!”);}}}A.程序正常运行,但不输出任何结果B.程序正常运行,并输出FinallyC.编译能通过,但运行时会出现例外D.因为没有catch语句块,所以不能通过编译12.设a=0,b=-3,则表达式(a>=1)&&++a<=12?b:a的结果为()A.1 B.2 C.0 D.-313.Java语言中,下列常量中是字符型常量的为()A.?\0xFFFF?B.?\u?C.?\\?转义字符D.”ABC”14.Java的字符类型采用的是Unicode编码方案,每个Unicode 码占用____个比特位。
JAVA超级算法(50题及答案)
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少;public class lianxi04{public static void main(String[] args) {Scanner s = new Scanner;"请键入一个正整数: ");int n = ();int k=2;+ "=" );while(k <= n) {if(k == n) {else if( n % k == 0) { + "*");n = n / k; }else k++;}}}【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
import .*;public class lianxi05 {public static void main(String[] args) {int x;char grade;Scanner s = new Scanner;"请输入一个成绩: ");x = ();grade = x >= 90 'A': x >= 60 'B':'C';"等级为:"+grade);}}【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
* / import .*;public class lianxi06 {public static void main(String[] args) {int a ,b,m;Scanner s = new Scanner;"键入一个整数: ");a = ();"再键入一个整数: ");b = ();deff cd = new deff();m = (a,b);int n = a * b / m;"最大公约数: " + m);"最小公倍数: " + n);}}class deff{public int deff(int x, int y) {int t;if(x < y) {t = x;x = y;y = t;}while(y != 0) {if(x == y) return x;else {int k = x % y;x = y;y = k;}}return x;}}【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
(完整版)JAVA试题及答案(50道选择题)
选择题1、JAVA所定义的版本中不包括:( D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、J AVA2 HEE、J AVA2 SE2、下列说法正确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规范说法正确的是( B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真”;D、b oolean a = = false;6、以下(C )不是合法的标识符A、STRINGB、x3x;C、voidD、d e$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str。
equals("q");D、c ount = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System。
JAVA试题及答案(50道选择题)
JAVA语言基础部测试题选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。
)(每题2分)没有注明选择几项的,只选择一项1、JAVA所定义的版本中不包括:()A、J AVA2 EEB、JAVA2 CardC、J AVA2 MED、J AVA2 HEE、JAVA2 SE2、下列说确的是()A、J AVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、J AVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、Java中,在如下所示的Test类中,共有()个构造方法。
public class Test{private int x;public Test(){x=35;}public void Test(double f){This.x=(int)f;}public Test(String s){}}A、0B、 1C、 2D、34、变量命名规说确的是()A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;5、下列javaDoc注释正确的是()A、/*我爱天安门*/B、//我爱天安门*/C、/**我爱天安门*/D、/*我爱天安门**/6、为一个boolean类型变量赋值时,可以使用( )方式A、b oolean = 1;B、boolean a = (9 >= 10);C、b oolean a="真";D、b oolean a = = false;7、以下( )不是合法的标识符A、S TRINGB、x3x;C、v oidD、d e$f8、表达式(11+3*8)/4%3的值是( )A、31B、0C、1D、29、()表达式不可以作为循环条件A、i++;B、i>5;C、b Equal = str.equals("q");D、c ount = = i;10、运算符优先级别排序正确的是()A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;11、以下程序的运行结果是:( )public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.67612、下列值不为true的表达式有()。
JAVA试题及答案50道选择题-java选择题及答案
选择题1、JAVA所定义的版本中不包括:( D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、J AVA2 HEE、J AVA2 SE2、下列说法正确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规范说法正确的是( B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真";D、b oolean a = = false;6、以下( C )不是合法的标识符A、STRINGB、x3x;C、voidD、d e$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str.equals("q");D、c ount = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.67611、下列值不为true的表达式有( C )。
JAVA经典算法50题
{ int[] a={1,2,3,4}; int count=0; for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { for(int k=0;k<4;k++) { if(a[i]!=a[j] && a[j]!=a[k] && a[k]!=a[i]) { System.out.println(a[i]+""+a[j]+""+a[k]); count++; } } } } System.out.println("共有 "+count+" 个数");
} 【程序 5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用 A 表示,60-89 分之间 的用 B 表示,60 分以下的用 C 表示。 1.程序分析:(a>b)?a:b 这是条件运算符的基本例子。 public static void main(String args[])
i-1)*2; } System.out.println("第"+n+"次落地时共经过"+distance+"米"); System.out.println("第"+n+"次弹起的高度是:"+fheight);
}
【程序 11】 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1. 程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉
java基础考试试题及答案
java基础考试试题及答案一、选择题1. 在Java中,以下哪个不是访问修饰符?A) publicB) protectedC) privateD) static答案: D2. 下列选项中,不属于Java基本数据类型的是?A) intB) doubleC) booleanD) string答案: D3. Java中的包(package)用于什么目的?A) 控制访问权限B) 组织类和接口C) 定义变量和方法D) 实现多态性答案: B4. 下面关于Java异常处理的说法中,正确的是?A) 所有异常类都必须派生自Throwable类B) 编译时异常必须使用try-catch块捕获C) RuntimeException是编译时异常的子类D) finally块用于捕获异常并处理答案: B5. 在Java中,以下哪个关键字用于终止整个循环?A) breakB) continueC) returnD) exit答案: D二、填空题1. Java中,使用关键字____声明一个类。
答案: class2. Java中,使用关键字____定义一个方法。
答案: void3. Java中,使用关键字____声明一个常量。
答案: final4. Java中,使用关键字____定义一个抽象类。
答案: abstract5. Java中,使用关键字____定义一个接口。
答案: interface三、编程题1. 编写一个Java程序,输出1到100之间所有的偶数。
```javapublic class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}```2. 编写一个Java程序,计算并输出斐波那契数列的前20个数字。
```javapublic class Fibonacci {public static void main(String[] args) {int num1 = 0, num2 = 1;System.out.println(num1);System.out.println(num2);for (int i = 2; i < 20; i++) {int num3 = num1 + num2;System.out.println(num3);num1 = num2;num2 = num3;}}}```四、简答题1. Java中的封装是什么意思?为什么要封装?答案: 封装是将数据和操作数据的方法包装在一起的机制。
JAVA习题集(含答案)
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考试试题及答案
java考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个是Java的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. Java中的main方法是程序的入口点,它属于哪个类?A. ng.ObjectB. ng.SystemC. ng.RuntimeD. java.applet.Applet答案:A3. 下列哪个关键字用于定义类?A. classB. publicC. staticD. void答案:A4. Java中的哪个关键字用于实现接口?A. implementsB. extendsC. classD. interface答案:A5. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. LinkedListD. HashMap答案:B6. 下列哪个不是Java的控制流语句?A. ifB. forC. switchD. while答案:C7. Java中的哪个类提供了日期和时间的处理功能?A. java.util.DateB. java.util.CalendarC. java.time.LocalDateD. java.time.LocalDateTime答案:B8. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案:D10. 下列哪个不是Java的注释方式?A. // 单行注释B. /* 多行注释 */C. / 文档注释 */D. # 预处理指令答案:D二、填空题(每空2分,共20分)1. Java语言是________面向对象的编程语言。
答案:完全2. Java程序的执行流程是:编写源代码,编译成字节码,通过________加载并执行。
java初级试题及答案
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编程练习题及答案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各章习题及答案
第1章一、选择题1.下列选项中,不属于Jav a语言特点的一项是(C )。
(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程序采用解释执行的方法。
在系统编译运行Java程序时,Java编译器将Jav a程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。
2.在Java语言中,( C )是最基本的元素?(A)方法(B)包(C)对象(D)接口【解析】构成Java程序的基本元素类(抽象的对象)。
3.编译一个定义了3个类和10个方法的Java源文件后,会产生(D )个字节码文件?扩展名是( D )?(A)13个字节码文件,扩展名为.class(B)1个字节码文件,扩展名为.class(C)3个字节码文件,扩展名为.java (D)3个字节码文件,扩展名为.class【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。
4.在创建Appl et应用程序时,需要用户考虑问题是( B )。
(A)窗口如何创建(B)绘制的图形在窗口中的位置(C)程序的框架(D)事件处理【解析】创建Appl et程序时必须继承系统类Appl et,而Apple t类中已经包含了如何创建窗口以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。
5.Java语言属于(B )种语言?(A)面向机器的语言(B)面向对象的语言(C)面向过程的语言(D)面向操作系统的语言【解析】Java语言是一种纯面向对象的语言。
6.下列关于Ap plica tion和A pple t程序的说法中不正确的一项是(B)。
(A)Applica tion使用解释器j ava.exe (B)Application不使用独立的解释器(C)Applet在浏览器中运行(D)Applet必须继承Java的A p plet类【解析】Application程序包含m ai n()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。
java基础50题
Base.test()
B Base.test()
Child.test()
C Base.test()
D Child.test()
解答:D
13. 请看下列代码 public class Foo { public void method(String str,int age){} } 和 Foo 类中 method 方法重载的方法是 A.public int method(String str,int age){} B.public void method(int year,String s){} C.public int method(int year,String s){} D.public int method(String str){} 解答:BCD
下面哪些放在// point x?行是正确的? A. i = b; B. i = p.a; C. i = p.change(30); D. i = t.b;
解答:CD
22. 下列选项中放置于“《插入代码》”处会编译出错的是 interface IFace{} class CFace implements IFace{} class Base{} public class ObRef extends Base{ public static void main(String argv[]){ ObRef ob = new ObRef(); Base b = new Base(); Object o1 = new Object(); IFace o2 = new CFace(); 《插入代码》 } } A. o1=o2; B. b=ob; C. ob=b; D. o1=b; 解答:C
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【程序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; i<200; 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】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
public class lianxi03 {public static void main(String[] args) {int b1, b2, b3;for(int m=101; m<1000; m++) {b3 = m / 100;b2 = m % 100 / 10; b1 = m % 10;if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) { System.out.println(m+"是一个水仙花数"); } } } }【程序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的值,重复执行第一步。
import java.util.*;public class lianxi04{public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.print( "请键入一个正整数: "); int n = s.nextInt(); int k=2;System.out.print(n + "=" ); while(k <= n) {if(k == n) {System.out.println(n);break;}else if( n % k == 0) {System.out.print(k + "*");n = n / k; } else k++; } } }【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
import java.util.*; public class lianxi05 {public static void main(String[] args) { int x;char grade;Scanner s = new Scanner(System.in); System.out.print( "请输入一个成绩: "); x = s.nextInt(); grade = x >= 90 ? 'A' :x >= 60 ? 'B' :'C';System.out.println("等级为:"+grade);} }【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
* / import java.util.*;public class lianxi06 { public static void main(String[] args) { int a ,b,m; Scanner s = new Scanner(System.in); System.out.print( "键入一个整数:"); a = s.nextInt(); System.out.print( "再键入一个整数:"); b = s.nextInt();deff cd = new deff(); m = cd.deff(a,b);int n = a * b / m;System.out.println("最大公约数: " + m); System.out.println("最小公倍数: " + n); } }class deff{public int deff(int x, int y) { int t;if(x < y) { t = x; x = y; y = t; }while(y != 0) { if(x == y) return x; else { int k = x % y; x = y; y = k; } }return x; }}【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
import java.util.*; public class lianxi07 {public static void main(String[] args) { int digital = 0; int character = 0; int other = 0; int blank = 0;char[] ch = null;Scanner sc = new Scanner(System.in); String s = sc.nextLine(); ch = s.toCharArray(); for(int i=0; i<ch.length; i++) { if(ch >= '0' && ch <= '9') { digital ++;} else if((ch >= 'a' && ch <= 'z') || ch > 'A' && ch <= 'Z') { character ++; } else if(ch == ' ') { blank ++;} else { other ++; } }System.out.println("数字个数: " + digital);System.out.println("英文字母个数: " + character); System.out.println("空格个数: " +blank); System.out.println("其他字符个数:" + other ); } }【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
import java.util.*; public class lianxi08 {public static void main(String[] args) { long a , b = 0, sum = 0;Scanner s = new Scanner(System.in); System.out.print("输入数字a的值:"); a = s.nextInt();System.out.print("输入相加的项数:"); int n = s.nextInt();int i = 0;while(i < n) { b = b + a;sum = sum + b; a = a * 10; ++ i; }System.out.println(sum); } }【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000以内的所有完数。
public class lianxi09 {public static void main(String[] args) {System.out.println("1到1000的完数有:"); for(int i=1; i<1000; i++) { int t = 0;for(int j=1; j<= i/2; j++) { if(i % j == 0) { t = t + j; }}if(t == i) {System.out.print(i + " "); }} }【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?public class lianxi10 {public static void main(String[] args) { double h = 100,s = 100; for(int i=1; i<10; i++) { s = s + h; h = h / 2;}System.out.println("经过路程:" + s); System.out.println("反弹高度:" + h / 2); }}【程序11】题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?public class lianxi11 {public static void main(String[] args) { int count = 0;for(int x=1; x<5; x++) { for(int y=1; y<5; y++) { for(int z=1; z<5; z++) { if(x != y && y != z && x != z) { count ++;System.out.println(x*100 + y*10 + z ); } }} }System.out.println("共有" + count + "个三位数"); }}【程序12】题目:企业发放的奖金根据利润提成。