精华内容
下载资源
问答
  • 数组是相同类型的数据按顺序组成的一种引用数据类型要学习的内容:一维数组: 声明 创建 初始化 元素的引用 长度 数组的应用数组的概念数组声明语法格式:数据类型[]数组名;数据类型数组名[];//和c等一致的形式int[]...

    数组

    为什么要使用数组?

    学生成绩排序问题

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    如果没有数组,我们得定义30个变量。

    数组是相同类型的数据按顺序组成的一种引用数据类型

    要学习的内容:一维数组: 声明 创建 初始化 元素的引用 长度 数组的应用

    数组的概念

    数组声明语法格式:数据类型[] 数组名;

    数据类型 数组名[]; //和c等一致的形式int[] myIntArray;int myIntArray[];char[] ch;

    String[] strArray;//字符串是一个类,这是对象数组。

    变量声明的语法格式:数据类型 变量名;

    数据类型后加上了中括号。命名规范上第一个单词首字母小写,之后单词首字母大写。

    数组的创建:

    语法格式一:先声明后创建数据类型[] 数组名;

    数组名 = new 数据类型[数组长度]; // new是在创建一个对象,这里是创建一个数组int[] arr;

    arr= new int[10]; // 创建一个长度为10的整型数组

    语法格式二:声明的同时创建数组数据类型[] 数组名= new 数据类型[数组长度];int[] arr= new int[10]; // 创建长度为10的整型数组arr

    注意:数组创建时长度必须指定

    数组在内存中的存储

    数组会被分配连续的内存空间int[] a=new int[5];

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    默认值都为0。数组名是一个对象,指向数组中的第一个元素。

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    局部变量和数组的默认值问题: 局部变量是没有默认值的,如果没有初始化,是内存中的随机值。而数组是有默认值的0的,因为数组本身是对象。

    数组的初始化: 声明数组的同时给数组赋值,叫做数组的初始化。

    例子:int[] arr={1,2,3,4,5,6,7,8,9,10};

    数组的长度就是初始化时所给数组元素的个数

    数组元素的引用

    语法格式:数组名[下标];

    注意:下标从0开始int[] arr={1,2,3,4,5,6,7,8,9,10};

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    连续的内存空间当中存储数组的值

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    变量名 和 变量值的关系

    数组的长度:int[] arr={1,2,3,4,5,6,7,8,9,10};// 属性length表示数组的长度,如a.length

    一维数组的应用package cn.mtianyan.array;public class ArrayDemo {    public static void main(String[] args) {        // 声明数组

    int[] intArray;

    String strArray[];        // 创建数组

    intArray = new  int[5];

    strArray = new String[10];        // 声明数组的同时进行创建

    float[] floatArray = new float[4];        // 初始化数组

    char[] ch = {'a','b','c','d'};

    System.out.println("ch数组的长度为: "+ch.length);        // 数组默认值

    char[] charArray = new char[5];

    System.out.println("intArray数组的第二个元素为: "+intArray[1]);

    System.out.println("strArray数组的第五个元素为: "+strArray[4]);

    System.out.println("floatArray的最后一个元素为:"+floatArray[floatArray.length-1]);

    System.out.println("charArray的第一个元素为: "+charArray[0]+"End");

    }

    }

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    所有对象数组都像strArray一样在创建时默认值为null;使用循环对整型数组赋值。// 循环为整型数组赋值

    for (int i=0;i<5;i++){

    intArray[i] = i+1;

    }

    System.out.println("整型数组intArray的元素为: ");        for (int i=0;i<5;i++){

    System.out.print(intArray[i]+" ");

    }

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    数组下标越界,会报出异常。ArrayIndexOutOfBoundsException(运行时异常) 数组下标越界异常。

    求数组元素的累加和

    定义一个整型数组,从键盘接收输入值,然后求累加和。package cn.mtianyan.array;import java.util.Scanner;public class ArrayAddDemo {    public static void main(String[] args) {        int[] intArray = new int[5];

    System.out.println("请输入五个数组的元素,输入0为计算前面几个输入值,只输入0退出程序:");

    Scanner scanner = new Scanner(System.in);        int sum=0;        while (true) {

    sum = 0;            for (int i = 0; i 

    intArray[i] = scanner.nextInt();                if (intArray[i] == 0) break;

    sum = sum + intArray[i];

    }            if (sum==0) break;

    System.out.println("sum:" + sum);

    }

    }

    }

    AAffA0nNPuCLAAAAAElFTkSuQmCCpackage cn.mtianyan.array;import java.util.Scanner;public class ArrayDemo1 {    public static void main(String[] args) {        int[] a = new int[5];

    Scanner scanner = new Scanner(System.in);        for (int i=0;i

    System.out.print("请输入第"+(i+1)+"个元素: ");

    a[i] = scanner.nextInt();

    }

    System.out.println();

    System.out.println("数组元素的内容为: ");        for (int i=0;i

    System.out.print(a[i]+" ");

    }

    }

    }

    AAffA0nNPuCLAAAAAElFTkSuQmCCint sum=0;        for (int i=0;i

    sum +=a[i];

    }

    System.out.println("数组累加和为: "+sum);

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    编程练习

    求数组中能被3整除的元素并打印输出。

    效果图:

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    任务:定义一个整型数组a并初始化

    循环遍历数组,找出能被3整除的元素并打印输出package cn.mtianyan.array;public class ArrayExercise {    public static void main(String[] args) {        int[] a ={1,2,6,12,15,16,17};

    System.out.println("能被3整除的数组元素为:");        for (int i=0;i

    System.out.println(a[i]);

    }

    }

    }

    }

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    求数组元素的最大值package cn.mtianyan.array;public class ArrayMaxDemo {    public static void main(String[] args) {        // 求数组元素最大值

    int[] a ={1,2,6,12,35,16,17};        int max = 0;        for (int i=0;imax){

    max = a[i];

    }

    }

    System.out.println("max:" +max);

    }

    }

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    优化: max 之间等于a[0] 然后循环就可以从1开始了,少了一次比较。public static void main(String[] args) {        // 求数组元素最大值

    int[] a ={34,23,78,56,31};        int max = a[0];        for (int i=1;imax){

    max = a[i];

    }

    }

    System.out.println("max:" +max);

    }

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    增强型for循环

    和数组结合起来使用会更加方便

    又叫foreach循环, foreach循环应用:System.out.println();

    System.out.println("使用foreach输出数组内容:");        for (int n:a) {

    System.out.print(n+" ");

    }

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    如何对变量a,b的值进行交换int a=3,b=5;int temp;

    temp=a;a=b;b=temp;

    冒泡排序

    对一组整数按照由小到大的顺序进行排序。

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    假设存放着这样一组整数,如何将它们从小到大进行排序。对数组中元素从头到位对相邻的元素进行大小比较。

    过程: 对34和53进行比较,发现34和53相比,53大的在右边是正常的,什么都不用做,12和53相比发现53是大的,53向上浮一位。53和32进行比较,53比32大,再次上浮。52和56比,很正常。然后56和17比,56上浮。

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    这就是冒泡排序.package cn.mtianyan.array;public class SortDemo {    public static void main(String[] args) {        // 冒泡排序

    int[] a ={34,53,12,32,56,17};

    System.out.println("排序前的数组元素为: ");        for (int n:a){

    System.out.print(n+" ");

    }

    System.out.println();        int temp;        // 外层控制趟,内层冒泡

    for(int i=0;i

    for (int j=0;j

    if(a[j] > a[j+1]){

    temp = a[j];

    a[j] = a[j+1];

    a[j+1] = temp;

    }

    }

    }

    System.out.println("从小到大排序排序后的数组元素为: ");        for (int n:a) {

    System.out.print(n+" ");

    }

    }

    }

    运行结果:

    AAffA0nNPuCLAAAAAElFTkSuQmCCpackage cn.mtianyan.array;public class SortReverseDemo {    public static void main(String[] args) {        // 冒泡排序

    int[] a ={34,53,12,32,56,17};

    System.out.println("排序前的数组元素为: ");        for (int n:a){

    System.out.print(n+" ");

    }

    System.out.println();        for (int i=0;i

    temp = a[j];

    a[j] = a[j+1];

    a[j+1] = temp;

    }

    }

    }

    System.out.println("从大到小排序后的数组元素为: ");        for (int n:a){

    System.out.print(n+" ");

    }

    }

    }

    运行结果:

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    作者:天涯明月笙

    链接:https://www.jianshu.com/p/9cf0d5739056

    展开全文
  • 一维数组:声明:int arr[];//这时并不占内存,创建数组 arr=new int[10];赋值:arr[0]=23; arr[1]=34;数组的开始下标为0,最大下标为长度减一创建时赋值:int arr[]=newint[]{32,14,87,95};Int arr[]={45,58,69};取数组...

    数组属于引用数据类型,放在内存的堆中。

    一维数组:

    声明:int arr[];//这时并不占内存,

    创建数组 arr=new int[10];

    赋值:arr[0]=23; arr[1]=34;

    数组的开始下标为0,最大下标为长度减一

    创建时赋值:int arr[]=newint[]{32,14,87,95};

    Int arr[]={45,58,69};

    取数组长度为arr.length,这是一个属性,不是方法

    利用一维数组实现求最大值,最小值,和,平均值,冒泡排序

    冒泡排序

    intarr[]={23,54,17,98,62,45,75,12,63,37};

    //定义变量,用来存放临时的数

    int temp=0;

    //基本思路

    for(intk=0;k

    //首先将数组中最小的一个数排到最后,这个循环的结果是,只将最小的放到最后面了

    for(inti=0;i

    if(arr[i]

    //则交换

    temp=arr[i];

    arr[i]=arr[i+1];

    arr[i+1]=temp;

    }

    }

    }

    二维数组

    声明:int arr[][];

    创建:arr=new int[10][10];

    赋值:arr[0][2]=12;

    创建时赋值:int a[][]={{34,37,22,78},{12,24,15,10},{43,25,9,9},{22,33,5,78}};

    Int arr[][];

    Arr[0]=new int[6];

    Arr[1]=new int[5];

    二维数组实际上就是每一行都是一个一维数组

    利用二维数组找到鞍点(鞍点就是在本行中最小,但在本列中最大)

    inta[][]={{34,37,22,78},{12,24,15,10},{43,25,9,9},{22,33,5,78}};

    22就是鞍点

    class mypoint

    {

    public static void main (String args[])

    {

    int a[][]={{1,2,3,4,5},{7,3,4,5,6},{2,1,5,4,3},{5,3,6,5,4}};

    int i,j,temp;

    int maxa[][]=new int [4][5];

    int mina [][]=new int [4][5];

    //求出行中最小值并标记

    for(i=0;i

    {

    temp=a[i][0];

    for(j=1;j

    if (a[i][j]

    temp=a[i][j];

    for (j=1;j

    展开全文
  • java维数组的长度

    2013-10-27 19:46:00
    总结:理解二维数组的一维循环, package com.b; //求长度 public class Coo { public static void main(String[] args) { int a[][] = { { 2, 432, 23 }, { 3, 5, 346, 4 }, { 3, 26, 546, 7 } }; ...

    总结:理解二维数组的一维循环,

    package com.b;
    
    //求长度
    public class Coo {
    
    	public static void main(String[] args) {
    		int a[][] = { { 2, 432, 23 }, { 3, 5, 346, 4 }, { 3, 26, 546, 7 } };
    		int sum = 0;
    		for (int i = 0; i < a.length; i++) {// 循环第一维的下标
    			sum += a[i].length;
    		}
    		System.out.println(sum);// 数组中总的元素个数
    
    	}
    
    }
    

      

    转载于:https://www.cnblogs.com/langlove/p/3391145.html

    展开全文
  • Java —— 一维数组

    2019-11-30 20:01:37
    文章目录第六章-一维数组1、什么是数组2、数组的基本要素3、如何定义和使用数组4、数组长度5、数组最大值和最小值6、向数组中插入元素 第六章-一维数组 1、什么是数组 数组是一个变量,存储的是相同数据类型的...

    第六章-一维数组

    1、什么是数组

    数组是一个变量,存储的是相同数据类型的一组数据,声明数组,就是在内存中划分一串连续的空间
    注意:
    数组一经定义,大小就确定了,不可以在此基础上再增加空间(重新创建除外),即:不可以动态扩展空间


    2、数组的基本要素

    数据类型:指定数组中存放的数据类型
    标识符:数组名称
    数组元素:存放在数组中的数据
    下标:从0开始,最大不能大于 数组的长度-1
    注意:
    数组长度固定,应避免地址下标越界获取元素


    3、如何定义和使用数组

    1)声明数组
    方式1:数据类型[] 数组名; – 推荐写法
    方式2:数据类型 数组名[];

    2)分配空间 使用 new 关键字
    数组名 = new 数据类型[数组长度];
    注意:
    长度必须要定义,代表数组可以存放的元素个数

    备注:
    数组元素,根据不同的数据类型,会有不同的初始值(数组定义后,不初始化赋值,仍然可以直接访问元素,不会报错,比如:int–0,String–null…)

    3)赋值
    实际是向分配的内存空间存放数据(实际是地址的引用)
    语法:
    数组名[下标] = 定义数据类型的值;

    声明数组同时赋值:
    方式1:
    数据类型[] 数组名 = {元素1,元素2…};
    方式2:
    数据类型[] 数组名 = new 数据类型[]{元素1,元素2…};

    注意:
    由于初始化值,已经确定了数组的元素个数,所以,不可以再指定长度
    边声明边赋值:必须定义在一条语句内,不能分开
    比如:

    //常见错误
      int[] scores = new int[5];
                scores = {1,2,3,4,5};
    

    4)数组的使用
    数组元素赋值之后,可以重复获取,并使用


    4、数组长度

    语法:数组名.length
    注意:数组长度,使用的length数组,有别于字符串,字符串长度使用的是length()方法

    示例:

         for(int i = 0; i < scores.length; i++){
                System.out.println(scores[i]);
            }
    

    5、数组求最大值和最小值

    原理:
    类似打擂台,借助中间表变量,依次比较,保留最大或者最小值


    6、向数组中插入元素

    示例:

      // 初始化数组
            int[] scores = { 83, 63, 68, 78, 99, 90 };
            // 定义新的数组,长度为初始数组长度加1,用来移位
            int[] newScores = new int[scores.length + 1];
    
            System.out.println("排序前:");
            System.out.println(Arrays.toString(scores));
    
            // 给数组排序,使用sort方法,默认规则为升序,方法调用后,数组中元素的顺序是排序的
            Arrays.sort(scores);
            System.out.println("排序后:");
            System.out.println(Arrays.toString(scores));
    
            // 将排序数组拷贝到新的数组中
            for (int i = 0; i < scores.length; i++) {
                newScores[i] = scores[i];
            }
    
            System.out.println("新的数组:");
            System.out.println(Arrays.toString(newScores));
    
            // 定义要插入的元素值
            int score = 88;
    
            // 定义变量接收要插入的位置
            int index = -1;
            
            // 循环查找,找到要插入的数的位置,升序数列,找到哪个数,比插入的数值大,这个数就要放在该位置
            for (int i = 0; i < newScores.length; i++) {
                if(newScores[i] > score){
                    index = i;
                    break;
                }
            }
            System.out.println("需要插入的位置下标为:" + index);
            
            // 在插入数据之前,需要先把该下标位置空出来(实际上原有值还在),否则直接复制,会丢失原有的值
            for (int i = newScores.length - 1; i > index; i--) {
                newScores[i] = newScores[i-1];
            }
            
            System.out.println("新的数组移位后:");
            System.out.println(Arrays.toString(newScores));
            
            // 将要插入的值,直接放到对应的位置上,即可
            newScores[index] = score;
            
            System.out.println("最终插入数据后,新的数组为:");
            System.out.println(Arrays.toString(newScores));
    
    展开全文
  • CG在ETP基地的培训也有段时间了,这期间也有几次考试,下面将要分享的是最近次笔试的考试题目,该题算是JAVA考试的附加题,要求也很简单,下面是原题二维数组的长度和初始值均由输入确定,如何出此数组的...
  • 在程序处理中遍历数组是一种很常见的操作,但遍历数组时,我们需要知道数组各维度的长度(一维数组除外,for each 可以遍历),下面举例说明如何多维数组的长度。一维 :int [] array ={1 2 3 4 5} ;size = array....
  • 一维数组的三种定义:数据类型[] 数组名字 = new 数据类型[长度]; eg:int[] array = new int[6];数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...}; eg:int[] arr = new int[]{1,2,3,4,5,6};数据类型[] ...
  • (1)定义类MaxNum,在其中定义方法maxCount(……),求一维数组的最大值; (2)定义主类、主方法。在主方法中定义长度为10的一维数组,从键盘录入10个数存入数组中;调用maxCount()方法求解其中的最大数,并输出。...
  • Java数组为空有两种情况: 1. 数组为null,此时不能数组长度; 2. 数组不为null, 但是数组中没有元素;此时数组长度不为0; 所以对一维维数组为空判断如下:
  • Java维数组

    2018-03-08 16:54:53
    二维数组:元素为一维数组的数组。 格式1:数据类型[][] 数组名=new 数组类型[m][n];格式2:数据类型[][] 数组名=new 数组类型[m][];...维数组的长度: 二维数组的长度其实就是一维数组的个数。Ja...
  • Java维数组查找

    2020-04-04 16:02:24
    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 一 暴力...
  • 在程序处理中遍历数组是一种很常见的操作,但遍历数组时,我们需要知道数组各维度的长度(一维数组除外,for each 可以遍历),下面举例说明如何多维数组的长度。 一维 : int [] array ={1 2 3 4 5} ; size ...
  • CG在ETP基地的培训也有段时间了,这期间也有几次考试,下面将要分享的是最近次笔试的考试题目,该题算是JAVA考试的附加题,要求也很简单,下面是原题二维数组的长度和初始值均由输入确定,如何出此数组的...
  • import java.util.Random; import java.util.Scanner; public class StudentData { public static void main(String[] ...//定义一个长度为5的一维数组空间 int []arrH = new int[5]; int []arrS = new int[5]; Syst
  • JAVA维数组

    2010-02-08 16:30:39
    2. 求一维数组总和,平均值 3. 添加,删除,修改,搜索等 具体请参考本人FTP\\5.0S1\\JAVA\\数组完整操作范例。[重复让人如此崩溃!] 二维数组 1. 定义:省略 2. 用法: 声明并赋值: //声明时赋值...
  • 下面从一个一维数组的问题开始。 问题描述:找出一维数组中重复次数最多的元素以及重复的次数。 假设数组的长度为1000 出数组中重复出现次数最多的元素是什么?重复出现了多少次? 假定条件:如果出现次数最多...
  • 一维数组最大值和最小值

    千次阅读 2017-11-03 17:24:49
    import java.util.Scanner; public class MaxMin { public static void main(String[] args) { Scanner scan=new Scanner(System.in);...输入数组的长度:"); int count=scan.nextInt(); S...
  • 学习java的第七天冒泡排序选择排序最大值、排序1、定义长度为5整型数组,同时给5个初始值,循环输出数组值。2、给定个含有5个元素整型数组a,a中所有元素和。3、定义数组,输入5个人姓名保存在数组...
  • 7-8 使用一维数组求平均值 (20分) 本题目要求使用一维数组,存储5个整数,输出5个整数平均值。 输入格式: 输入一组整数。 输出格式: 对每一组输入,在一行中输出平均值。 输入样例: 1 2 3 4 5 输出样例: 在这里给...
  • 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 二. ...
  • 上课时我们讨论了很久如何将带子剪开,剪开后的数组长度是多少。后来采用了直接遍历,列出各个数组再相加方式 代码: import java.io.*; import java.util.Scanner; public class Array { /** * @...
  • (3)依次向S中加入v0 ,v1… vn-1,每加入个顶点,对dist[i][j]进行次修正:设S={v0 ,v1…vk-1},加入vk,则dist(k)[i...dist(k)[i][j]含义:允许中间顶点序号最大为k时从vi到vj最短路径长度。dist(n-1)[i][...
  • 2.6 编程定义以和包含2个元素的二维double型数组,每个元素的数组长度从键盘输入,然后再依次输入二维数组中所有元素的数值,并以行列形式输出二维数组的全部元素 public static void main(String[] args) { // ...
  • 定义一个一维数组,动态输入数组长度及数组元素内容。 输出数组中最大值及其下标 */ package lcl02; import java.util.Scanner; public class lcl { static Scanner input = new Scanner(System.in); public ...
  • /任务一:创建一维数组,存储班级中10位同学年龄信息,并出班级同学平均年龄。 步骤: 1,定义存储年龄int类型数组,长度为10。 2,循环10次,分别从键盘录入年龄存储到数组中。 3,编写测试类,测试数组...
  • Java-数组

    2021-02-09 15:09:40
    数组数组什么是数组数组的数组类型数组的分类一维数组一维数组的声明和初始化如何获取一维数组的长度如何遍历数组元素一维数组的默认初始化值一维数组的内存解析二维数组二维数组的初始化获取二维数组的长度二维数组...
  • 各位家长,同学们,大家好!这里是玖振学堂学习分享课堂。接着上篇分享的长方体和正方体的知识点,我们接着讲一下这单元...第三步:明确接头处的长度;例如例题中接头处长度为0.4dm;第四步:求和。长×2+宽×2+...
  • 一维数组1.数组的创建三种方式(1)。数据类型[] 数组名 = new 数据类型[元素个数或数组长度];int[] arr=new int[4];//赋值arr[0]=99;arr[1]=98;arr[2]=97;int sum=0;for(int i=0;isum=sum+arr[i];}System.out.println...
  • Java数组的基础

    2020-09-17 23:38:35
    数组(引用数据类型)数组概述一维数组数组中的常见算法数组中的最大值,最小值,总和,平均数数组的...一维数组的声明 /* 第一种声明方式(推荐使用) */ int[] nums;//声明int类型的数组 String[] strs;//声明S
  • JAVA实验二 数组

    2020-12-18 23:53:24
    定义一个int型的一维数组数组的长度由键盘输入,为数组中的元素随机赋值。依次完成如下功能:(1) 输出数组中的元素。每行输出最多十个数字,数字之间用Tab键分隔;(2) 计算数组中元素之和,并输出;(3) 出数组中...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

java求一维数组的长度

java 订阅