第七章 数组

      7.1、数组概述

  7.1.1、为什么需要数组

      答:有时候需要存储或处理一系列数据,数组就可以充当这样的角色,它在内存中是相连的数据,并且在栈中的引用只有一个,

    如果不用数组,那数据就得一个一个定义一个一个声明,浪费内存空间,显然不合理。

  7.1.2、java中的数组

    答:数组的结构和基本要素:

        1、标识符:数组的名称,用于区分不同数组。

        2、数组元素:向数组中存放的数据。

        3、元素下标:对数组元素进行编号。

        4、元素类型:数组元素的数据类型。

7.2、如何使用数组

  7.2.1、使用数组的步骤

    答: 语法:数据类型[] 数组名             数据类型 数组名[]      数组名[下标值]

      数组名=new 数据类型[数组长度]       数据类型[] 数组名=new 数据类型[数组长度]

      数据类型[] 数组名={值1,值2,值3,......,值n}

  7.2.2、常见错误

    答:1、数组下标从0开始

      2、数组访问越界

  7.2.3、上机练习

    答:public class Goodsput{

        public static void main(String[]arg){

          String[] goods=new String[]{"fdgjf","jyhty","iyof","","jykyukl","klyuoyt","syhhffg"};

        System.out.println("本次活动特价商品有:");

        for(int i=0;i<goods.length;i++){

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

        }

      }

    }

7.3、数组应用

  7.3.1、数组排序

    答:import java.util.*;import java.util.Arrays;

      public class ScoreSaort{

        public static void main(String[]args){

            int[] scores=new int[5];

            Scanner input=new Scanner(Sysem.in);

            System.out.println("请输入5为同学的学习成绩:");

            for(int i=0;i<scores.length;i++){

              scores[i]=input.nextInt();

            }

          Arrays.sort(scores);

          System.out.println("学生成绩按升序排序");

          for(int i=0;i<scores.length;i++){

             System.out.println(scores[i]+" "); 

          }

        }

     }

  7.3.2、上机练习

    答:import java.util.Scanner;import java.util.Arrays;

      public class ziMu{

        public static void main(String[]args){

          String[] zimu=new String[8];

        System.out.println("请输入8个字符:");

        for(int i=0;i<zumu.length;i++){

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

        }

        Arrays.sort(zumu);

      System.out.println("升序字符序列:");
        for(int i=0;i<ziMu.length;i++){
           System.out.println(ziMu[i]+"");
       }
          System.out.println("逆序字符序列:");
        for(int i=7;i>=0;i--){      
           System.out.println(ziMu[i]+"");
      }

      }

    }

  7.3.3、求数组最大值

    答:import java.util.Scanner;

      public class MaxScore{

        public static void main(String[]args]);

        int[] score=new int[15];

        int max=0;

        System.out.println("请输入学生成绩:");

        for(int i=0;i<score.length;i++){

          score[i]=input.nextInt();

       }

      max=score[0];

      for(int i=1;i<score.length;i++){

        if(score[i]>max){

          max=score[i];

        }

        System.out.println("成绩坐分:");

      }

     }

  7.3.4、上机练习

    答:import java.util.*;

    public class zuiXiaoZhi{

      public static void main(String[] args){

        int[] num=new int[54];

          int min=0;

        Scanner input=new Scannet(System,in);

         System.out.println("请输入4家店的价格");

        for(int i=0;i<num.length;i++){

          System.out.println("第"+(i+1)+"家店的价格是:");

            num[i]=input.nextInt());

      }

      min=num[0];

      for(int i=0;i<num.length;i++){

        if(num[i]<min){

          min=num[i];

        }

      }

      System.out.println("最低价格是:"+min);

   }

}

7.4、深入了解数据类型

  7.4.1、基本数据类型

    答:对于基本数据类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该变量的值。赋值操作传递的是变量的值,

  改变一个变量的值不会影响另一个变量的值。

  7.4.2、引用数据类型

    答:public class ReferenceTypeDemo{

        public static void main(String[]args){

          int[] infoZhang=new int[]{170,60};

          int[] infoLi=infoZhang;

          System.out.println("去年张的身高是"+infoZhang[0]+"体重是"+infoZhang[1]+"公斤");

          infoLi[0]=180;

          infoLi[1]=70;

        System.out.println("去年张的身高是"+infoZhang[0]+"体重是"+infoZhang[1]+"公斤","黎明的身高是"+infoLi[0]+"体重是"+info[1]);

    }

  }

  7.4.3、上机练习

    答:import java.util.Scanner;

      public class shangji5 {  

        public static void main(String[]args){

           int[]points=new int[5];  //积分组  

         int[] newpoints=new int[5];

      Scanner input=new Scanner(System.in);

      System.out.println("请输入5位会员的积分:");   

      for(int i=0;i<points.length;i++){   

        System.out.println("第"+(i+1)+"次会员积分:"); //历史积分

             points[i]=input.nextInt();   

      }

      System.out.println("序号"+"\t\t\t历史积分"+"\t\t\t新年积分");   

    for(int i=0;i<points.length;i++){    

        newpoints[i]=points[i];

         newpoints[i]=newpoints[i]+500; //赠送500积分   

       System.out.println((i+1)+"\t\t\t"+points[i]+"\t\t\t"+newpoints[i]);

      }   //(i+1):从1开始,从零开始不加1

   }

}  

本章总结

  答:数组是可以在内存中连续存储多个元素的结构,数组中的所有元素必须相同的数据类型。

    数组中元素通过数组的下标进行访问,数组下标从0开始。

    一维数组可用一个循环动态初始化,或者用一个循环动态输出数组中的元素信息。

    int,double,char,boolean类型是基本数据类型。

    String和数组是引用数据类型。

本章作业

  答:import java.util.Scanner;

    public class NumberCount {

 /**   * 统计合法数字(1,2,3)和非法数字的个数   */  

    public static void main(String[] args) {

        int[] num = new int[10]; //数字数组

        int[] count = new int[4]; //统计每个数出现的个数

      Scanner input = new Scanner(System.in);   

    System.out.println("请输入10个数");

       for(int i = 0; i < num.length; i++){    

        num[i] = input.nextInt();

         switch(num[i]){   

           case 1:   

                 count[0]++;

                 break; 

            case 2:    

               count[1]++;     

              break;   

           case 3:    

               count[2]++;   

                break;  

            default:    

               count[3]++;    

               break;   

         }  

       }  

     System.out.println("数字 1 的个数:" + count[0]);  

     System.out.println("数字 2 的个数:" + count[1]);  

     System.out.println("数字 3 的个数:" + count[2]);  

     System.out.println("非法数字的个数:" + count[3]);  }

}

 

 

转载于:https://www.cnblogs.com/lanliying/archive/2012/12/14/2818435.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

notify_one() 或 notify_all() 在c++中的使用要点

notify_one() 或 notify_all() 如果在锁(mutex spin_lock)里调用&#xff0c;可能会导致被立刻唤醒的线程继续阻塞&#xff0c;因为锁被notify线程持有。 c标准上说&#xff0c;一些实现(尤其是许多 pthread 的实现)为了归避这种情况&#xff0c;在通知调用中&#xff0c;直接将…

[转载]Asp.net MVC中Controller返回值类型

Asp.net MVC中Controller返回值类型在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求&#xff1a; 必须是一个public方法必须是实例方法没有标志NonActionAttribute特性的(NoAction)不能被重载必须返回ActionResult类型如: [cs…

Visual Studio.net 2010 Windows Service 开发,安装与调试

本示例完成一个每隔一分钟向C:\log.txt文件写入一条记录为例&#xff0c;讲述一个Windows Service 程序的开发,安装与调试 原程序&#xff0c;加文档示例下载 /Files/zycblog/SourceCode.rar 目录索引 1 开发工具 2 开发过程 3 安装 4 开发调试 5 注意事项 6 参考资料…

ArcGis dbf读写——挂接Excel到属性表 C#

ArcMap提供了挂接Excel表格信息到属性表的功能&#xff0c;但是当数据量较大到以万计甚至十万计的时候这个功能就歇菜了&#xff0c;当然&#xff0c;你可以考虑分段挂接。这个挂接功能只是做了一个表关联&#xff0c;属性记录每个字段的信息需要通过“字段计算器”计算过来。 …

JQuery. Parse XML children recursively. How? - Stack Overflow

JQuery. Parse XML children recursively. How? - Stack OverflowJQuery. Parse XML children recursively. How?

presto领读 查询引擎翻译

原文链接&#xff1a;https://prestodb.io/docs/current/overview/concepts.html#data-sources 最近在看presto-分布式SQL查询引擎的代码&#xff0c;使用翻译工具翻译了一版&#xff0c;有些概念比较难以理解&#xff0c;整理如下&#xff1a; 一、概览 虽然很容易理解语句和…

VisualStudioAddIn2017.vsix的下载安装和使用

本加载项是用于Visual Studio的&#xff0c;下载以后按照如下步骤进行安装&#xff1a; 完全退出Visual Studio把下载了的文件解压缩&#xff0c;会产生一个VisualStudioAddIn2017.vsix文件双击该文件&#xff0c;按照提示安装重启Visual Studio安装完成后的使用方法&#xff0…

Presto基本概念

Presto基本概念 Presto是Facebook开源的MPP SQL引擎&#xff0c;旨在填补Hive在速度和灵活性&#xff08;对接多种数据源&#xff09;上的不足。相似的SQL on Hadoop竞品还有Impala和Spark SQL等。这里我们介绍下Presto的基本概念&#xff0c;为后续的笔记做基础。 Operator …

2019春第六周编程总结

这个作业属于哪个课程C语言程序设计Ⅱ这个作业要求在哪里https://edu.cnblogs.com/campus/zswxy/MS/homework/2829我在这个课程的目标是利用指针知识解决相关实际问题在具体哪方面帮我实现目标设计密码开锁、交换变量解决问题以及电码加密参考文献C语言基础、http://www.w3scho…

昨天7月21号,笑笑又生病了

21号从上午就开始发烧,中午吃了安瑞克烧退了,但是下午6点左右又开始发烧了,再次吃安瑞克,效果不是太好,还是烧,睡了觉之后烧退了。晚上十点又开始发烧&#xff0c;吃美林悬浮液烧还是没退&#xff0c;又吃安瑞克&#xff0c;还是烧&#xff0c;到了一点钟,烧,但稍微好一点 22号…

Exchange企业实战技巧(26)在Outlook中打开多个邮箱

工作中&#xff0c;有时要需要让某个用户在outlook中同时打开多个exchange邮箱&#xff0c;对于outlook2010来说&#xff0c;是支持多个Exchange邮箱用户账户的并存&#xff0c;而outlook2007则不支持。那该功能有没其他实现方法呢&#xff1f;答案是有的。 如果你的Exchange是…

sql 为什么要用where 1=1或者where 1 =0 ?

一、不用where 11 在多条件查询中的困扰   举个例子&#xff0c;如果您做查询页面&#xff0c;并且&#xff0c;可查询的选项有多个&#xff0c;同时&#xff0c;还让用户自行选择并输入查询关键词&#xff0c;那么&#xff0c;按平时的查询语句的动态构造&#xff0c;代码…

Java元数据总结:Java注释的使用和定义

元数据从metadata一词译来&#xff0c;就是“关于数据的数据”的意思。越来越的开源框架都提供了“元数据”支持了&#xff0c;其实也就是注释支持。今天系统学习一下Java注释(Java元数据)。本文内容不限于Javadoc的注释。  1.什么是Java元数据&#xff0c;有什么作用?  元…

Emulator Error: Could not load OpenGLES emulati...

为什么80%的码农都做不了架构师&#xff1f;>>> 模拟器提示警告&#xff1a;Emulator Error: Could not load OpenGLES emulation library: Could not load DLL! 亲测可用&#xff1a; 从SDK\tools\lib目录下将一下四个dll文件复制到SDK\tools&#xff0c;重启模…

C++中的模板展开问题

在c中使用模板的目的是&#xff1a;减少代码量&#xff0c;相同功能的代码只写一份&#xff0c;根据传入不同的参数&#xff0c;实现相同的功能。 优点&#xff1a;减少了程序开发者的工作 量&#xff0c;只写一份相同功能的代码 缺点&#xff1a;编译器在展开时&#xff0c;每…

请教设计模式大牛们几点

我在做一个3D场景编辑器&#xff0c;假如所有物体从ObjectX而来&#xff0c;现在在此对象层&#xff0c;不知道如何设计出较好的结构来。问题如下&#xff1a; 1&#xff1a;每个物体都可以被单独的设置各种效果——阴影、多重纹理贴图、反射。 也可以设置一些动画&#xff1…

关于.net的垃圾回收和大对象处理_标记

CLR垃圾回收器根据所占空间大小划分对象。大对象和小对象的处理方式有很大区别。比如内存碎片整理 —— 在内存中移动大对象的成本是昂贵的&#xff0c;让我们研究一下垃圾回收器是如何处理大对象的&#xff0c;大对象对程序性能有哪些潜在的影响。 大对象堆和垃圾回收 在.Net …

TiKV 源码解析系列 - Raft 的优化

这篇文章转载TiDB大牛 唐刘 的博客&#xff1a;https://mp.weixin.qq.com/s?__bizMzI3NDIxNTQyOQ&mid2247484544&idx1&sn7d8e412ecc5aaeb3f9b7cf391bdcf398&chksmeb1623eadc61aafcefcfbdf36b388a5f96d3009d21641eb6ac67c57317d6c397ddeb58fc7d06&scene21#…

IE9 Preview 4的CSS3支持。

1、完美支持了box-shadow&#xff0c;无需前缀。【哈哈说曹操曹操到&#xff0c;还剩下text-shadow未支持了。】 2、有了支持CSS3 Gradient的迹象&#xff0c;但是很神奇的是IE9现在支持的是-webkit-gradient的写法&#xff0c;不过尚不支持color-stop。嗯&#xff0c;相信下个…

三篇文章了解 TiDB 技术内幕——说存储

此文转载了 申砾 PingCAP 的文章&#xff1a;https://mp.weixin.qq.com/s?__bizMzI3NDIxNTQyOQ&mid2247484822&idx1&sn5434362800d8dcc0ca69d2f3f3260173&chksmeb1622fcdc61abea428f74b26a24bc589d524dd3b666d9b124809300f488d00b33a315a87792&scene21#we…