基础Java数组练习题及答案教学内容
基础Java数组练习题及答案
在开发的时候主方法之中的代码越少越好。
1、将一个给定的整型数组转置输出,
例如:源数组,1 2 3 4 5 6
转置之后的数组,6 5 4 3 2 1
2、现在有如下的一个数组:
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ;
思路:生活中的问题解决 = 程序中的解决;
1、确定出不为0的个数,这样可以开辟新数组;
2、从旧的数组之中,取出内容,并将其赋给新开辟的数组;
3、现在给出两个数组:
·数组A:“1,7,9,11,13,15,17,19:;·数组b:“2,4,6,8,10”
两个数组合并为数组c,按升序排列。
主要的目的是熟悉这两个操作的方法,数组扩大,必须要将原始数组的内容拷贝进去。
java 数组试题
java 数组试题Java 数组是一种基本的数据结构,在 Java 编程中经常会使用到。
数组是一组同类型数据的集合,可以通过下标来访问数组中的元素。
Java 数组是静态的,也就是说一旦数组声明后,它的长度就无法更改。
本文将介绍 Java 数组的一些常见试题及参考答案,希望对 Java 学习者有所帮助。
1. 如何创建一个数组?在 Java 中创建一个数组,需要使用关键字 new 来申请数组空间。
例如,如下代码可以创建长度为 5 的整型数组:```int[] arr = new int[5];```2. 如何计算数组的长度?在 Java 中,可以使用 length 属性来获取数组的长度。
例如,如下代码可以获取数组 arr 的长度:```int len = arr.length;```3. 如何遍历数组?Java 有很多方法可以遍历数组,如下列举两种常见的方法:(1) for 循环:```for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}```(2) for-each 循环:```for (int i : arr) {System.out.println(i);}```4. 如何对数组进行排序?Java 提供了 Arrays 类来实现对数组的排序。
例如,如下代码可以对整型数组 arr 进行升序排序:```Arrays.sort(arr);```5. 如何将数组转化为字符串?Java 中,可以使用 Arrays 类的 toString() 方法将数组转换为字符串。
例如,如下代码将数组 arr 转化为字符串:```String str = Arrays.toString(arr);```6. 如何取数组中的最大值和最小值?Java 中,可以使用 Arrays 类的 sort() 方法将数组排序,并选择第一个和最后一个元素来获取最小值和最大值。
java基础练习及参考答案
java基础练习及参考答案java基础练习编程结构:1.如果一个数从左边念和从右边念都就是同一个数,就称作回文数.比如:686就是一个回文数.编程找到1000以内所有的回文数.packagetext01;importjava.util.*;publicclasst1{publicstaticvoidmain(stringargs[]){inti,n,m,count=0;system.out.p rintln(\);for(i=1;i<=1000;i++){n=i;m=0;while(n!=0){m=m*10+n;n/=10;}if(m==i){sy stem.out.println(m);count++;}}}}2.一位妇女在河边洗碗.邻居们问:\家里去了多少个客人?\她提问:\每两个客人氰化钠一个菜碗,每三个客人氰化钠一个汤碗,每四个客人氰化钠一个饭碗,共用碗65个\反问共去了多少客人?packaget1;publicclasst2{publicstaticvoidmain(stringargs[]){intx=0;while(x<65){inti=x/2;i ntj=x/3;intm=x/4;if(i+j+m==65){system.out.println(x);}x++;}}}字符串:1/51.给定一个字符串“abc123abc”,求:1)将字串全部转为大写abc123abcpackagetext01;importjava.util.*;publicclasst1{publicstaticvoidmain(stringargs[]){stringstr=\;stringstr1=str.to uppercase();system.out.println(str1);}}2)截取字串的前3个字符abcpackagetext01;importjava.util.*;publicclasst1{publicstaticvoidmain(stringargs[]){stringstr=\;stringa[]=str.split(\);system.out.println(a[0]);}}3)去掉字符中两头的空格abc123abcpackagetext01;publicclasst2{publicstaticvoidmain(string[]args){stringstring=\;string=mytrim( string);system.out.println(\+string+\);}publicstaticstringmytrim(stringstring) {intstart=0;intend=string.length()-1;while(start<=end&&string.charat(start)==''){start++;}while(start<=end&&strin g.charat(end)==''){end--;}returnstring.substring(start,end+1);}}4)搜寻字母a发生的边线6packagetext01;importjava.util.*;publicclasst1{publicstaticvoidmain(stringargs[]){stringstr=\;system.out.println(str.indexof(\));}}2.取值一个字符串“helloworld.”,将字符串间的空格换成.2/5(提示信息:需用replaceall或循环方式处置)。
Java程序设计进阶1-数组(带答案)
数组元素的引用
数组
数组元素的使用 一维数组通过索引符访问自己的元素,如
boy[0],boy[1]等。 注意:索引从0开始,数组若有7个元素,那么索引到6为 止,如果程序使用了如下语句:boy[7]=384.98f; 程序运行时将发生.ArrayIndexOutOfBoundsException 异常,因此在使用数组时必须谨慎,防止索引越界。
26
数组
与数组有关的常见错误 数组下标越界
变量声明时指明元素数组个数。下面几句均产生编译错
int [3] x; int [3][] a; 或 int [][3] a; int [3][4] b; int [3] y=new int [3]; Int [3] z={1, 2, 3} 原因分析:数组类型只能如int[],不能如int[n].否则int[3]和int[4] 类型不同,不能相互赋值。进而导致“数组对象在堆空间创建”带 来的好处,如动态创建数组、数组元素数量“可变”、多维不规则 数组等特色,几乎丧失殆尽。 27
对二维复合数据类型的数组,必须首先为最高维分配引用 空间,然后再顺次为低维分配空间。而且,必须为每个数 组元素单独分配空间。
25
数组
多维数组 二维数组元素的引用
对二维数组中的每个元素,引用方式为: arrayName[index1][index2]
例如: num[1][0];
二维数组举例:Array2D.java
17
数组
数组元素的使用 二维数组也通过索引符访问自己的元素,如a[0][1], a[1][2]等;需要注意的是索引从0开始,比如声明创建了 一个二维数组a: int a[][] = new int[2][3];
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项之和。
Java数组练习题(带答案)
一填空题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、 float b[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、charstr[]={'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 x=30;int[] numbers=new int[x];x=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数组习题答案Java数组习题答案在学习Java编程语言的过程中,数组是一个非常重要的概念。
它是一种用来存储相同类型数据的数据结构,可以帮助我们更有效地管理和操作数据。
在学习数组的过程中,我们经常会遇到一些习题,通过解答这些习题可以加深对数组的理解,提高编程能力。
下面我们来看一些常见的Java数组习题及其答案:1. 如何声明一个数组?答:可以使用以下语法来声明一个数组:```javaint[] arr = new int[5];```2. 如何初始化一个数组?答:可以使用以下语法来初始化一个数组:```javaint[] arr = {1, 2, 3, 4, 5};```3. 如何访问数组中的元素?答:可以使用以下语法来访问数组中的元素:```javaint[] arr = {1, 2, 3, 4, 5};System.out.println(arr[2]); // 输出3```4. 如何计算数组中元素的和?答:可以使用以下代码来计算数组中元素的和:```javaint[] arr = {1, 2, 3, 4, 5};int sum = 0;for (int i = 0; i < arr.length; i++) {sum += arr[i];}System.out.println("数组元素的和为:" + sum);```5. 如何找出数组中的最大值和最小值?答:可以使用以下代码来找出数组中的最大值和最小值:```javaint[] arr = {1, 2, 3, 4, 5};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("数组中的最大值为:" + max);System.out.println("数组中的最小值为:" + min);```通过解答这些习题,我们可以更加深入地理解和掌握Java数组的相关知识,提高自己的编程能力。
java基础入门课后习题答案
java基础入门课后习题答案Java基础入门课后习题答案Java是一门广泛应用于软件开发领域的编程语言,掌握Java的基础知识对于想要从事软件开发的人来说是非常重要的。
在学习Java的过程中,课后习题是巩固知识和提高编程能力的重要途径。
本文将为大家提供一些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 = 2; i <= 100; i += 2) {sum += i;System.out.println("1到100之间所有偶数的和为:" + sum); }}```3. 编写一个Java程序,判断一个数是否为素数。
```javapublic class PrimeNumber {public static void main(String[] args) {int num = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + "是素数");} else {System.out.println(num + "不是素数");}}```二、面向对象题1. 编写一个Java类,表示一个学生,包含学生的姓名和年龄,并提供获取和设置姓名、年龄的方法。
java数组练习题
java数组练习题一、基础练习题1. 创建一个名为"numbers"的整型数组,包含以下元素:1, 2, 3, 4, 5。
2. 打印数组中第三个元素的值。
3. 修改数组中第二个元素的值为10。
4. 打印数组中所有元素的值。
二、进阶练习题1. 创建一个名为"grades"的双精度浮点型数组,包含以下元素:78.5, 92.3, 85.6, 88.0。
2. 计算并打印数组中元素的平均值。
3. 找出并打印数组中的最大值和最小值。
4. 创建一个名为"names"的字符串数组,包含以下元素:"Alice", "Bob", "Charlie", "David"。
5. 将"David"替换为"Ethan"。
6. 打印修改后的字符串数组。
三、马拉松比赛练习题一共有10名选手参加马拉松比赛,他们的成绩分别是:1. 135分钟2. 147分钟3. 120分钟4. 155分钟5. 130分钟6. 144分钟7. 118分钟8. 137分钟9. 165分钟10. 152分钟1. 创建一个名为"marathonTimes"的整型数组,包含以上成绩。
2. 计算并打印完成马拉松的选手人数。
3. 计算并打印平均完成时间。
4. 找出并打印完成时间最短和最长的选手成绩。
四、学生成绩练习题某班级有10名学生,他们的成绩如下:1. 89分2. 78分3. 92分4. 85分5. 76分6. 94分7. 81分8. 90分9. 87分10. 95分1. 创建一个名为"studentGrades"的整型数组,包含以上成绩。
2. 计算并打印班级的平均成绩。
3. 找出并打印成绩大于90分的学生数量。
4. 将成绩不及格(低于60分)的学生的成绩替换为60分。
《Java基础入门》课后章节习题及答案(完整版)
《Java基础入门》课后章节习题及答案(完整版)《Java基础入门》课后章节习题及答案(完整版)《Java基础入门》课后习题第1章Java开发入门一、填空题1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。
2、Java程序的运行环境简称之为JRE_____。
3、编译Java程序需要使用_javac_____命令。
4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。
5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。
二、选择题1、以下选项中,哪些属于JDK工具?(多选)ABCDA、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?CA、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?DA、.javaB、.jreC、.exeD、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?BA、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;三、问答题1、简述Java的特点。
面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、简述JRE与JDK的区别。
JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。
Java基础入门_课后题答案_仅供参考
黑马面试题1:定义map集合,并自定义对象,对map集合遍历,打出key和value值【已完成】2:定义一个类A,类中定义一个show方法,打印一句话,在定义一个TestA类,利用反射在TestA中创建A的对象,并调用show方法3:使用高效字符缓冲流复制文件4:把C盘中的一个多层文件夹拷贝到D盘中。
用高效的方法(要求写思路,注释,代码)5:Integer泛型Map中存储字符串6:开启两个线程每隔一段时间分别向一个共享数组中添加元素,每个线程添加3个即可。
7:Map的两种遍历方式【已完成】8:如何用反射去创建一个对象,有2种方式,尽量用代码去体现9:编写一个程序,把这个目录里边的所有的带.java文件都拷贝到另一个目录里边,拷贝成功以后,把后缀名是.java改成.txt10:创建多线程的方式有几种?尽量用代码去体现11:编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。
【已完成】12:编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List 集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出【已完成】14:Collection集合下班有哪些类,哪些类又有哪些特点ListSet15: 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×100016:编写一个类,增加一个实例方法用于打印一条字符串。
并使用反射手段创建该类的对象,并调用该对象中的方法。
17:编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象,并调用该对象中的方法showString18:复制多级文件夹19:写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法,用for循环创建5个线程对象。
数组练习题及答案
数组练习题及答案问题1:数组的基本操作题目:编写一个程序,实现以下功能:1. 初始化一个整型数组,大小为10,所有元素初始化为0。
2. 将数组中的元素依次设置为1到10。
3. 输出数组中的所有元素。
答案:```c#include <stdio.h>int main() {int arr[10] = {0};for (int i = 0; i < 10; i++) {arr[i] = i + 1;}for (int i = 0; i < 10; i++) {printf("%d ", arr[i]);}return 0;}```问题2:数组的反转题目:编写一个函数,实现对整数数组的反转。
答案:```cvoid reverseArray(int arr[], int size) {int start = 0;int end = size - 1;while (start < end) {int temp = arr[start];arr[start] = arr[end];arr[end] = temp;start++;end--;}}```问题3:数组的查找题目:编写一个函数,实现在数组中查找特定元素的索引,如果找到返回该元素的索引,如果未找到返回-1。
答案:```cint findElement(int arr[], int size, int element) {for (int i = 0; i < size; i++) {if (arr[i] == element) {return i;}return -1;}```问题4:数组的排序题目:使用冒泡排序算法对整数数组进行排序。
答案:```cvoid bubbleSort(int arr[], int size) {for (int i = 0; i < size - 1; i++) {for (int j = 0; j < size - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}```问题5:数组的动态扩展题目:编写一个函数,实现对数组的动态扩展,使其能够存储更多的答案:```cvoid dynamicArrayExpansion(int *arr, int *size, int capacity, int newElement) {if (*size >= capacity) {int newCapacity = capacity * 2;int *newArr = (int *)malloc(newCapacity *sizeof(int));for (int i = 0; i < *size; i++) {newArr[i] = arr[i];}free(arr);arr = newArr;capacity = newCapacity;}arr[(*size)++] = newElement;}```结束语:这些练习题涵盖了数组的基本操作、查找、排序和动态扩展等常见问题,希望能够帮助您更好地理解和掌握数组的使用。
java 数组练习题
java 数组练习题Java 数组练习题Java 是一种广泛应用于软件开发的编程语言,而数组则是 Java 中常用的数据结构之一。
数组可以用来存储一系列相同类型的数据,它提供了便捷的访问和操作方式。
在这篇文章中,我们将通过一些实际的练习题来巩固和提升对 Java 数组的理解和应用。
1. 数组元素求和首先,我们来考虑一个简单的问题:给定一个整数数组,如何计算数组中所有元素的和呢?我们可以使用一个循环遍历数组,并将每个元素累加到一个变量中。
以下是一个示例代码:```javaint[] nums = {1, 2, 3, 4, 5};int sum = 0;for (int i = 0; i < nums.length; i++) {sum += nums[i];}System.out.println("数组元素的和为:" + sum);```2. 数组元素查找接下来,我们考虑一个查找问题:给定一个整数数组和一个目标值,如何确定目标值是否存在于数组中?我们可以使用一个循环遍历数组,并逐个比较元素与目标值是否相等。
以下是一个示例代码:```javaint[] nums = {1, 2, 3, 4, 5};int target = 3;boolean found = false;for (int i = 0; i < nums.length; i++) {if (nums[i] == target) {found = true;break;}}if (found) {System.out.println("目标值存在于数组中");} else {System.out.println("目标值不存在于数组中");}```3. 数组元素排序排序是数组操作中常见的需求之一。
Java 提供了多种排序算法,如冒泡排序、选择排序和插入排序等。
这里我们以冒泡排序为例,来演示如何对数组元素进行排序。
Java数组练习题(带答案)培训讲学
J a v a数组练习题(带答案)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__3. A. a[0]=1; B. a[10]=2; C. a[0]=5*2; D. a[1]=a[2]*a[0];4.下面的二维数组初始化语句中,正确的是____5. A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}};6. C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0};7.引用数组元素时,数组下标可以是_D___8. A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可9.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____A. 24B. 25C. 18D. 1710.下列初始化字符数组的语句中,正确的是__B__11.A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'};12.C. char str[5]={"hi"}; D. char str[100]="";13.数组在Java中储存在 C 中14.A. 栈 B. 队列 C. 堆D. 链表15.下面程序的运行结果是____main() {int a[][]={{1,2,3},{4,5,6}};System.out.printf("%d", a[1][1]);}A. 3B. 4C. 5D. 616.下面程序的运行结果是_C___int x=30;int[] numbers=new int[x];x=60;System.out.println(numbers.length);}A. 60B. 20C. 30D. 5018.下面程序的运行结果是__BDF__19.main() {20.char s1[]="ABCDEF".toCharArray();21.int i=0;22.while(s1[i++]!='\0')System.out.println(s1[i++]);}A. ABCDEFB. BDFC. ABCDED. BCDE23.下面不是创建数组的正确语句C24. A.float f[][]=new float[6][6]; B.float f[]=new float[6];25. C.float f[][]=new float[][6]; D.float [][]f=new float[6][];26.下面不是数组复制方法的是(C)A. 用循环语句逐个复制数组B. 用方法arraycopyC. 用"="进行复制D. 用clone方法27.数组a的第三个元素表示为DA. a(3)B. a[3]C.a(2)D. a[2]28.当访问无效的数组下标时,会发生BA. 中止程序B. 抛出异常C. 系统崩溃D. 直接跳过29.使用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)30.关于数组默认值,错误的是 BA. char--'"u0000'B. Boolean--trueC. float--0.0fD. int-- 031.关于数组作为方法的参数时,向方法传递的是 AA. 数组的引用B. 数组的栈地址C. 数组自身D. 数组的元素32.关于数组复制,下列说法错误的是ACA. "="可以实现数组复制B. 运用循环语句进行数组复制必须两个数组长度相同C. arraycopy()方法没有给目标数组分配内存空间D. 数组复制是数组引用的传递33.下列语句会造成数组new int[10]越界是DA. a[0] += 9;B. a[9]=10;C. —a[9]D. for(int i=0;i<=10;i++) a[i]++;34.在JDK环境下编译JAVA源程序使用的命令是(B )A.javaB.javacC.jvmD.tomcatD. 子类不能使用父类的构造方法35.main方法是java Application 程序执行的入口点。
基础Java数组练习题及答案
J
reverse(data);
print(data);
}
public static void reverse(int temp[]){
int center =/2 ;//求出中心点
int head = 0 ;//表示从前开始计算脚标
int tail=-1 ;//表示从后开始计算脚标
+"、");
}
}
}
主要的目的是熟悉这两个操作的方法,数组扩大,必须要将原始数组的内容拷贝进去。
int data2 [] = new int[] {2,4,6,8,10};
int newArr [] = concat(data1,data2);
J
print(newArr);
}
public static int[] concat(int src1[],int src2[]){
int len =+;//新数组的大小
fun(oldArr,newArr);
print(newArr);
}
public static void fun(int src[],int data[]){
int foot = 0 ;//控制新数组的脚标,data
for(int x = 0 ; x < ; x++){
if(src[x] != 0){
data[foot++] = src[x];
}
}
}
public static int count(int temp[]){
int num = 0 ;
for(int x = 0 ; x < ; x++){
java数组习题及答案
三、/*现在有如下一个数组:*int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};*要求将以上数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组为:*int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5};*/public class Test4_3{public static void main(String[] args){int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};int n=0;for(int i=0;i<oldArr.length;i++){if(oldArr[i]!=0){n++;}}int newArr[]=new int[n];n=0;for(int i=0;i<oldArr.length;i++){if(oldArr[i]!=0){newArr[n]=oldArr[i];n++;}}for(int i=0;i<newArr.length;i++){System.out.print(newArr[i]+"/t");}}}四、//定义一个整型数组,保存10个数据,利用程序完成将最大值保存在数组中第一个元素,依次递减。
public class Test4_4{public static void main(String[] args){int arr[]={78,64,35,92,48,98,87,94,80,83};rankArr(arr);}public static void rankArr(int temp[]){for(int i=1;i<temp.length;i++){System.out.print("第"+i+"次排序时:");for(int j=0;j<temp.length;j++){if(temp[j]<temp[i]){int x=temp[j];temp[j]=temp[i];temp[i]=x;}}for(int e=0;e<temp.length;e++){System.out.print(temp[e]+"、");}System.out.println();}}}每次交换数据后,都输出了所有数组元素,可以观察到元素间的数据交换。
Java基础——数组练习题
1.从键盘接受10个整数,求出其中的最大值和最小值。
2.输入10个数,保存在一个数组中,在数组中查找某个数字,给出是否找到信息,如果
找到了输出该数在数组中所处的位置,如果找不到输出“找不到”
3.如果一个数组保存元素是有序的(从大到小),向这个数组中插入一个数,使得插入后
的数组元素仍然保持有序。
4.将一个数组中的元素逆序输出,即第一个元素和最后一个元素交换,第二个数与倒数第
二元素交换…..,例如:原数组为:9 2 5 7 8,逆序后的数组为:8 7 5 2 9 5.顾客从超市采购了10件商品,编写一个程序,用于接受每件商品的价格,计算应付的
总金额。
并分别打印出各个商品的价格以及应付的总金额的小票。
6.有一个排好序的数组,要求输入一个数,在数组中查找是否有这个数,如果有,将改数
从数组中删除,要求删除后的数组仍然保持有序,如果没有,则输出“数组中没有这个数”
7.编写一个程序,用于接受两个数组的值,将这两个数组中的值一次相加保存在第三个数
组中。
8.输入数组中的值,将数组中的最小值与第一个元素交换,最大值与最后一个元素交换,
输出数组。
9.某公司采用公用电话传递数据,数据是4位整数,在传递过程中是加密的,加密规则如
下:每位上的数字加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,编写一个程序,用于接受一个4位整数,并且打印输出加密后的数字
10.输入一个5位的正整数,使用数组判断它是不是回文数(例如:12321是回文数)。
Java数组练习题带答案
填空题一 length 。
来访问,数组Array得长度为 Array、1)数组得元素通过下标传递给另一个数组。
?将一个数组得引用 2)数组复制时,中。
栈(堆或栈)3)JVM将数组存储在。
数组得二分查找法运用得前提条件就是数组已经排序 4)。
中数组得下标得数据类型就是整型 5)Java。
6)数组最小得下标就是 0。
得最后一个参数指明复制元素得个数 7)arraycopy()向方法传递数组参数时,传递得就是数组得引用。
8)数组得申明,创建与初始化。
9)数组初始化包括数组越界异常10)数组下标访问超出索引范围时抛出 0、0f 。
11)浮点型数组得默认值就是不能改变。
12)数组创建后其大小二选择题_ABD__1.下面错误得初始化语句就是 char str[100]=hello;B、A、 char str[]=hello;C、 char str[]={'h','e','l','l','o'};D、 char str[]={'hello'};___B定义了一维int型数组a[10]后,下面错误得引用就是2. 、 a[0]=5*2; C、、 a[0]=1; D、a[1]=a[2]*a[0];B a[10]=2;A____下面得二维数组初始化语句中,正确得就是3.4}}; 、3,0、4}; B、A、 float b[2][2]={01,0、2,0、 float a[2][2]={0};、 DC、 4}};_D___4.引用数组元素时,数组下标可以就是以上均可 D A、整型常量、整型表达式、 B、整型变量 C____前得数组元素个数为型二维数组a[6][7]后,数组元素a[3][4]5.定义了int C、 18 D、17 B、 25 、A 24____B6.下列初始化字符数组得语句中,正确得就是 char str[5]=hello; char、 B A、str[]={'h','e','l','l','o','\0'};char str[100]=\;C 、、D char str[5]={hi};Java中储存在 C 中数组在7.队列 B、 C、、D 链表堆栈、A____下面程序得运行结果就是8.main() {5,6}};printf(%d, a[1][1]);out、、 System}6 A、、 4 C、、 3 B 5 D_C___下面程序得运行结果就是9.main() {int x=30;int[] numbers=new int[x];x=60;System、out、println(numbers、length);}A、 60B、 20C、 30D、 5010.下面程序得运行结果就是__BDF__main() {档牡猠嬱????屆、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]; 、 Dfloat[6][]; [][]f=new float(C) 下面不就是数组复制方法得就是12.arraycopy 用方法B 用循环语句逐个复制数组、 A、方法?进行复制clone用、D C、用D a得第三个元素表示为数组13.a[2]、、 A、 a(3)B a[3]C、a(2) DB 14.当访问无效得数组下标时,会发生中止程序直接跳过D、系统崩溃 B、抛出异常 C、 A、Ab正确得就是复制到使用15.arraycopy()方法将数组alength) 、、 arraycopy(a,0,b,0,a、length) B、 arraycopy(a,0,b,0,b Alength) arraycopy(a,1,b,1,alength)D、、 arraycopy(b,0,a,0,a C、、、 B16.关于数组默认值,错误得就是 int-- 、、 A char--'、 Boolean--true C float--0、0f D、0A关于数组作为方法得参数时,向方法传递得就是17. 、 D 数组得元素数组自身、数组得栈地址、数组得引用、 A B CAC 关于数组复制,下列说法错误得就是18.可以实现数组复制尠尽 A、运用循环语句进行数组复制必须两个数组长度相同、 B方法没有给目标数组分配内存空间 arraycopy()、 C.D、数组复制就是数组引用得传递19.下列语句会造成数组new int[10]越界就是DA、 a[0] += 9;B、 a[9]=10;C、—a[9]D、 for(inti=0;i<=10;i++) a[i]++;(B )源程序使用得命令就是在JDK环境下编译JAVA20.tomcat、javac CjvmD、A、java B、 D、子类不能使用父类得构造方法21.main方法就是java Application 程序执行得入口点。
java 数组试题
java 数组试题Java数组是一种用于存储一组相同类型的元素的容器。
它提供了方便的方法来操作和管理数据。
在本文中,将介绍一些关于Java数组的常见试题并给出相关参考内容。
1. 如何声明和初始化一个数组?声明一个数组时,需要指定数组的类型和名称。
初始化数组时,可以使用两种方法,静态初始化和动态初始化。
- 静态初始化:可以在声明数组的同时给数组赋值。
例如:`int[] numbers = {1, 2, 3, 4, 5};`- 动态初始化:先声明数组,然后使用`new`关键字创建数组,并按照需要分配空间。
例如:`int[] numbers = new int[5];`2. 如何访问数组中的元素?数组中的每个元素都有一个唯一的索引值,从0开始递增。
可以使用索引值来访问数组中的元素。
例如:`int[] numbers = {1, 2, 3, 4, 5};`,要访问第一个元素可以使用`numbers[0]`。
3. 如何计算数组的长度?可以使用数组的`length`属性来获取数组的长度。
例如:`int[] numbers = {1, 2, 3, 4, 5}; int length = numbers.length;`4. 如何遍历数组?可以使用循环结构(例如`for`循环、`while`循环)来遍历数组。
例如:```int[] numbers = {1, 2, 3, 4, 5};for(int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);}```5. 如何查找数组中的最大值和最小值?可以使用循环结构遍历数组,并使用条件语句(例如`if`语句)在遍历过程中找到最大值和最小值。
例如:```int[] numbers = {1, 2, 3, 4, 5};int max = numbers[0];int min = numbers[0];for(int i = 1; i < numbers.length; i++) {if(numbers[i] > max) {max = numbers[i];}if(numbers[i] < min) {min = numbers[i];}}System.out.println("最大值:" + max);System.out.println("最小值:" + min);```6. 如何计算数组中所有元素的和?可以使用循环结构遍历数组,并使用一个变量来记录累加的和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基础J a v a数组练习
题及答案
在开发的时候主方法之中的代码越少越好。
1、将一个给定的整型数组转置输出,
例如:源数组,1 2 3 4 5 6
转置之后的数组,6 5 4 3 2 1
2、现在有如下的一个数组:
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ;
思路:生活中的问题解决 = 程序中的解决;
1、确定出不为0的个数,这样可以开辟新数组;
2、从旧的数组之中,取出内容,并将其赋给新开辟的数组;
3、现在给出两个数组:
·数组A:“1,7,9,11,13,15,17,19:;
·数组b:“2,4,6,8,10”
两个数组合并为数组c,按升序排列。
主要的目的是熟悉这两个操作的方法,数组扩大,必须要将原始数组的内容拷贝进去。