java编程基础—数组练习
- 格式:doc
- 大小:145.00 KB
- 文档页数:12
一填空题1)数组的元素通过下标来访问,数组Array的长度为 Array.length。
2)数组复制时,"="将一个数组的引用传递给另一个数组。
3)JVM将数组存储在栈(堆或栈)中。
4)数组的二分查找法运用的前提条件是数组已经排序。
5)Java中数组的下标的数据类型是整型。
6)数组最小的下标是0。
7)arraycopy()的最后一个参数指明复制元素的个数。
8)向方法传递数组参数时,传递的是数组的引用。
9)数组初始化包括数组的申明,创立和初始化。
10)数组下标访问超出索引围时抛出数组越界异常11)浮点型数组的默认值是0.0f。
12)数组创立后其大小不能改变。
二选择题1.下面错误的初始化语句是_ABD__A. char str[]="hello";B. char str[100]="hello";C. char str[]={'h','e','l','l','o'};D. char str[]={'hello'};2.定义了一维int型数组a[10]后,下面错误的引用是_B__A.a[0]=1;B.a[10]=2;C.a[0]=5*2;D.a[1]=a[2]*a[0];3.下面的二维数组初始化语句中,正确的选项是____A. floatb[2][2]={0.1,0.2,0.3,0.4};B. int a[][]={{1,2},{3,4}};C. int a[2][]= {{1,2},{3,4}};D. float a[2][2]={0};4.引用数组元素时,数组下标可以是_D___A. 整型常量B. 整型变量C. 整型表达式D. 以上均可5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____A. 24B.25C. 18D. 176.以下初始化字符数组的语句中,正确的选项是__B__A. char str[5]="hello";B. char str[]={'h','e','l','l','o','\0'};C. char str[5]={"hi"};D. char str[100]="";7.数组在Java中储存在C中A.栈 B.队列C.堆D.链表8.下面程序的运行结果是____main(){int a[][]={{1,2,3},{4,5,6}};System.out.printf("%d", a[1][1]);}A. 3B.4C.5D. 69.下面程序的运行结果是_C___main(){int *=30;int[] numbers=new int[*];*=60;System.out.println(numbers.length);}A.60B.20C.30D.5010.下面程序的运行结果是__BDF__main(){char s1[]="ABCDEF".toCharArray();int i=0;while(s1[i++]!='\0')System.out.println(s1[i++]);}A. ABCDEFB. BDFC. ABCDED. BCDE11.下面不是创立数组的正确语句CA.float f[][]=new float[6][6]; B.float f[]=new float[6];C.float f[][]=new float[][6];D.float[][]f=new float[6][];12.下面不是数组复制方法的是(C)A. 用循环语句逐个复制数组B. 用方法arraycopyC. 用"="进展复制D. 用clone方法13.数组a的第三个元素表示为DA.a(3)B.a[3]C.a(2)D.a[2]14.当访问无效的数组下标时,会发生BA. 中止程序B. 抛出异常C. 系统崩溃D. 直接跳过15.使用arraycopy()方法将数组a复制到b正确的选项是AA. arraycopy(a,0,b,0,a.length)B. arraycopy(a,0,b,0,b.length)C.. arraycopy(b,0,a,0,a.length)D. arraycopy(a,1,b,1,a.length)16.关于数组默认值,错误的选项是BA. char--'"u0000'B. Boolean--trueC. float--0.0fD. int-- 017.关于数组作为方法的参数时,向方法传递的是 AA. 数组的引用B.数组的栈地址C. 数组自身D.数组的元素18.关于数组复制,以下说法错误的选项是ACA."="可以实现数组复制B. 运用循环语句进展数组复制必须两个数组长度一样C. arraycopy()方法没有给目标数组分配存空间D.数组复制是数组引用的传递19.以下语句会造成数组new int[10]越界是DA.a[0]+=9;B.a[9]=10;C.—a[9]D.for(int i=0;i<=10;i++) a[i]++;20.在JDK环境下编译JAVA源程序使用的命令是(B)A.javaB.javacC.jvmD.tomcatD. 子类不能使用父类的构造方法21.main方法是java Application程序执行的入口点。
JAVA基础练习第⼀章Java语⾔基础⼀、基本练习1.计算两个变量的乘积创建⼀个Java类,在main()⽅法中定义两个局部变量,并输出这两个变量的乘积。
2.测试成员变量与局部变量的有效范围编写Java程序,声明成员变量age与局部变量name,⽐较这两个变量的区别,并添加相应的注释。
3.⾃动类型转与强制类型转换的应⽤编写Java程序,定义⼀个double型的变量和float型的变量,将double 型的变量加上float型的变量*10的积,赋值给另⼀个double型的变量和float型的变量。
4.解决成员变量与局部变量重名的问题编写Java程序,当成员变量与局部变量重名时,输出成员变量的值。
运⾏结果:实例的运⾏结果如图1所⽰。
5.请举例说明前置运算符与后置运算符的区别编写Java程序,应⽤前置运算符和后置运算符实现⾃增与⾃减运算,并输出计算结果,从⽽⽐较前置运算符与后置运算符的区别。
运⾏结果:实例的运⾏结果如图1所⽰。
图1运⾏结果6.加密可以这样简单——将指定字符译成密码将字符串“mrsoft”译成密码,密码规律是:⽤原来的字母后⾯第4个字母代替原来的字母。
例如,字母m后⾯的第4个字母是q,⽤q代替m。
运⾏结果:实例的运⾏结果如图1所⽰。
图1运⾏结果7.⽤三元运算符判断奇数和偶数编写Java程序,使⽤三元运算符“?:”判断指定的整数是奇数还是偶数。
8.⽤三元运算符判断库存状态编写Java程序,使⽤三元运算符“?:”判断库存状态,如果库存数量⼩于2,显⽰库存不⾜,否则显⽰库存数量。
9.没有不可能——0也可以作为除数编写Java程序,实现以0作为除数的除法运算和求余运算。
10.⽤最有效的⽅法算出2×16等于⼏编写Java程序,⽤最有效的⽅法算出2×16的结果。
第⼆章线程控制⼀、基本练习1.⽤if语句判断奇数和偶数编写Java程序,使⽤if语句实现判断变量x是奇数还是偶数。
运⾏结果:实例的运⾏结果如图1所⽰。
一、关于循环的选择题1. 下面哪种循环不是Java语言中的循环结构?A. for循环B. if-else循环C. while循环D. do-while循环2. 在Java语言中,以下哪种循环可以在不知道具体循环次数的情况下使用?A. for循环B. if-else循环C. while循环D. do-while循环3. 在Java语言中,以下哪种循环至少会被执行一次?A. for循环B. if-else循环C. while循环D. do-while循环4. 下列哪个语句是正确的?A. for (int i=0; i<10; i++){}B. for (int i=0; i<10; i++){}C. for (i=0; i<10; i++){}D. for (int i=0; i<10, i++){}5. 在Java语言中,以下哪种循环会先执行循环体再判断条件?A. for循环B. if-else循环C. while循环D. do-while循环二、关于数组的选择题1. 在Java语言中,以下哪种声明是正确的数组声明方式?A. int arr[5];B. int[] arr = new int[5];C. arr[5] = new int[];D. int arr[];2. 如何获取数组arr的长度?A. arr.lenB. arr.sizeC. arr.lengthD. arr.count3. 在Java语言中,下列哪种方式是正确的数组初始化方式?A. arr = {1, 2, 3, 4, 5}B. arr = new int[5]{1, 2, 3, 4, 5}C. arr = (1, 2, 3, 4, 5)D. arr = new int[]{1, 2, 3, 4, 5}4. 在Java语言中,以下哪种方式能够遍历数组arr中的元素?A. for (int i=0; i<arr.length; i++){}B. for (int i=0; i<arr.size; i++){}C. for (int i=0; i<arr.count; i++){}D. for (int i=0; i<=arr.length; i++){}5. 在Java语言中,以下哪种操作可以将数组arr中的元素倒序排列?A. Arrays.sort(arr, Collections.reverseOrder());B. Arrays.sort(arr);C. Collections.reverse(Arrays.asList(arr));D. Collections.sort(arr, Collections.reverseOrder());以上就是关于Java语言中循环和数组的一些选择题,请读者认真思考后选择正确的答案。
V JA VA A 类和对象及数组习题类和对象及数组习题一、选择题一、选择题(1)下列构造方法的调用方式中,正确的是()下列构造方法的调用方式中,正确的是(D )--原因:在通过new 实例化一个类对象时系统会自动调用该类相应的构造方法。
A .按照一般方法调用.按照一般方法调用B .由用户直接调用.由用户直接调用C .只能通过new 自动调用自动调用D .被系统调用.被系统调用(2)在Java 中,能实现多重继承效果的方式是(中,能实现多重继承效果的方式是(C )--原因:一个类可以同时实现多个接口。
Java 接口反映了对象较高层次的抽象,还弥补了Java 只支持单继承的不足,可用它来完成多继承的一些功能。
A .内部类.内部类B .适配器.适配器C .接口.接口D .同步.同步(3)int 型public 成员变量MAX_LENGTH ,该值保持为常数100,则定义这个变量的语句是( D )—原因:java 中定义常量用关键字final 来定义。
A .public int MAX_LENGTH=100B .final int MAX_LENGTH=100C .public const int MAX_LENGTH=100D .public final int MAX_LENGTH=100 (4)下列叙述中,正确的是(A )—原因:Java 严格区分大小写,所以变量number 与Number 不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。
Java 源文件中的public 类只能有一个。
A. 声明变量时必须指定一个类型B. Java 认为变量number 与Number 相同相同C. Java 中唯一的注释方式是"//"D. 源文件中public 类可以有0或多个或多个(5)下列叙述中,错误的是( D)—原因:子类继承父类,并且可以有自己的成员变量和成员方法。
java编程基础练习题Java是一种面向对象的编程语言,具有跨平台特性,被广泛应用于开发各种应用程序。
对于初学者来说,掌握Java编程基础是非常重要的。
在本文中,我将为您提供一些Java编程基础练习题,帮助您巩固和提升自己的编程技能。
练习一:Hello, Java!创建一个Java类,命名为HelloJava,编写一个main方法,在该方法中打印输出"Hello, Java!"。
运行该程序,确保输出结果与期望一致。
练习二:变量和数据类型创建一个Java类,命名为Variables,编写一个main方法。
在该方法中,完成以下任务:1. 声明一个整型变量age,并赋值为182. 声明一个浮点型变量height,并赋值为1.753. 声明一个布尔型变量isMale,并赋值为true4. 声明一个字符型变量initial,并赋值为'A'5. 声明一个字符串型变量name,并赋值为"Tom"6. 打印输出上述变量的值运行该程序,确保输出结果与期望一致。
练习三:数学运算创建一个Java类,命名为MathOperations,编写一个main方法。
在该方法中,完成以下任务:1. 声明两个整型变量a和b,并分别赋值为10和52. 分别使用加法、减法、乘法、除法、取余运算对a和b进行运算,并打印输出结果运行该程序,确保输出结果与期望一致。
练习四:条件语句创建一个Java类,命名为Conditions,编写一个main方法。
在该方法中,完成以下任务:1. 声明一个整型变量score,并赋值为852. 使用条件语句判断score的等级,将结果存储在一个字符串变量grade中。
具体规则如下:- 当score大于等于90时,grade为"A"- 当score大于等于80且小于90时,grade为"B"- 当score大于等于70且小于80时,grade为"C"- 当score大于等于60且小于70时,grade为"D"- 当score小于60时,grade为"E"3. 打印输出grade的值运行该程序,确保输出结果与期望一致。
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基础编程练习题一、基本语法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实现该接口。
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基础编程练习题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程序,判断一个数是否为回文数,并输出结果。
1、编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。
(知识点:数组定义和创建、一维数组初始化)public class work01 {public static void main(String[] args) {// TODO Auto-generated method stubint arr[] = new int[]{10,20,30,40,50};for(int i = 0;i<=arr.length;i++){System.out.println(arr[i]);}}}运行结果:2、将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。
(知识点:数组复制)public class work02 {public static void main(String[] args) {// TODO Auto-generated method stubchar[] copyFrom = newchar[]{'n','e','u','s','o','f','t','e','d','u','c','a','t','i','o','n'};char[ ] copyTo = new char[16];System.arraycopy(copyFrom, 0, copyTo, 0, 16);System.out.println(new String(copyTo));}}运行结果:3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
(知识点:Arrays.sort排序、冒泡排序)public class work03 {public static void main(String[] args) {// TODO Auto-generated method stubint[ ] point = {1,6,2,3,9,4,5,7,8};java.util.Arrays.sort( point );for(int i=0;i<point.length;i++){System.out.print(point[i]);}}}运行结果:public class Demo03 {public static void main(String[] args) {// TODO Auto-generated method stubint a[][] = { { 2, 3, 4 }, { 4, 6, 8 } };int b[][] = { { 1, 5, 2, 8 }, { 5, 9, 10, -3 }, { 2, 7, -5, -18 } };//2次循环输出2行格式,行数 2行for (int k = 0; k < a.length; k++) {//每行输出4个元素,列数 4列for (int i = 0; i < b[0].length; i++) {int num = 0;for (int j = 0; j < b.length; j++) {//累加3次,生成具体的新数据num += a[k][j] * b[j][i];//第一次a[0][0]*b[0][0]//第二次a[0][1]*b[1][0]//第三次a[0][2]*b[2][0]}System.out.print(num + " ");//第一个数出来了}System.out.println("");}}}运行结果:5、输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
(知识点:数组定义和创建、多维数组初始化、数组遍历)public class work04 {public static void main(String[] args) {// TODO Auto-generated method stubdouble[][] buffer = new double[][]{{0,1,2,3},{4,5,6,7}, {8,9,10,11},{11,12,13,14},{15,16,17,18}};for (int i = 0; i < buffer.length; i++) {for (int j = 0; j < buffer[0].length; j++) {System.out.print(buffer[i][j]);}System.out.println();}}}运行结果:6、在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
(知识点:数组遍历、数组元素访问)public class work05 {public static void main(String[] args) {// TODO Auto-generated method stubint[] arr = new int[]{18,25,7,36,13,2,89,63};int max = arr[0];int maxid = 0;for(int i = 1;i<arr.length;i++){if(arr[i]>max){max = arr[i];maxid = i;}}System.out.println("最大数是"+max);System.out.println("最大数的下标是"+maxid);}}运行结果:7、将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问)8. 将一个数组中的重复元素保留一个其他的清零。
(知识点:数组遍历、数组元素访问)public class work06 {public static void main(String[] args) {// TODO Auto-generated method stubint arr[] =new int[] {2,3,4,5,2,2,3,4,1,5,7};for(int i = 0;i<arr.length;i++){for(int j = i+1;j<arr.length;j++){if(arr[i]==arr[j]){arr[j] = 0;}}System.out.print(arr[i]);}}}运行结果:9、给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。
(知识点:数组遍历、数组元素访问)方法一:使用排序sort();方法import java.util.*;public class demo02 {public static void main(String[] args) {// TODO Auto-generated method stubint[] arr = {-10,2,3,246,-100,0,5};//计算平均值double sum = 0;//定义数组元素之和double avg = 0;//定义数组元素之和的平均值for(int i = 0;i<arr.length;i++){sum = sum + arr[i];}avg = sum/arr.length;System.out.println("数组元素之和:"+sum);System.out.println("数组元素的平均值:"+avg);System.out.println("经过排序:");java.util.Arrays.sort(arr);for(int i = 0;i<arr.length;i++){System.out.print(arr[i]+" ");}System.out.println();System.out.println("最小值:"+arr[0]);System.out.println("最大值:"+arr[arr.length-1]);}}运行结果:方法二:使用一次for循环public class Demo04 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint[] arr = {-10,2,3,246,-100,0,5};int max = arr[0];int min = arr[0];int add = arr[0];for(int i = 1;i<arr.length;i++){//遍历求和,最大值和最小值也一起求出来add = add + arr[i];//求和if(arr[i]>max){max = arr[i];}else if(arr[i]<min){min = arr[i];}}System.out.println("平均值:"+add/arr.length);System.out.println("最大值"+max);System.out.println("最小值"+min);}}运行结果:。