数组的定义与声明

在使用数组之前,一般要声明数组,当然也可以采用隐式声明的方法。声明数组的方法与声明各种类型的变量一样,可以用Dim,Private,Public或Static来声明,只不过声明数组时需要设置数组的上下界,也就是数组下标索引的起始值和中止值。

(1)静态数组:

其声明的语法如下:

Dim│Private│Public│Static  数组名([下标下界 To]下标上界) [As 数据类型]

说明:

数组名后是圆扩弧“(  )”扩起来,不能采用其它符号。

如果不指明数组的下标下界,系统默认为是0,数组的下标上界,使用长整型(Long)数据,在VB中规定上界不得超过2,147,483,647。

下标的下界不能大于下标的上界;

可以用变量名或常数名(以及实数)作为下标边界,当下标的边界是常数名时,数组的大小固定(静态数组),当下标的边界是变量名时,数组的大小可作动态定义(动态数组)。

Dim A(10) As Integer '表示数组名为A,缺省下标界为0,上界为10的有11个整型元素的数组,即:从A(0),A(1)到A(10);

Dim B(1 To 20) As Integer'表示数组名为B,下标下界为1,下标上界为20的,有20个整型的元素;

Dim BirthDay (1 To 10) As Date '表示BirthDay是一个索引从1到10的Date型数组。

Dim DayArray (50)'表示变量是一个有51个索引元素的Variant数组;

Public Class (10) As String '声明一个长度为11的全局整型数组Class;

Dim Matrix(3,4) As Integer '表示变量是一个二维整型数组;

Dim MyMatrix(1 To 5,4 To 9, 3 To5) As Double '表示变量是一个显示指定了上下界的三维double数组;

为数组赋初值可以采用循环语句。如:

Dim I As Integer
            For I=0 To 11
        C(I)=I      'C(0)、C(1)、……C(11)
    Next I

例:下面的练习使用一个名为Temperatures的一维公用数组来记录一周七天的日最高气温。

界面:

在窗体上添加3个命令按钮,窗体的AutoRedraw属性设定为True。——当使用Print方法在窗体中显示信息时,始终将窗体的AutoRedraw属性设定为True。这样,当窗体被另一个窗口遮盖然后该窗体重新显示时,VisualBasic将自动重新绘制屏幕。

注:没有使用强制声明“Option Explicit”语句。

代码:

Dim Temperatures(6) As Variant

Private Sub Command1_Click()
    Cls
    Prompt$ = "Enter the high temperature."
    For i% = 0 To 6
        Title$ = "Day" & i%
        Temperatures(i%) = InputBox(Prompt$, Title$)
    Next i%
End Sub

Private Sub Command2_Click()
    Cls
    Print "High Temperatures for the week:"
    Print
    For i% = 0 To 6
        Print "Day "; i%, Temperatures(i%)
        Total! = Total! + Temperatures(i%)
    Next i%
    Print
    Print "Average high temperature: "; Total! / 7
End Sub

Private Sub Command3_Click()
    End
End Sub

说明:该程序是演示如何在程序中使用数组存放和处理一组相关数值。通过使用InputBox函数和For...Next循环,气温值被赋值给数组。循环中循环计数器被用来索引数组中的每个元素。数组内容通过使用For...Next循环和Print(打印)方法显示在窗体中,接着平均最高气温就被计算并显示出来了。

也可利用For循环嵌套有效地处理多维数组。例:

Dim i As Integer,j As Integer  '设置计数器
    Dim class(14) As String  '定义班级名称数组
    Dim studentname(14,35) As String  '定义学生姓名数组
    ……   '为班级数组赋值
    ……   '为学生数组赋值
    For i=0 To 14
            For j=0 To 35 
                If studentname(i,j)="张三" Then
                        MsgBox "张三在"十class(i)
                    End If
                Next j
    Next i

静态数组的声明与例子练习相关推荐

  1. 【C++】细说C++中的数组之“静态”数组

    [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 前言 数组是C/C++以及各种编程语言中最常用的一种数据结构,了解数组的性质并且学会使用数组 ...

  2. java:数组的静态和动态声明

    Java数组的声明有两种,动态声明和静态声明. 1.静态声明 数据类型[] 变量名= {类型值1,类型值2,-}; ①声明一维数组: int[] arr = {1,2,3}; 也可以这样声明: int ...

  3. 静态数组和动态数组 内存分布

    数组是程序设计中是一个非常重要的概念.数组是一个用于收集大量类似数据的容器, 以及其每一个元素能被相同处理过程迭代来处理的一个抽象体. 创建数组一般有三种方式:全局/静态范围的数组,局部变量数组,申请 ...

  4. java中的arrayList(动态数组)与静态数组

    首先,有时用数组时,常把静态数组和动态相混淆,今天来区分一下: 先写一下java中静态数组, 一维数组的声明方式: type var[]; 或type[] var; 声明数组时不能指定其长度(数组中元 ...

  5. java数组声明语句是_Java数组的声明和遍历

    Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 n ...

  6. C++ 笔记(08)— 数组(数组的声明、初始化、访问及修改数组元素)

    数组具有如下特点: 数组是一系列元素: 数组中所有元素的类型都相同: 所有的数组都是由连续的内存位置组成.最低的地址对应第一个元素,最高的地址对应最后一个元素. 1. 一维数组 1.1 声明数组 要声 ...

  7. C++中关于[]静态数组和new分配的动态数组的区别分析

    一.静态数据及动态数组的创建 静态数据: int a[10]: int a[]={1,2,3}; 数组的长度必须为常量. 动态数组: int len; int *a=new int [len]; de ...

  8. 【 C 】经典抽象数据类型(ADT)之堆栈(用静态数组实现堆栈)

    堆栈简介 堆栈(stack)最鲜明的特点就是后进先出(Last-In First-Out,LIFO)的数据进出方式. 基本的堆栈操作通常被称为 push 和 pop.push就是将一个新值压入到堆栈的 ...

  9. php数组的声明和类型

    数组的声明 方法一:使用array(),自动分配索引,从0开始 <?phpheader('content-type:text/html;charset=utf-8');$person=array ...

最新文章

  1. JAVA开发环境及其开发
  2. js 有关object 、array 等引用类型的赋值问题
  3. 最近完成的一个可伸缩性的WEB开发框架
  4. SpringBoot番外篇-微服务架构【1.起源与定义】
  5. java实现对接建行支付及其回调
  6. Android 计时器Timer用法
  7. ADC噪声全面分析 -02- ADC 噪声测量方法和相关参数
  8. Python爬虫获取电影链接(续)
  9. 背阔肌(06):T杠俯身划船
  10. JS删除数组里的某个元素方法
  11. 嫂嫂学计算机,开心一刻,,老妈催婚, 含泪让男闺蜜冒充, 进门后嫂子愣住了…
  12. 减少mysql存储列的方法
  13. ubuntu16.04编译ORBSLAM2问题解决
  14. House of apple 一种新的glibc中IO攻击方法
  15. CString、CTime和COleDateTime转换
  16. EV2400配合bqStudio的使用及电量计相关
  17. wordpress谷歌字体_如何在WordPress帖子编辑器中添加Google字体
  18. html4.0.1兼容ie7,CSS 完美兼容IE6/IE7/FF的通用hack方法
  19. js运行后自动刷新页面的问题
  20. java查看线程使用情况,查看java的线程cpu使用情况

热门文章

  1. 2019年寒假作业1编辑总结
  2. 杂记整理二:linux与程序安装
  3. POJ 3616 Milking Time
  4. 插入排序Insertion sort 2
  5. win10 64 安装VSS2005报错,解决方法。
  6. 设计模式学习笔记——目录
  7. oracle表数据误删恢复
  8. 单链表删除所有值为x的元素_C/C++编程笔记:如何使用C++实现单链表?单链表的基本定义...
  9. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-目录
  10. 1.1 为什么需要 ML 策略-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授