java循环结构、数组的使用小结

数组

数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

  • 数组本身是引用数据类型,既可以存储基本数据类型,也可以存储引用数据类型。它的元素相当于类的成员变量。
  • 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。
  • 数组的长度一旦确定,就不能修改。
  • 通过下标(或索引)的方式调用指定位置的元素。
  • 数组的分类:

按照维度:一维数组、二维数组、三维数组、…按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对象数组)

从六方面理解数组:

  • 一维(二维)数组的声明和初始化
  • 如何调用数组指定位置的元素
  • 如何获取数组的长度
  • 如何遍历数组
  • 数组元素的默认初始化值
  • 数组的内存解析

一维数组的使用

格式:type var[] 或 type[] var

//静态初始化:数组的初始化与数组元素的赋值同时进行
 int[] num = new int[]{1,2,3,4,5};
//动态初始化:数组的初始化与数组元素的赋值分开进行
String[] names = new String[5];
name[0] = "11";

**数组一旦初始化完成,数组的长度就确定了。

每个数组都有一个属性length指明它的长度,例如数组a:a.length指明数组a的长度(元素个数)

数组的默认初始化值

对于基本数据类型:默认初始化值各有不同

对于引用数据类型:默认初始化值为null(注意:于0不同)

/*从键盘读入学生成绩,找出最高分,
并输出学生成绩等级。
成绩>=最高分-10 等级为'A'
成绩>=最高分-20 等级为'B'
成绩>=最高分-30 等级为'C'
其余 等级为'D'
提示:先读入学生人数,根据人数创建int数组,
存放学生成绩。*/

import java.util.Scanner;//在最上面

public class ArrayTest1 {
    public static void main(String[] args) {
        //调用Scanner输入学生的成绩
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入学生的人数:");
        int number = scan.nextInt();

        //创建数组,存储学生的成绩。动态初始化
        int[] score = new int[number];
        int maxscore = 0;
        //将学生的成绩赋值给数组
        System.out.println("请输入"+ number +"个学生成绩");
        for(int i=0 ; i<score.length ; i++){
            score[i] = scan.nextInt();
            //直接在遍历赋值时进行最大值的计算
            if(maxscore <= score[i]){
                maxscore = score[i];
            }
        }

        //获取数组中的最大值
        /*int maxscore = 0;
        for(int i=0;i<score.length;i++){
            if(maxscore < score[i]){
                maxscore = score[i];
            }
        }*/

        //遍历数组,计算学生的成绩,并且输出等级
        char level;
        for(int i=0;i<score.length;i++){
            if(maxscore - score[i] <=10){
                level = 'A';
            }else if(maxscore - score[i] <=20){
                level = 'B';
            }else if(maxscore - score[i] <=30){
                level = 'C';
            }else{
                level = 'D';
            }

            System.out.println("student" + i +"score is"+score[i]+"grade is "+level);
        }
    }

}

多维数组的使用(二维)

//都是正确的
int[][] arr = new int[][]{{1,2},{2,3,4},{4,5,6}};

int[] arr1[]  = new int[][]{{1,2},{2,3,4},{4,5,6}};

int arr2[][] = new int[][]{{1,2},{2,3,4},{4,5,6}};

int[][]  arr3 = {{1,2},{2,3,4},{4,5,6}};//类型推断

int[][] arr4;
arr4 = {{1,2},{2,3,4},{4,5,6}};//错误的,无法识别数组的类型

数组的长度:

遍历二维数组(双层for循环)

for(int i = 0 ; i<arr.length ; i++) {
     for(j = 0 ; j<arr[i].length ; j++) {       System.out.print(arr[i][j]+"");
     }
      System.out.println();}

二维数组的使用

规定:二维数组分为外层数组的元素,内层数组的元素

int[][] arr = new int[4][3];
//外层元素:arr[0] 、arr[1]等
//内层元素:arr[0][0]等

//数组的默认值
int[][] arr = new int[4][3];
System.out.println(arr[0]);//输出地址值,外层元素的初始化值,就是地址值
System.out.println(arr[0][1]);//0,内存元素的初始化值,与一维数组相同

int[][] arr = new int[4][];
System.out.println(arr[0]);
//无论是什么类型的二维数组,后面一个没有数值,都输出null
System.out.println(arr[0][1]);//报错

二维数组的内存解析

数据的存储结构:

线性表(一对一):顺序表(例如:数组)、链表、栈、队列

树形结构(一对多):二叉树

图形结构(多对多)

声明:int[] x,y[]; 在给x,y变量赋值以后,以下选项允许通过编译的是:
int[] x,y[];相当于 int[] x;与 int[] y[];

a ) x[0] = y; no   //x是一维的,y是二维的,x[0]就是int型的一个数
b) y[0] = x; yes
c) y[0][0] = x; no
d) x[0][0] = y; no
e) y[0][0] = x[0]; yes
f) x = y; no

到此这篇关于java循环结构、数组的文章就介绍到这了,更多相关java循环结构、数组内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java 数组迭代你会用吗

    目录 1.概述 2.通过循环进行数组迭代 3.JDK 8 之前使用老方式进行数组迭代 4.使用 Java 8 Stream 进行数组迭代 5.字符串的应用 6.总结 Java 数组是我们学习或工作中常用到的数据结构,我们会经常写数组迭代的代码,但你的代码是最优雅的么? 本文介绍三种数组迭代的方式以及最佳实践. 1.概述 首先我们通过遍历数组值的基本方法,来迭代数组.其次我们用 Java 比较古老的方法实现,最后我们再使用 Java 8 的 Stream API 将数组转成迭代器. 除此之外,我们

  • java学习之一维数组中重复元素的去除

    目录 一.基本思路 二.步骤 1.设置判断数组Arr[ ] 2.继承数组newArr[ ]获取不重复元素 总结 一.基本思路 首先,假设一个一维数组arr[ ]={ 4, 3, 35, 3, 2, 4, 6, 3},其中有三个重复元素 3,4,3.要如何剔除呢,由于还没有涉猎到一些经典的调用,所以我选择了用新的数组newArr[ ]去继承原来数组中的不重复的元素,另外还需要一个判断数组Arr[ ],来判断arr[ ]中哪几个元素是重复的,才好去除掉. 二.步骤 1.设置判断数组Arr[ ] 代码

  • Java中高效判断数组中是否包含某个元素的几种方法

    目录 检查数组是否包含某个值的方法 使用List 使用Set 使用循环判断 使用Arrays.binarySearch() 时间复杂度 使用一个长度为1k的数组 使用一个长度为10k的数组 总结 补充 使用ArrayUtils 完整测试代码 长字符串数据 如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同

  • Java关于数组的介绍与使用

    目录 一.前言 二.数组的定义 数组定义的形式: 格式1: 格式2: 三.数组的初始化方式: 1.动态初始化 动态开辟的示意图: 2.静态初始化 四.索引访问数组 五.数组长度表示 六.遍历数组 方法一: 实例演示: 代码: 方法二: 实例演示: 代码: 七.数组的初始值 实例演示: 代码: 一.前言 前面我们学习了随机数的介绍和使用,那么这篇我们来学习java中数组的定义和使用, java的数组和c语言的十分类似. 二.数组的定义 数组定义的形式: 格式1: 数据类型 [ ] 数组名 :如in

  • Java基础之不简单的数组

    目录 引言 数组也是一种类型 数组特点 数组的声明和初始化 1.静态初始化 2.动态初始化 数组和内存 总结 引言 相信有过编程基础的小伙伴都知道数组这个数据结构,它应该也是我们第一个接触的数据结构,学过C或者C++的应该知道数组和指针紧密相关,那么在java里没有了指针,java里的数组又有哪些不同的特点呢?下面就来介绍一下java里的数组: 数组也是一种类型 数组里面的数组元素都是唯一的,这个大家应该都知道,但是因为java是面向对象语言,类与类之间又有继承关系(C++中同样拥有),所以有时

  • java循环结构、数组的使用小结

    数组 数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 数组本身是引用数据类型,既可以存储基本数据类型,也可以存储引用数据类型.它的元素相当于类的成员变量. 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址. 数组的长度一旦确定,就不能修改. 通过下标(或索引)的方式调用指定位置的元素. 数组的分类: 按照维度:一维数组.二维数组.三维数组.-按照元素的数据类型分:基本数据类型元素的数组.引用数据类型元素

  • 浅析JAVA 循环结构

    顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: while 循环 do-while 循环 for 循环 在Java5中引入了一种主要用于数组的增强型for循环. while 循环 while是最基本的循环,它的结构为: while( 布尔表达式 ) { //循环内容 } 只要布尔表达式为 true,循环就会一直执行下去. public class Test { public static void main(String

  • 最详细的Java循环结构解析之for循环教程(适合小白)

    目录 循环结构的分类 for循环 基本语法 for循环的执行顺序 实例解析 嵌套for循环 基本语法 实例解析 总结 循环结构的分类 在Java中,循环结构一共分为三类: 1.for循环 2.while循环 3.do-while循环 for循环 for循环是被使用最广泛的循环,使用计数器来实现循环结构,多用于循环次数已知的情况. 在关键字for后面的括号中,会有三个语句: 第一个语句是初始化变量语句,允许声明一个或多个整型变量 第二个语句是循环条件语句,在每次循环开始前,判断循环条件是否成立 第

  • Java循环结构之多重循环及continue break

    目录 前言 for循环案例 continue break return 前言 含义: (1)多重循环指一个循环语句的循环体中再包含循环语句,又称嵌套循环. (2)循环语句内可以嵌套多层循环. (3)不同的循环语句可以相互嵌套. 语法格式: while循环: while(循环条件1){ 循环语句1 while(循环条件2){ 循环语句2 } } do while循环: do{ 循环体 do{ 循环体 }while(循环条件); }while(循环条件); for循环: for(表达式1;表达式2;

  • Java流程控制之循环结构for,增强for循环

    目录 1.for循环 1.1-for循环语法格式及说明 1.2-for循环实例练习演示 2.增强for循环 2.1-增强for循环语法格式及说明 2.2-增强for循环实例演示 1.for循环 虽然所有循环结构都可以用 while 或者 do-while来表示,但 for 循环的出现,可使一些循环结构变得更加简单明了. 注意: for循环执行的次数是在执行前就确定的. 实例助解:while循环和for循环 public static void main(String[] args) { int

  • 深入了解Java中循环结构的使用

    目录 1.Java 循环结构概述 2. while 循环 2.1 while 循环结构简介 2.2 while 循环语法格式 2.3 while 循环代码实例 3. do…while 循环 3.1 do…while 循环 简介 3.2 do…while 循环 语法格式 3.3 do…while 循环代码实例 4. for循环 4.1 for 循环简介 4.2 for 循环 语法格式 4.3 for 循环代码实例 5. Java 增强 for 循环 5.1 增强 for 循环 简介 5.2 增强

  • Java流程控制之循环结构while、do...while

    目录 1.while 循环 2.do-while 循环 3.while和do-while的区别 本篇笔记内容记录while循环以及do-while循环,下一篇将讲述for循环以及延伸出来的增强型for循环(Java5新加) 前言: 在了解了选择结构之后,我们发现,仅通过选择结构,无法让程序一直跑着,我们每次运行就停止了.这在真实环境中肯定是不行的,比如网站的服务器,需要24小时无休地跑着,以及程序跑多少次等等. 为了解决这个问题,循环结构自然而然地诞生了! 顺序结构的程序语句只能跑一次(执行一次

  • Java十分钟掌握选择与循环结构

    目录 选择结构 1.简单if 2.多重if 3.嵌套if 4.switch选择结构 循环结构 while循环 do-while循环 选择结构 1.简单if int money=10; if(money>100){ System.out.println("money小于100"); } Java内的if其实和别的编程语言是一样的,在if后的括号内,写需要判断的数据,若符合,则执行. 2.多重if 多重if结构,有多种选择但是选择一种 这里就要搭配else if 来使用 if (nu

  • Java基础知识精通循环结构与break及continue

    目录 前言 for循环(常用) 1.格式 2.控制流程 3.注释 while循环(常用) 1.格式 2.执行流程 do…while循环 执行流程 区别 break与continue用法 break continue 循环嵌套 前言 本文章主要讲解剩余的控制结构:for循环.while循环,话不多说直接开讲. for循环(常用) for循环是支持迭代的一种通用结构,由一个计数器换或类似的变量控制迭代次数,每次迭代后这个变量会更新.详情见实例1: 1.格式 for(初始化条件;判断条件;控制条件)

  • Java选择结构与循环结构的使用详解

    目录 前言 一.选择结构 1.1 if选择结构的四种格式 1.2 switch选择结构 二.循环结构 2.1 while循环结构 2.2 do-while循环结构 2.3 for循环结构 2.4 for-each循环结构 三.控制语句 前言 大家了解了Java中的变量.数据类型和运算符后,小编给大家介绍使用选择结构和循环结构解决问题. 一.选择结构 1.1 if选择结构的四种格式 1.1.1 基本if语句—单分支判断 if(比较表达式){ 语句体: } /* 执行流程是:判断比较表达式中的值,是

随机推荐