Java语言中的数组及应用实例

java中的数组和字符串

Java中的数组和字符串 一.数组:用一个标识符(变量名)和一组下标来代表一组相同数据类型的数据元素的集合.其中的每个数组元素在数组中的位置是固定的.可以通过叫做下标的编号加以区分,通过标识符和下标来访问每一个数据元素. 数组必须经过声明和初始化后,才可以使用. 1、数组的声明(确定数组名、数组的维数和数组的数据数据类型)但并没有分配存储空间 一维数组的声明格式如下: 类型标识符数组名[]; 或类型标识符[] 数组名; int x[]; //可读性强 int[] x;常用于作为方法的返回值 public int[] fun() { } 二维数组的声明格式如下: 类型标识符数组名[][]; 或类型标识符[][] 数组名; int x[][]; int[][] x; 类型说明符指明数组元素的类型,可以是基本类型、类或接口;方括号表示数组的维数. 注意:对于二维数组,前面的[]表示行,后面的[]表示列. 2、数组的初始化 声明数组并不能够为数组分配存储空间.要想使数组分配存储空间必须指定数组元素的个数. java有两种方式进行初始化: 1)通过指定初值的方式: 例如: int[] a={12,33,77,88}; int[][] a={{1,2,3},{4,5,6},{7,8,9}}; 2)用关键字new初始化数组: 用关键字new初始化数组时候,只为数组分配存储空间而不对数组元素赋初值. 用关键字初始化数组也有两种形式: (1)先声明数组,再初始化数组 一维:类型标识符数组名[]; 数组名=new 类型标识符[数组长度]; 二维:类型标识符数组名[][]; 数组名=new 类型标识符[数组长度][];//必须指定行的长度.跟c语言不同. 注意:对于二维数组来说,可以不指定列,但必须指定行数. 或 数组名=new 类型标识符[数组长度][数组长度];//数组长度是整型但不能是长整型 (2)声明并初始化 一维:类型标识符数组名[]=new 类型标识符[数组长度]; 二维:类型标识符数组名[][]=new 类型标识符[数组长度][];//如果没有给数组赋值的话,系统自动赋予默认值. (也就是说声明和初始化写在同一行) 3、数组的引用 一维数组的引用格式如下: 数组名[数组下标];

Java数组与Java基础类实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:数组与Java基础类 专业名称:计算机科学与技术 班级:计科1405班 学生姓名:高宏伟 学号:04141152 指导教师:刘霞林 实验日期:2016.10.27

一、实验目的 掌握Java中的数组定义、引用,掌握String类和StringBuffer类的使用。 二、实验要求 1.编写一个使用Java 数组的的程序。 2.编写一个使用String类的程序。 3.编写一个使用StringBuffer类的程序。 三、实验内容 (一) 使用数组求Fibonacci数列前10项之和 1.编写程序。 public class Fibonacci { public static void main(String args[]){ int i=0,j=1,s=0; for(int n=1;n<=5;n++){ s+=(i+j); i = (int)(i+j); j = (int)(i+j); } System.out.print("前10项之和是:"+s); } } 2.编译并运行程序。 (二)练习String类的常用方法 ?实验要求: 编写一个Java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串,创 建字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建 字符串。。 ?程序模板: StringExample.java class StringExample { public static void main(String args[]) { String s1=new String("you are a student"),s2=new String("how are you"); if(【代码1】) // 使用equals方法判断s1与s2是否相同 { System.out.println("s1与s2相同"); }

Java_数组练习题目

一填空题 1)数组的元素通过数组下标来访问,数组Array的长度为元素的个数 (Array.length)。 2)Java中数组的下标的数据类型是整形。 3)不用下标变量就可以访问数组的方法是数组名。 4)数组最小的下标是0 。 5)arraycopy()的最后一个参数指明复制元素的个数。 6)向方法传递数组参数时,传递的是数组的引用。 7)数组初始化包括数组的声明,创建,初始化。 8)数组下标访问超出索引范围时抛出数组越界异常 9)浮点型数组的默认值是0.0f 。 10)对象型数组的默认值是null 。 二选择题 1.下面错误的初始化语句是_A B D__ 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.下面的二维数组初始化语句中,正确的是__B__ 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]前的数组元素个数为__C__ A. 24 B. 25 C. 18 D. 17 6.下列初始化字符数组的语句中,正确的是_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. 链表

第四讲java数组和字符串

概述 什么是数组?除了基本数据类型,还提供一种导出类型:数组.数组是相同类型地数据按顺序组成地一种复合数据类型,通过数组名和下标,可以使用数组中地数据.下标从开始.数组是所有编程语言中常用地数据结构. 为什么要数组呢?我们来举一个例子.假设我们需要表示一个班个人地数学成绩,要求求出平均成绩.如果没有数组,我们需要用前面学过地声明变量地方法,声明个变量,写次加法运算!数组可以大大地简化类似地问题!我们只要声明一个长度为地整型数组,结合上一讲我们学过地循环语句,就可以很方便地解决这个问题! 在以前地编程语言比如或者中,字符串也使用数组来表示地:字符串是字符数组!所以字符串与数组有着天然地联系.但是在中,提供了一种更方便地表示字符串地方法:用一个类来表示.类是面向对象地语言特有地概念,对于初次接触面向对象技术地人来说,比较难理解.所以,这一讲,我们将学习表示字符串地类,也对类地使用有一个粗略地了解,作为下一讲详细学习类地准备. 需要指出地是,语言里地其他两种导出类型:结构体和共用体,在里已经被取消. 下面,我们来学习数组和字符串. 数组地声明、创建和初始化 数组地声明: 声明数组,包括声明数组地名字、数组包含地元素地数据类型.数组可以一维地,也可以是二维或者多维地.举例来说:一个班有个人,我们用一个长度为地一维数组表示;如果要表示每个同学地五门高考成绩,那我们就需要用一个第一维长度为,第二维长度为地二维数组. 声明一维数组有两种格式: 数组元素类型数组名[ ]; 数组元素类型[ ] 数组名; 比如:[ ]; 或者:[ ] ; 类似地,声明二维数组有两种格式: 数组元素类型数组名[ ][ ]; 数组元素类型[ ][ ] 数组名; 比如:[ ][ ]; 或者:[ ][ ] ; 下面,我们主要以一维数组为例,学习数组地用法. 数组地创建: 声明数组仅仅给出了数组名字和元素地数据类型,想要真正使用数组还必须为数组分配内存空间,也就是创建数组.在为数组分配内存空间时必须指明数组地长度.为数组分配内存空间地格式如下: 数组名数组元素地类型[ 数组地长度] 例如:[]; [] []; 事实上,数组地声明和创建可以一起完成,比如: [ ] []; 一旦数组被创建,数组地大小就不能改变.如果在程序运行期间,需要对数组地大小进行扩展,通常需要使用另一种数据对象:.有关向量和扩展数组,有兴趣地同学可以在帮助中查找地帮助.

java数组的概念和作用

1 数组的概念 和其他语言一样,Java也提供数组支持,数组是属于引用类型,即数组是一个 对象。 强调数组的类型是引用类型。 数组的基本概念及作用 数组是相同数据类型元素的集合 数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。 数组的举例 int [] a = new int []{1,2,3,4,5}; String [] s = new String []{"小熊","小小熊","小小小熊"}; Employee [] e=new Employee[10];(Employee是自定义类) 2 数组的声明 数组的声明的两种方式: 数据类型 [] 数组名字例如:int [] a; 数据类型数组的名字 [] 例如: int a []; 注意: 在Java语言中两种声明方法没有任何区别,但是建议大家用第一种,避免混淆a的数据类型。 数组在声明后还只是一个空指针,不能使用,要想使用必须创建。 数组创建的三种方式:

?//声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值 char[] chAry = new char[10]; ?//声明数组并分配内存,同时将其初始化 ?int[] ary1 = new int[]{1, 2, 3, 4, 5}; ?//与前一种方式相同,仅仅只是语法相对简略 ?int[] ary2 = {1, 2, 3, 4, 5}; 从另一个角度,数组创建可以分为动态和静态两种 动态创建数组(没有为元素赋值,可以结合for循环进行赋值) char[] chAry = new char[10]; 静态创建数组,在创建的时候,即为每个元素赋初值 int[] ary1 = new int[]{1, 2, 3, 4, 5}; 数组的长度 数组的长度:length属性 int [] b1 = new int []{1,2,3,4,5,6,7}; System.out.println(b1.length); 注意:数组的长度是属性,String的长度是length(); 创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。 数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储7. 数组之间赋值 在C语言中,不可以将数组直接赋值给另一个数组;

实验三.数组与字符串

1.实验三数组与字符串 一、实验目的: 1.熟悉Java的数组的使用,编程练习数组声明、定义、遍历和排 序等操作。 2.熟悉Java的字符串相关类的使用,通过编程实现针对字符串的 一般操作。 二、实验内容: 1.定义一个有10个元素的整型数组,找出最大最小值; 2.定义一个有10个元素的整型数组,用选择法实现由小到大排序; 3.定义一个能实现冒泡法排序的方法bSort(int[] arr),然后定义并 初始化一4*5的二维数组,用bSort(int[] arr)将该二维数组的每 行元素进行升序排序; 4.编程求解一个3*3矩阵每一行的元素之和,每一列元素之和,对 角线元素之和,并输出。 5.接收键盘输入的字符串,使用String类的方法indexOf()来统 计该字符串中各个字符出现的次数。 6.设定并初始化一个字符串数组,并将数组中那些以字母b开头的 元素打印出来。 7.接收键盘输入的字符串,分别按顺序输出该字符串中的大写字符 和小写字符。 8.接收键盘输入的英文字符串(单词之间用空格隔开),将字符串 中出现的单词首字母改成大写后输出。 三、实验要求: 1.通过实验掌握数组的定义和初始化; 2.掌握数组最值求解算法; 3.掌握数组的基本排序算法; 4.掌握遍历数组的算法; 5.通过实验掌握String类的使用; 6.通过实验掌握String类常用方法的使用;

7.从JDK文档中查阅String类的以下方法(与本实验内容相关): split(),startWith(),toUpperCase(),indexOf(),charAt(),并说明 它们的用法; 8.写出实验报告。 四、实验学时:3学时 五、实验步骤: 1.进入Java编程环境; 2.新建一个Java文件,编写main()方法实现一维数组求最值的算 法; 3.新建一个Java文件,编写main()方法实现一维数组选择法排序 算法; 4.新建一个Java类,定义bSort(int[] arr)方法(冒泡法)实现数组 升序排序,然后在main方法里实现对一4*5二维数组每行元素 的升序排序; 5.新建一个Java文件,编写main()方法声明并初始化一两维3*3 数组,设计算法实现行、列和对角线元素的求和操作; 6.编写主方法main(),其中实现接收键盘输入功能、文件操作功能 和文件内容输出功能; 7.调用相应构造方法创建String对象; 8.查阅JDK文档,找出可以实现实验内容的String方法,设计算 法,编写程序; 9.调试运行程序,观察输出结果。

Java数组与方法

若想要存放一连串相同数据类型的数据,使用数组是个相当好用的选择。此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码。本章主要是介绍数组的基本用法与方法的应用,学完本章,将会对数组与方法的使用有更深一层的认识。 数组是由一组相同类型的变量所组成的数据类型,它属于引用类型。它们以一个共同的名称表示,数组中的每个元素则以下标来访问。数组依照存放元素的复杂程度分为一维数组、二维和多维数组,先来看看一维数组。 3.1 一维数组 一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的。可以将它简单的理解为是相同数据类型的数据的集合。 3.1.1 一维数组的声明与内存的分配 要使用Java的数组,必须经过两个步骤: (1)声明数组 (2)给数组分配内存 这两个步骤的语法如下: 数据类型数组名[ ]; 或数据类型[ ] 数组名; // 声明一维数组 数组名= new 数据类型[个数]; // 给数组分配内存 数组的声明格式里,“数据类型”是声明数组每个元素的数据类型,常见的类型有整型、浮点型与字符型等,也可以是引用类型。“数组名”是用来统一这组相同数据类型的元素的名称,其命名规则和变量的相同,建议使用有意义的名称为数组命名。数组声明后,接下来便是要配置数组所需的内存,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,而“new”则是命令编译器根据括号里的个数,在内存中开辟一块内存供该数组使用。 需要注意的是,在Java中声明数组的时候,不能在[]中指定其长度。比如:int score[3]; // 错误 下面是关于一维数组的声明并分配内存给该数组的一个范例: int score[]; // 声明整型数组score score = new int[3]; // 为整型数组score分配内存空间,其元素个数为3 在上例中的第一行,当声明一个整型数组score时,score可视为数组类型的变量,此时这个变量并没有包含任何内容,编译器仅会分配一块内存给它,用来保存指向数组实体的地址,如图3-1所示。 图3-1 声明整型数组 声明之后,接着要做内存分配的操作,也就是上例中第二行语句。这一行会开辟3个可供保存整数的内存空间,并把此内存空间的参考地址赋给score变量。其内存分配的流程如图3-2所示。

JAVA实验五 字符串和数组

实验五字符串和数组 【实验目的】 1.掌握数组的声明、分配空间及初始化 2.理解多维数组(重点掌握二维) 3.掌握String类的特点及常用方法的使用 4.掌握StringBuffer类的特点及常用方法的使用 5.掌握String类和StringBuffer类的区别 6.掌握equal方法与==的区别 【预习内容】 1.复习课件中理论知识 2.练习课堂所讲的例子 【实验内容及步骤】 1、请输入10个整数进行排序。 package com.shiyan5; import java.util.Scanner; public class ShiYan1 { /** * 1、请输入10个整数进行排序。 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner s= new Scanner(System.in); int[] a=new int[10]; System.out.println("请输入10个整数"); for(int i=0;i<10;i++){ a[i]=s.nextInt(); } System.out.print("输入原序列为:"); for(int i=0;i<10;i++){ System.out.print(a[i]+" "); } for(int i=0;i<10;i++){ for(int j=i+1;j<10;j++){ if(a[i]>a[j]){ int t=a[i]; a[i]=a[j];

a[j]=t; } } } System.out.print("\n排序后:"); for(int i=0;i<10;i++){ System.out.print(a[i]+" "); } } } 2、定义一个10个元素组成的一维数组,输出该数组中的最大值、最小值、所有元素总和,以及最大值和最小值在该数组中的位置。 package com.shiyan5; import java.util.Scanner; public class ShiYan2 { /** * 定义一个10个元素组成的一维数组,输出该数组中的最大值、最小值、所有元素总和 * ,以及最大值和最小值在该数组中的位置。 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner s=new Scanner(System.in); int[] a=new int[10]; System.out.println("请输入10个整数"); for(int i=0;i<10;i++){ a[i]=s.nextInt(); } int max=a[0]; int min=a[0]; int maxwz=0; int minwz=0; int sum=0; for(int j=0;jmax){ max=a[j]; maxwz=j+1; } if(a[j]

java中数组的学习完整版一

1.知识点 一维数组:定义、初始化、使用(相关的算法,常用系统类的使用) 多维数组:定义、初始化、使用 增强for循环,break、continue控制语句的学习 2.讲解 什么是数组? 例子 //要求把一个班的一门课的成绩,加起来求平均值; import java.util.*; class Average{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); float avg=0; float sum=0; int count=1; while(count<=3){ sum=sum+sc.nextFloat(); count++; } avg=sum/(count-1); System.out.println("平均值是:"+avg); System.out.println("程序结束"); } } //新要求:我要在输出平均值的同时,也要将这门课的最高分,最低分,同时也要能看到这门的成绩 数组概念:一组能够存储相同数据类型值的变量的集合。 在java中我们本着一切是对象的原则,我们把数组在java中看成是对象,数组对象。数组是最基本的引用型数据类型。 一维数组的知识点 定义方法: 1、三步法 A、int[] arr;用来申明数组的引用,在栈中为arr开辟内存; B、arr = new int[5];这是为数组arr在堆中为数组元素开辟6个存储单元; C、把数组在堆中的起始位置给了arr这个引用变量 *一般我们的程序在运行时,我们为局部变量在栈中开辟内存,而为对象(对象属性)在堆中开辟内存。为对象方法在方法区开辟内存空间。为类的属性,在静态区开辟内存空间。 具体的内存图:

Java中数组的声明

Java中数组的声明 一维数组的声明: 在Java中,数组是独立的对象,有自身的方法,不是变量的集合。 数组的声明: 类型标识符数组名[ ] 或者类型标识符[] 数组名。 数组的长度是在创建的时候决定的。 数组的创建方法: 先声明后创建: int array[]; array = new int[10]; 在声明的同时创建: int array[] = new int[10]; 直接赋值: int array[]= new int[1,2,3,4]; 数组下标从0开始。 数组是引用类型,他的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士地初始化。如: public class Testpublic static void main(Stirng [] args)?? int [] a = new int [5]; ?? Date[] days=new Date[3]; ?? System.out.println(a[3]); ?? System.out.println(days[2]);} class Dateint year,month,day; Date(int year,int month,int day)?? this.year=year; ?? this.month=month; ?? this.day=day;} 结果将是:0????? null 数组的拷贝 最有效率的方法是使用https://www.360docs.net/doc/2618437277.html,ng.System类的静态方法: public static void arraycopy(object src,int srcPos,object dest, ???????????????? int destPos,int length) 可以用于数组src从第srcPos项元素开始的length个元素拷贝到目标数组从destPos项开始的length个位置。 如果源数据数目超过目标数组的边界,系统就会抛出异常。 二维数组 float[][] numthree;???????????? //定义一个float类型的2维数组 numthree=new float[5][5];?????? //为它分配5行5列的空间大小 numthree[0][0]=1.1f;??????????? //通过下标索引去访问???? 1行1列= 1.1 numthree[1][0]=1.2f;????????????????????????????????? // 2行1列=1.2 numthree[2][0]=1.3f;????????????????????????????????? // 3行1列=1.3 numthree[3][0]=1.4f;????????????????????????????????? // 4行1列=1.4

Java实验报告-数组及常用算法

学号 Java语言程序设计C 实验报告 实验2 数组及常用算法 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日

一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识: 1.掌握Java中对象和引用变量的概念 2.掌握Java数组的使用和本质 3.掌握数组相关常用算法(复制及排序方法) 二、实验内容 写一个方法,功能:定义一个一维的int 数组,长度为10,把从控制台输入整数赋值给数组,然后将它们按从小到大的顺序输出(使用冒泡排序)(知识点:数组遍历、数组元素访问) 三、实验思想 1.Java中对象和引用变量的概念 2.Java数组的使用和本质 3.数组相关常用算法(复制及排序方法) 四、实验结果 package sss; import java.util.Scanner; public class aaa { public static void main(String[] args) { // TODO自动生成的方法存根 Scanner input=new Scanner(System.in); System.out.println("排序之前的数组:"); int a[]=new int[10]; for(int b=0;ba[j+1]) { int temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } System.out.print("\n"); System.out.print("排序之后的数组:"); printArray(a); } public static void printArray(int[] arry) { 1

java中数组的定义及使用方法详解

java中数组的定义及使用方法详解 数组:是一组相关变量的集合 数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组 数据的有点 不使用数组定义100个整形变量:int i1;int i2;int i3 使用数组定义 int i[100]; 数组定义:int i[100];只是一个伪代码,只是表示含义的 一维数组 一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,声明形式一 声明一维数组:数据类型数组名[]=null; 非配内存给数组:数组名=new 数据类型[长度]; 声明形式二 声明一维数组:数据类型 [] 数组名=null; java数据类型分为两大类 基本数据类型 int、long操作的时候本身就是具体的内容 引用数据类型:数组、类、接口 引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同

时使用 事例声明数组 package com.qn.array; public class Test { public static void main(String[] args) { int score[]=null;//声明数组 score=new int[3];//开辟空间,大小为3 } } 数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等 数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同 数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度 基本数据类型偶读有其默认值:int 0;只要是引用数据类型默认值就是null 事例 package com.qn.array;

JAVA基础语法数组

JA V A基础语法_数组 一、选择题 1、以下能对二维数组a进行正确初始化的语句是 A)int a[2][] = { {1 , 0 , 1} , {5 , 2 , 3} }; B)int[][] a = { { 1, 2, 3 }, { 4, 5, 6 } }; C)int a[2][4] = { { 1 , 2 , 3 }, { 4 , 5 } , { 6 } }; D)int[] a = { { 1 , 0 , 1 } { } , { 1 , 1 } }; 答案:B 2、若有说明:int a[][]=new int[2][3];则数组a中各元素 A)可在程序的运行阶段得到初值0 B)可在程序的编译阶段得到初值0 C)不能得到确定的初值 D)可在程序的编译或运行阶段得到初值0 答案:A 3、下面创建二维数组正确的是 A)int[][] a = new int[][3]; B)int[][] a = new int[2][3]; C)int[] a[] = new int[2][]; D)int a[][] = new int[][2]; 答案:BC 4、若有说明: int a[] = { 1, 2, 3, 4, 5, 6, 7 }; 则获取a数组的大小是A)length B)length() C)getLen() D)size() 答案:A 5、执行下面的程序段后,变量k中的值为 int k = 3, s[] = new int[2]; s[0] = k; k = s[1] * 10; A)0 B)33 C)30 D)10 答案:A 6、下列四个选项中,正确的数组定义是______ A)int size = 2; int[] a = new int[size]; B)int 3a = new int[3]; C)long size = 2; int[] a = new int[size]; D)int[] $a= new int[3]; 答案:AD

第四讲java数组和字符串

第四讲数组和字符串 1概述 什么是数组?除了基本数据类型,Java还提供一种导出类型:数组。数组是相同类型的数据按顺序组成的一种复合数据类型,通过数组名和下标,可以使用数组中的数据。下标从0开始。数组是所有编程语言中常用的数据结构。 为什么要数组呢?我们来举一个例子。假设我们需要表示一个班50个人的数学成绩,要求求出平均成绩。如果没有数组,我们需要用前面学过的声明变量的方法,声明50个变量,写50次加法运算!数组可以大大地简化类似的问题!我们只要声明一个长度为50的整型数组,结合上一讲我们学过的循环语句,就可以很方便地解决这个问题! 在以前的编程语言比如C或者C++中,字符串也使用数组来表示的:字符串是字符数组!所以字符串与数组有着天然的联系。但是在Java中,提供了一种更方便的表示字符串的方法:用一个String类来表示。类是面向对象的语言特有的概念,对于初次接触面向对象技术的人来说,比较难理解。所以,这一讲,我们将学习表示字符串的String类,也对类的使用有一个粗略的了解,作为下一讲详细学习类的准备。 需要指出的是,C语言里的其他两种导出类型:结构体和共用体,在Java里已经被取消。 下面,我们来学习数组和字符串。 2数组的声明、创建和初始化 2.1数组的声明: 声明数组,包括声明数组的名字、数组包含的元素的数据类型。数组可以一维的,也可以是二维或者多维的。举例来说:一个班有50个人,我们用一个长度为50的一维数组表示;如果要表示每个同学的五门高考成绩,那我们就需要用一个第一维长度为50,第二维长度为5的二维数组。 声明一维数组有两种格式: 数组元素类型数组名[ ]; 数组元素类型[ ] 数组名; 比如:int student[ ]; 或者:int[ ] student; 类似地,声明二维数组有两种格式: 数组元素类型数组名[ ][ ]; 数组元素类型[ ][ ] 数组名; 比如:int score[ ][ ]; 或者:int[ ][ ] score; 下面,我们主要以一维数组为例,学习数组的用法。 2.2数组的创建: 声明数组仅仅给出了数组名字和元素的数据类型,想要真正使用数组还必须为数组分配内存空间,也就是创建数组。在为数组分配内存空间时必须指明数组的长度。为数组分配内存空间的格式如下: 数组名= new 数组元素的类型[ 数组的长度] 例如:student = new int [50]; score = new int [50] [4]; 事实上,数组的声明和创建可以一起完成,比如: int student [ ] = new int [50];

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__ 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. 24 B. 25 C. 18 D. 17 10.下列初始化字符数组的语句中,正确的是__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. 3 B. 4 C. 5 D. 6 16.下面程序的运行结果是_C___ 17.main() {

java数组与字符串

Ex3:数组和字符串 1、假设s1,s2,s3,s4是四个字符串,其值如下:(25分) String s1=“Welcome to Java” String s2=s1 String s3=new String(“welcome to java”); String s4=“welcome to java” 下面表达式的结果是什么? (1)s1= =s2; 结果:true (2)s2= =s2; 结果:true (3)s1.equal(s2); 结果:true (4)s2.equal(s3); 结果:false (5)https://www.360docs.net/doc/2618437277.html,pareTo(s2); 结果:0 (6)https://www.360docs.net/doc/2618437277.html,pareTo(s3); 结果:-32 (7)s1= =s4; 结果:false (8)s1.charAt(0); 结果:W (9)s1.indexof(…j?); 结果:11 (10)s1.indexof(“to”); 结果:8 (11)https://www.360docs.net/doc/2618437277.html,stindexof(…a?); 结果:14 (12)https://www.360docs.net/doc/2618437277.html,stindexof(“o”,15); 结果:9 (13)s1.length() 结果:15 (14)s1.substring(5) 结果:me to Java (15)s1.substring(5,11) 结果:me to J (16)s1.startwith(“wel”) 结果:false (17)s1.ednwith(“Java”) 结果:true (18)s1.toLowerCase() 结果:welcome to java (19)s1.toUpperCase() 结果:WELCOME TO JA V A (20)“Welcom”.trim() 结果:Welcome (21)s1.replace(…o?, …T?) 结果:WelcTme tT Java (22)s1.replaceAll(…o?, …T?) 结果:WelcTme tT Java (23)s1.replaceFirst(…o?, …T?) 结果:WelcTme to Java (24)s1.toCharArray() 结果:char []s1={…W?,?e?,?l?,?c?,?o?,?m?,?e?,?…,?t?,?o?, ……,?J?,?a;,?v?,?a?} 为了创建一个字符串“Welcome to Java”,可能会用到如下所示的语句: String s=”Welcome to Java”; 或者 String s=new String(“Welcome to Java”); 哪个语句更好?为什么? 解:第一个语句。因为字符串使用非常频繁第一种比较简化,而第二种比较繁琐。 2、假设s1和s2是两个字符串,下面哪些语句或表达式是错误的?(9分) (1)String s=new String(“new string”); (2)String s3=s1+s2; (3)String s3=s1-s2; (4)s1==s2; (5)s1>=s2;

java定义二维数组的几种写法

//定义二维数组写法1 class numthree { public static void main(String[] args) { float[][] numthree; //定义一个float类型的2维数组 numthree=new float[5][5]; //为它分配5行5列的空间大小 numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1 numthree[1][0]=1.2f; // 2行1列=1.2 numthree[2][0]=1.3f; // 3行1列=1.3 numthree[3][0]=1.4f; // 4行1列=1.4 numthree[4][0]=1.5f; // 5行1列=1.5 System.out.println(numthree[0][0]); //打印换行输出喽 System.out.println(numthree[1][0]); System.out.println(numthree[2][0]); System.out.println(numthree[3][0]); System.out.println(numthree[4][0]); } } //定义二维数组写法2 定义的同时分配空间大小 class numfour { public static void main(String[] args) { short[][] numfour=new short[5][8]; //定义一个short类型的数组同时为它分配5行8列的空间大小 numfour[0][7]=10; numfour[1][6]=20; numfour[2][5]=30; numfour[3][4]=40; numfour[4][3]=50; System.out.println(numfour[0][7]); System.out.println(numfour[1][6]); System.out.println(numfour[2][5]); System.out.println(numfour[3][4]); System.out.println(numfour[4][3]); } } //定义二维数组写法3 不规则数组 class numfive

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. 24 B. 25 C. 18 D. 17 10.下列初始化字符数组的语句中,正确的是__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. 3 B. 4 C. 5 D. 6 16.下面程序的运行结果是_C___

相关文档
最新文档