JAVA菜鸟练手习题50道(有答案的哟)
java基础50道经典练习题及答案

java基础50道经典练习题及答案《Java基础50道经典练习题及答案》Java作为一种广泛应用于软件开发的编程语言,对于初学者来说,掌握其基础知识是非常重要的。
为了帮助大家更好地学习和掌握Java基础知识,我们整理了50道经典的练习题及答案,希望能够帮助大家更好地理解和掌握Java编程。
1. 请写出Java中的8种基本数据类型。
2. 什么是Java中的包(package)?3. Java中的“==”和“equals()”有什么区别?4. 什么是Java中的多态(polymorphism)?5. 请写出Java中的四种访问修饰符及其作用。
6. 什么是Java中的接口(interface)?7. 请写出Java中的四种循环语句。
8. 什么是Java中的异常处理(exception handling)?9. Java中的“String”和“StringBuffer”有什么区别?10. 请写出Java中的三种注释方式。
这些练习题涵盖了Java基础知识的各个方面,包括数据类型、包、运算符、多态、访问修饰符、接口、循环语句、异常处理、字符串处理等内容。
通过做这些练习题,可以帮助大家更好地理解和掌握Java编程的基础知识。
在学习Java编程的过程中,不仅要掌握理论知识,还要多做练习,多动手实践。
只有通过实际操作,才能更好地理解和掌握Java编程的各种知识点。
希望大家能够认真对待这些练习题,多加练习,相信一定能够取得不错的成绩。
最后,希望大家在学习Java编程的过程中,保持耐心和坚持,相信通过不懈的努力,一定能够掌握好Java编程的基础知识,成为一名优秀的Java程序员。
祝大家学习进步,早日掌握Java编程!。
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基础练习题及答案

java基础练习题及答案Java基础练习题及答案Java作为一种广泛应用的编程语言,其基础知识的掌握对于程序员而言是至关重要的。
为了帮助大家更好地理解和掌握Java的基础知识,下面将提供一些常见的Java基础练习题及其答案,希望对大家有所帮助。
一、数据类型与变量1. 编写一个Java程序,声明一个整型变量x并赋值为10,然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {int x = 10;System.out.println(x);}}```2. 编写一个Java程序,声明一个字符型变量ch并赋值为'A',然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {char ch = 'A';System.out.println(ch);}```3. 编写一个Java程序,声明一个布尔型变量isTrue并赋值为true,然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {boolean isTrue = true;System.out.println(isTrue);}}```二、运算符1. 编写一个Java程序,计算两个整数的和并输出结果。
```javapublic class Main {public static void main(String[] args) {int a = 10;int b = 20;int sum = a + b;System.out.println("两个整数的和为:" + sum);}```2. 编写一个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题及答案

写一个函数,例如:给你的 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分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. object答案:A2. 下列哪个是Java中的保留字?A. appleB. publicC. javaD. dog答案:B3. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D5. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. structD. object答案:B6. Java中,哪个关键字用于声明一个包?A. packageB. importC. classD. public答案:A7. Java中,哪个关键字用于实现多重继承?A. extendsB. implementsC. extends and implementsD. None of the above答案:B8. 在Java中,哪个关键字用于声明一个变量?A. varB. letC. defD. val答案:A9. Java中,哪个关键字用于声明一个常量?A. finalB. constC. staticD. var答案:A10. 在Java中,哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. try答案:B二、填空题(每题2分,共20分)1. Java是一种_________语言,它支持跨平台运行。
答案:面向对象2. Java程序的执行入口是_________方法。
答案:main3. 在Java中,所有的类都是_________类的子类。
答案:Object4. Java中,用于声明一个私有方法的关键字是_________。
java基础题(附答案)

java基础题(附答案)基础编程练习,能做几道初学java程序看得懂,但下不了手,高手们说只能多练习,所以找了这些题,是从java私塾跟我学系列课后习题中挑选的一部分,大家一起来做做吧,看看能做多少。
【1】将1 到1000 之间的奇数打印出来。
【2】判断一个数能否同时被3和5 整除。
【3】输入10个数,找出最大一个数,并打印出来。
【4】给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。
90 分以上为’A’,80~89 分为’B’,70~79 分为’C’,60~69 分为’D’,60分以下为’E’。
【5】把一个正整数分解质因数。
【6】打印出如下图案(菱形)*************************【7】请编写一个方法实现如下功能:将1至7 的数字转换为星期日到星期六的字符串。
【8】请编写一个方法实现如下功能:有任意三个整数a,b,c,请输出其中最大的【9】请编写一个方法实现如下功能:将任意三个整数a,b,c按从小到大的顺序输出。
【10】请编写一个方法实现如下功能:用程序找出每位数的立方和等于该数本身值的所有的3 位数。
(水仙花数)【11】请编写一个方法实现如下功能:计算1 加到n (n>=2的整数)的总和。
【12】请编写一个方法实现如下功能:得到一个整数的绝对值。
【13】定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出“Yes”,不包含就打印出“No”【14】生成一百个随机数,放到数组中,然后排序输出。
【15】统计字符串中英文字母、空格、数字和其它字符的个数。
【16】写一个方法,功能:定义一个一维的int数组,长度为3,把任意三个整数a,b,c赋值给数组,然后将它们按从小到大的顺序输出(使用冒泡排序)【17】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
50道java经典练习题

50道java经典练习题Java是一门广泛使用的编程语言,许多程序员在学习和实践中都会遇到各种各样的问题和挑战。
为了提高自己的编程技能,解决问题的能力和代码的质量,有一些经典的Java练习题非常值得一试。
在本文中,我们将介绍50道Java经典练习题,希望能够对你的学习和实践有所帮助。
1. 编写一个程序,输入两个整数,求它们的和。
2. 编写一个程序,用循环结构输出1到100之间的所有奇数。
3. 编写一个程序,使用递归计算n的阶乘。
4. 编写一个程序,找出一个整数数组中的最大值。
5. 编写一个程序,将一个字符串反转输出。
6. 编写一个程序,判断一个字符串是否是回文。
7. 编写一个程序,将一个整数转换为二进制表示的字符串。
8. 编写一个程序,实现冒泡排序算法对一个整数数组进行排序。
9. 编写一个程序,将两个有序数组合并为一个有序数组。
10. 编写一个程序,计算一个字符串中每个字符出现的次数。
11. 编写一个程序,判断一个整数是否是素数。
12. 编写一个程序,生成斐波那契数列前n个数字。
13. 编写一个程序,找出一个整数数组中的前k个最大值。
14. 编写一个程序,计算一个整数数组的平均值。
15. 编写一个程序,判断一个字符串是否是有效的括号序列。
16. 编写一个程序,将一个整数翻转输出。
17. 编写一个程序,计算两个整数的最大公约数。
18. 编写一个程序,找出一个字符串中最长的连续子串。
19. 编写一个程序,找出一个字符串中出现次数最多的字符。
20. 编写一个程序,将一个整数数组循环右移k位。
21. 编写一个程序,计算一个浮点数的平方根。
22. 编写一个程序,将一个字符串按单词逆序输出。
23. 编写一个程序,判断一个字符串是否是有效的回文字符串。
24. 编写一个程序,计算两个浮点数的最大公约数。
25. 编写一个程序,找出一个整数数组中的前k个最小值。
26. 编写一个程序,判断两个字符串是否互为变位词。
27. 编写一个程序,将一个整数数组按奇偶分成两个数组。
java初学者练习题

java初学者练习题Java是一种广泛使用的编程语言,以其跨平台的特性和面向对象的特性而闻名。
对于初学者来说,练习是掌握Java编程的关键。
以下是一些适合Java初学者的练习题,旨在帮助他们加深对Java基本概念的理解。
# 基础语法练习1. 变量声明和初始化:编写一个Java程序,声明并初始化不同类型的变量,包括整数(int)、浮点数(double)、字符(char)和布尔值(boolean)。
2. 数据类型转换:编写一个程序,演示如何将整数转换为浮点数,以及如何将浮点数转换为整数。
3. 运算符使用:创建一个程序,使用算术运算符(+, -, *, /, %)进行基本的数学运算,并打印结果。
4. 条件语句:编写一个程序,使用if-else语句来判断一个数是正数、负数还是零。
5. 循环结构:使用for循环打印0到10的所有整数,并使用while循环打印1到20的所有整数。
6. 数组操作:声明一个整数数组,并使用循环对其进行初始化,然后打印数组中的所有元素。
# 控制流程练习1. 嵌套循环:使用嵌套for循环打印一个5x5的乘法表。
2. switch语句:编写一个程序,使用switch语句根据输入的月份打印对应的季节。
3. break和continue:编写一个程序,使用for循环和continue语句跳过数组中的偶数,使用break语句在数组中找到第一个负数时退出循环。
# 面向对象编程练习1. 类和对象:创建一个名为`Student`的类,包含姓名、年龄和分数等属性,以及相应的getters和setters方法。
2. 继承:创建一个基类`Animal`,然后创建一个继承自`Animal`的子类`Dog`,添加特定的属性和方法。
3. 多态:重写基类中的一个方法,在子类中提供不同的实现,并编写程序演示多态行为。
4. 接口实现:定义一个接口`Movable`,包含一个方法`move()`,然后创建一个类实现该接口。
java入门练习题

Java入门练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 声明一个浮点型变量并赋值为3.14,然后输出该变量的值。
5. 编写一个Java程序,交换两个变量的值。
二、条件语句1. 判断一个整数是正数、负数还是零。
2. 编写一个Java程序,根据用户输入的成绩,判断其等级(优秀、良好、中等、及格、不及格)。
3. 判断一个年份是否为闰年。
4. 编写一个Java程序,实现简易计算器功能(加、减、乘、除)。
三、循环结构1. 输出1到100之间所有的偶数。
2. 计算1到100之间所有整数的和。
3. 输出九九乘法表。
4. 编写一个Java程序,求斐波那契数列的前20项。
5. 使用while循环实现冒泡排序算法。
四、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。
2. 编写一个Java程序,实现数组元素的逆序输出。
3. 计算一个整型数组中所有元素的和。
4. 查找一个整型数组中的最大值和最小值。
5. 编写一个Java程序,实现两个数组的合并。
五、面向对象基础1. 创建一个学生类,包含姓名、年龄、成绩属性,并实现一个打印学生信息的方法。
2. 编写一个Java程序,创建一个矩形类,包含长和宽属性,并实现计算面积和周长的方法。
3. 创建一个动物类,包含吃、睡觉、叫的方法,并创建猫和狗两个子类继承动物类。
4. 编写一个Java程序,实现一个简单的银行账户类,包含存款、取款和查询余额方法。
5. 创建一个图书类,包含书名、作者、价格属性,并实现一个比较价格的方法。
六、字符串操作1. 编写一个Java程序,实现字符串的逆序输出。
2. 判断一个字符串是否为回文。
3. 查找字符串中某个字符出现的次数。
4. 编写一个Java程序,实现字符串的替换功能。
(完整版)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习题集及答案

java习题集及答案《Java习题集及答案》Java作为一种广泛应用于软件开发领域的编程语言,对于初学者来说,掌握其基本语法和常见的编程技巧是非常重要的。
为了帮助初学者更好地掌握Java编程,我们整理了一些常见的习题集及其答案,希望能够对大家的学习有所帮助。
1. 编写一个Java程序,实现将两个整数相加并输出结果的功能。
```javapublic class AddTwoNumbers {public static void main(String[] args) {int num1 = 5;int num2 = 10;int sum = num1 + num2;System.out.println("The sum of " + num1 + " and " + num2 + " is " + sum);}}```2. 编写一个Java程序,实现将一个字符串反转并输出结果的功能。
```javapublic class ReverseString {public static void main(String[] args) {String str = "Hello, World!";StringBuilder reversed = new StringBuilder();reversed.append(str);reversed = reversed.reverse();System.out.println("The reversed string is: " + reversed.toString());}}```3. 编写一个Java程序,实现计算一个整数的阶乘并输出结果的功能。
```javapublic class Factorial {public static void main(String[] args) {int num = 5;int factorial = 1;for (int i = 1; i <= num; i++) {factorial *= i;}System.out.println("The factorial of " + num + " is " + factorial);}}```通过以上的习题集及答案,我们可以看到一些常见的Java编程问题的解决方法。
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。
(完整版)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.给出上题中设计类的构造函数,要求初始化一条记录(学号、姓名、成绩)。
50道java基础编程练习题

50道java基础编程练习题Java是一种广泛应用于软件开发领域的编程语言,掌握其基础编程技能对于程序员来说是非常重要的。
为了帮助大家巩固和提高Java基础编程能力,下面将介绍50道Java基础编程练习题,希望对大家有所帮助。
1. 编写一个Java程序,输出"Hello, World!"。
2. 编写一个Java程序,计算并输出1到100之间所有整数的和。
3. 编写一个Java程序,判断一个数是否为偶数,并输出结果。
4. 编写一个Java程序,判断一个数是否为素数,并输出结果。
5. 编写一个Java程序,求解一个数的阶乘,并输出结果。
6. 编写一个Java程序,判断一个字符串是否为回文,并输出结果。
7. 编写一个Java程序,将一个字符串反转,并输出结果。
8. 编写一个Java程序,求解一个数列的斐波那契数,并输出结果。
9. 编写一个Java程序,将一个数组中的元素按照从小到大的顺序进行排序,并输出结果。
10. 编写一个Java程序,求解一个数的平方根,并输出结果。
11. 编写一个Java程序,判断一个数是否为完全平方数,并输出结果。
12. 编写一个Java程序,计算并输出1到100之间所有奇数的和。
13. 编写一个Java程序,判断一个字符串是否为有效的手机号码,并输出结果。
14. 编写一个Java程序,将一个字符串中的所有空格去除,并输出结果。
15. 编写一个Java程序,求解一个数的倒数,并输出结果。
16. 编写一个Java程序,判断一个数是否为质数,并输出结果。
17. 编写一个Java程序,计算并输出1到100之间所有偶数的和。
18. 编写一个Java程序,判断一个字符串是否为有效的邮箱地址,并输出结果。
19. 编写一个Java程序,将一个字符串中的所有字母转换为大写,并输出结果。
20. 编写一个Java程序,求解一个数的立方,并输出结果。
21. 编写一个Java程序,判断一个数是否为回文数,并输出结果。
java练习题+答案

java练习题+答案1、在下列说法中,选出最正确的一项是( )。
1.Java语言是以类为程序的基本单位的2.Java语言是不区分大小写的3.多行注释语句必须以//开始4.在Java语言中,类的源文件名和该类名可以不相同2、下列选项中不属于Java虚拟机的执行特点的一项是( )。
1.异常处理2.多线程3.动态链接4.简单易学3、下列选项中属于Java语言的垃圾回收机制的一项是( )。
1.语法检查2.堆栈溢出检查3.跨平台4.内存跟踪4、下列选项中属于 Java语言的安全性的一项是( )。
1.动态链接2.高性能3.访问权限4.内存跟踪5、下列选项中,属丁JVM执行过程中的特点的一项是( )。
1.编译执行2.多进程3.异常处理4.静态链接6、在Java语言中,那一个是最基本的元素?()1.方法2.包3.对象4.接口7、如果有2个类A和B,A类基于 B类,则下列描述中正确的一个是( )。
1.这2个类都是子类或者超类2.A是B超类的子类3.B是A超类的子类4.这2个类郡是对方的子类8、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?()1.abstract2.private3.protected4.不使用保留字9、编译一个定义了3个类和10个办法的Java源文件后,会产生多少个字符码文件,扩展名是什么?()1.13个字节码文件,扩展名是.class2.1个字节码文件,扩展名是.class3.3个字节码文件,扩展名是.java4.3个字节码文件,扩展名是.class10、下列属于Java语言的特点的一项是( )。
1.运算符重载2.类间多重继承3.指针操作4.垃圾回收11、在创建Applet应用程序时,需要用户考虑的问题是( )。
1.窗口如何创建2.绘制的图形在窗口中的位置3.程序的框架4.事件处理12、于Java语言的内存回收机制,下列选项中最正确的一项是( )。
1.Java程序要求用户必须手工创建一个线程来释放内存2.Java程序允许用户使用指针来释放内存3.内存回收线程负责释放无用内存4.内存回收线程不能释放内存对象13、下列关于Java程序结构的描述中,不正确的一项是( )。
JAVA习题集(含答案)

JAVA习题集(含答案)习题一:1. 简述Java的发展过程。
2. 什么是软件?3. 什么叫做源程序?4. 什么叫做编译?5. 什么是Java的byte-codes?它的最大好处是什么?6. 机器语言程序、高级语言程序以及可表示成Java字节码的程序之间的区别是什么?7. Java程序可分为哪两种?分别如何运行?& 试简述J2SE、J2ME与J2EE的简单区别。
9. 练习使用浏览器查看Java API文档。
10. SDK的编译命令是什么?11. 试修改例1-1程序,使其输出的字符串为“I'd like to study Jave”!,并在DOS命令行环境下编译与运行该程序。
习题一参考答案:1. 答:1991: Sun Microsystems公司进军消费电子产品(IA)市场。
1991. 4:Sun成立“ Green”小组,以C++为基础开发新的程序设计语言,并将其命名为Oak。
1992. 10:Green小组升格为First Person公司,他们将Oak的技术转移到Web上,并把Oak改名为Java。
1993~1994: Web在In ternet上开始流行,致使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版。
java测试题

java测试题java测试题共50道题,每道题2分,总分100分,80分为合格。
注意,题目有多选,也有单选。
请认真作答。
1.在JAVA中,下列哪些说法是正确的(A C)A.java源文件的扩展名为.javaB.写好的java源程序可以直接运行C.编写的源程序必须先编译后才能运行D.程序员可以读懂扩展名为.class的文件2.下列标识符哪个是合法的(B D)A.classB.$abcC.1234D._name3.下面哪些赋值语句是正确的?(A )A. long test = 012;B. float f = -412;C. int other = (int) true;D. double d = 0x12345678;E. byte b = 128;4.在Java中,下列语句不能通过编译的有( )A. String s= “join”+ 3;B. int a= “join”+3;C. int a= …a?+5;D. float f=5+5.5;5.下列代码运行的结果是(c )public static void main(String[] args) {int x = 4;int y = 5;if(x++>4 & ++y>5) {x++;}System.out.println("x=" + x + ",y=" + y);}A. x=4,y=5B. x=4,y=6C. x=5,y=6D. x=6,y=66.尝试运行下面的代码会发生什么?( B)public class Test {public static void main(String[] args) { boolean m = true; if (m = false) {System.out.println("true");} else {System.out.println("false");}}}A. 输出字符串”true”B. 输出字符串”false”C. 编译时错误D. 运行时错误7.编译并运行以下代码将发生什么?( C D)public static void main(String args[]){char digit = 'a';for (int i = 0; i < 10; i++){switch (digit){case 'x' :int j = 0;System.out.println(j);}default :{int j = 100;System.out.println(j);}}}int i = j;System.out.println(i);}A. 输出11次100B. 输出10次100,然后抛出运行期异常C. 编译错误,因为变量i不能在main() 方法中被声明2次D. 编译错误,因为变量j不能在main() 方法中被声明2次E. 以上都不对8.(B) class Demo{public static int fun(int c){return c+=2;}public static void main(String[] args){int temp = fun(2);System.out.println(temp);}A. 2B. 4C. 6D. 89.下面哪些函数是public void aMethod(){...}的重载函数?( A C)A. void aMethod( ){...}B. public int aMethod(int a, float b){...}C. public void aMethod (){...}D. public float aMethod (int m){…}10.在java中,关于数组描述正确的是(B C D)A.数组中的索引下标从1开始//从0开始B.存储在数组当中的数据都属于同一数据类型C.通过数组名.length()能获得数组的长度//对D.数组的最大索引下标是数组的长度减1 //对11.下面程序的输出结果是什么(D )int[] arr = new int[10];System.out.println(arr[0]);A.编译不通过B.运行时出错C.输出nullD.输出012.下面哪个语句正确地声明一个整型的二维数组( C)A. int a[][] = new int[][];B. int b[10][10] = new int[][];C. int c[][] = new int[10][10];D. int []d[] = new int[10][10];13.以下代码输出是( D )//2+4+6+8+10=30class Demo {public static void main(String[] args) {int i = 0;int sum = 0;while (i <= 10) {i++;if (i % 2 != 0)continue;sum += i;}System.out.println(sum);}}A. 55B. 45C. 35D. 3014.和下面代码能完成相同的选项是(C)class Demo {public static void main(String[] args) {int i = 1;int sum = 0;while (i <= 100) {if (i % 2 == 0) {sum = sum + i;}i++;}System.out.println(sum);}}A. for (int x =1; x<=100;x++){ sum=sum+x;}B. for (int x =0; x<=100;x+=2){ sum=sum+x;}C. for (int x =1; x<=100;x+=2){ sum=sum+x;}D.上述全对15.下列有关类、对象和实例的叙述,正确的是哪一项?(B)A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称16.下面关于java中包的说法正确的是(B C D )A. 在java中可以使用import语句导入包B. 在java中可以使用package语句导入包C. 位于同一个包中的类,不需要导包就可以直接访问D. 不同的包中可以出现类名相同的类17.下列有关抽象类的叙述正确的是哪项?(C)A.抽象类中一定含有抽象方法B.抽象类既能被实例化也能被继承C.抽象类的声明必须包含abstract关键字D.抽象类中不能有构造方法 //可以有但是不能被实例化18.下列有关接口的叙述错误的是哪项?(C)A.接口中只能包含抽象方法和常量B.一个类可以实现多个接口C.类实现接口时必须实现其中的方法D.接口不能被继承19.运行以下代码片段,输出结果是?( B)class X {Y b = new Y();X() {System.out.print("X");}}class Y {Y() {System.out.print("Y");}}public class Z extends X {Y y = new Y();Z() {System.out.print("Z");}public static void main(String[] args) {new Z();}}A. ZB. YZC. XYZD. YXYZ20.下列关于类的继承的描述,正确的有( D )A. 一个类可以同时继承多个父类B. 一个类可以具有多个子类C. 子类会自动拥有父类所有的方法D. 一个类继承另一个类需要使用 extends 关键字21.下列选项中关于java中this关键字的说法错误的有( C )A. this关键字是一个对象的引用B. this关键字可以用于引用当前类以外其他类型的对象C. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行D. this可用于静态方法中22.下列关于构造函数的说法正确的是( B )A. 方法名必须与类名相同B. 使用new关键字创建对象时,java虚拟机会自动调用构造函数C. 我们在定义一个类时,必须要声明至少一个构造函数D. 构造函数中不能使用return语句23.编译并运行以下代码将发生什么?( C)class MyClass {int x;MyClass(int i) {x = i;}public static void main(String args[]) {MyClass m1 = new MyClass(100);MyClass m2 = new MyClass(100);if (m1.equals(m2)) {System.out.println("Both are equal");} else {System.out.println("Both are not equal");}}}A. 代码编译时报出错误提示信息“equals() 方法未定义”B. 编译通过,抛出运行期异常.C. 输出Both are equal.D. 输出Both are not equal24.运行以下的main()方法,结果是?()1 public static void main(String[] args)2 {3 String myString;4 int x = 100;56 if (x < 100) myString = "x is less than 100";7 if (x > 100) myString = "x is greater than 100";8 System.out.println(myString.length());9 }A.编译时报出错误提示信息“变量myString没有被初始化”B.编译通过C.编译未能通过。
java习题附答案

java习题附答案Java习题附答案在学习Java编程语言的过程中,练习习题是非常重要的一部分。
通过解决习题,我们可以加深对Java语法和编程逻辑的理解,提高编程能力。
下面就为大家提供一些常见的Java习题及其答案,希望对大家的学习有所帮助。
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程序,计算1到100之间所有奇数的和。
```javapublic class SumOfOddNumbers {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("The sum of odd numbers from 1 to 100 is: " + sum); }}```3. 编写一个Java程序,找出一个整数数组中的最大值和最小值。
```javapublic class MaxMinInArray {public static void main(String[] args) {int[] arr = {5, 8, 2, 10, 15, 3};int max = arr[0];int min = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}if (arr[i] < min) {min = arr[i];}}System.out.println("The maximum value in the array is: " + max);System.out.println("The minimum value in the array is: " + min);}}```通过解决以上习题,我们可以加深对Java语法和编程逻辑的理解,提高编程能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....//这是一个菲波拉契数列问题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的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
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表示。
1.程序分析:(a> b)?a:b这是条件运算符的基本例子。
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,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
* /1.程序分析:利用辗除法。
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】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n '.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个数相加),几个数相加有键盘控制。
1.程序分析:关键是计算出每一项的值。
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四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。