Java从零开始学九(数组)

一、什么是数组

数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组。同一数组中的变量数据类型相同

二、数组的优点

不使用数组定义100个整型变量:int i1;int i2;…int i100

使用数组定义:int i[100]

同一类型的多个变量可以使用数组来完成

三、数组声明

一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的。

要使用Java的数组,必须经过两个步骤:(1)声明数组、(2)分配内存给该数组。这两个步骤的语法如下:

声明形式一:

声明一维数组:数据类型 数组名[];

int  num [];   

分配内存给数组:数组名 =  new 数据类型[长度] ;

int  num [] = new int[10];

声明形式二:

声明一维数组:数据类型[] 数组名;

int [] num;

int [] num = new int [10];

数组的声明格式里,“数据类型”是声明数组元素的数据类型,常见的类型有整型、浮点型与字符型等。

“数组名”是用来统一这组相同数据类型的元素的名称,其命名规则和变量的相同,建议使用有意义的名称为数组命名

数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,其中“长度”是告诉编译器,所声明的数组要存放多少个元素,

而“new”则是命令编译器根据括号里的长度开辟空间。

四、声明数组,并赋值

package com.pb.demo1;

import java.util.Scanner;

public class demo4 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        //声明字符串数组
        String [] cities=new String [5];
        //赋值
        System.out.println("请输入5个城市的名字:");
        for (int i = 0; i < cities.length; i++) {
            cities[i]=input.next();
        }

        //输出
        System.out.println("输入的城市名称是:");
        for (String city : cities) {
            System.out.println(city);
        }

    }

}

五、比较大小和排序

package com.pb.demo1;

import java.util.Scanner;

/*
 * 输入5个学生的成绩,并求出最高分,最低分,平均分
 */
public class Demo5 {

    public static void main(String[] args) {
        //声明一个扫描器类似的变量
        Scanner input = new Scanner(System.in);
        //声明整形数组
        int [] scores=new int [5];
        System.out.println("请输入5个学生的成绩:成绩为整数");
        //为数组赋值
        for (int i = 0; i < scores.length; i++) {
            scores[i]=input.nextInt();
        }
        //总成绩
        float sum=0;
        //最低分
        int min=0;
        //最高分
        int max=0;
        //平均分
        float avg=0;
        //将第一个值赋为min和max,进行比较
        min=scores[0];
        max=scores[0];
        for (int i = 0; i < scores.length; i++) {
          //总成绩
            sum=sum+scores[i];
            //最低分
            if(scores[i] < min){
                min=scores[i];
            }
            //最高分
            if(scores[i]>max){
                max=scores[i];
            }

        }
        System.out.println("总成绩:"+sum);
        System.out.println("最低分:"+min);
        System.out.println("最高低:"+max);
        System.out.println("平均分:"+sum/scores.length);

    }

}
时间: 2024-11-06 17:31:19

Java从零开始学九(数组)的相关文章

Java从零开始学二十九(大数操作(BigIntger、BigDecimal)

一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型).BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法.另外,BigInteger 还提供以下运算:模算术.GCD 计算.质数测试.素数生成.位操作以及一

Java从零开始学十九(异常)

一.什么是异常 从字面上讲,就是不正常的现实就是异常. 程序中的异常也是要在程序运行中才会偶尔发生.如果程序还没有运行,编译就报错,这种不叫异常,这种叫编译错误,通常是语法上的错误 二.java中异常 Java 提供了两类主要的异常:runtime exception 和checked exception.所有的checked exception 是从java.lang.Exception 类衍生出来的,而runtime exception 则是从java.lang.RuntimeExcepti

Java从零开始学十(Arrays类对数组的常用方法)

一.Arrays类常用方法 二.简单例子 package com.pb.demo1; import java.util.Arrays; /* * Arrays工具类的中的几个常用方法 * 1.copyof * 2.toString * 3.equals * 4.sort * 5.fill * 6.binarySearch */ public class ArraysTest { public static void main(String[] args) { String [] arry1={"

Java从零开始学四十一(反射简述二)

一.实例化Class类对象 实例化Class类对象的方法有三种: 第一种:通过forName()方法 第二种:类.class 第三种:对象.getClass() 二.Class类的常用方法 No. 方法 类型 描述 1 public static Class<?> forName(String className) throws ClassNotFoundException 普通 传入完整的“包.类”名称实例化Class对象 2 public Constructor[] getConstruc

Java从零开始学三十三四(JAVA IO-流简述)

一.流概念(stream) File类并不能对文件内容进行读写. 读文件就是指:把文件的内中的数据读取到内存中来 写文件就是指:把内存中的数据写入到文件中去. 通过什么读写文件呢?文件流. 1.1.流概念 一连串流动的字符 1.2.流的特性 先进先出的方式传递信息 一个字节序列 具有方向性:输入流.输出流 二.按照流向划分 输入流:读取数据--InputStream和Reader作为基类 输出流:写入数据--OutputStream和Writer作为基类 一共四个4基类. 其中InputStre

Java从零开始学三十五(JAVA IO- 字节流)

一.字节流 FileOutputStream是OutputStream 的直接子类 FileInputStream也是InputStream的直接子类 二.文本文件的读写 2.1.字节输入流 Test.txt文件内容 abcdefg package com.pb.io; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOExcept

Java从零开始学二十七(NumberFormat类)

一.NumberFormat表示数字的格式化类 NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示. No. 方法 类型 描述 1 public static Locale[] getAvailableLocales() 普通 返回所有语言环境的数组 2 public static final NumberFormat getInstance() 普通 返回当前默认语言环境的数字格式 3 public static NumberFormat getInstanc

Java从零开始学二十一(集合List接口)

一.List接口 List是Collection的子接口,里面可以保存各个重复的内容,此接口的定义如下: public interface List<E> extends Collection<E> 二.List接口的扩展方法 No. 方法 类型 描述 1 public void add(int index, E element) 普通 在指定位置增加元素 2 public boolean addAll(int index, Collection<? extends E>

Java从零开始学三十二(正则表达式)

一.为什么要有正则 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆份.替换功能. 例如:现在要求判断一个字符串是否由数字组成,则可以有以下的两种做法: 不使用正则完成 使用正则完成 二.Pattern.Matcher类 如果要想在程序中应用正则表达式则必须依靠Pattern类与Matcher类,这两个类都在java.util.regex包中定义.Pattern类的主要作用是进行正则规范的编写,而Matcher类主要是执行规范,验证一个字符串是否符合其规范. 常用正则规则 N