5-1-3 数组的元素-

数组的元素

1.每个元素都是一种类型的变量

2.索引/下标(整数)从0开始

3.访问元素通过索引/下标

       int[] a = new int[10];
       a[0] = 5;
       a[6] = 7;

把5放到0的盒子里

把7放到6的盒子里


有效的下标

1.最小的下标是0,最大的下标是数组的元素个数-1

2.编译器不检查下标是否有效

3.如出现无效下标,会导致程序终止


例1

       int[] numbers = new int[100];  
       
       numbers[-1] = 10;
       numbers[100] = 10;


运行之后,会出错:

Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException: -1

at Main.main(Main.java:12)


例2

       int[] numbers = new int[100];  
       
       int k = numbers[-1];

同样出错



前面的程序危险是因为输出的数据可能超过100个


5-1-2 创建数组?

有元素个数可以是变量


思路:

先让用户报输入数据的数量,再读数据


import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      
	   Scanner in = new Scanner(System.in);  
       
       double sum = 0;  
       int count = 0;  
//   	读进count
       count = in.nextInt();
//  	保险机制     
       if (count > 0)
       {
//			创建count个int,数组大小程序运行时才知道结果
//    	    相比上一节课新的东西
    	   int[] numbers = new int[count];
//			循环很多遍,遍历数组(循环很多遍), 
    	   for(int i = 0; i < count; i++ )  
           {      		  
    		   numbers[i] = in.nextInt();
//   		每次累加,没必要遍历数组之后再跑一遍+sum   
               sum += numbers[i];                  
           } 
//    	   算平均
    	   double average = sum / count;
//    	   再遍历一遍数组
    	   for (int i = 0; i < count; i++ )
    	   {
    		   if (numbers[i] > average)
    		   {
    			   System.out.println(numbers[i]);
    		   }
    	   }
    	   
    	   System.out.println("平均数="+sum/count);   
           }         
       }
}


留意

1.数组大小在运行过程中依旧不能改变



新的——length

1.每个数组都有一个

2.告诉你它的元素数量


原来我们写:

<p class="p1"><span style="font-family: Arial, Helvetica, sans-serif;">    </span><span style="font-family: Arial, Helvetica, sans-serif;">	</span><span style="font-family: Arial, Helvetica, sans-serif;">   </span><span class="s1" style="font-family: Arial, Helvetica, sans-serif;">for</span><span style="font-family: Arial, Helvetica, sans-serif;"> ( </span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">i</span><span style="font-family: Arial, Helvetica, sans-serif;"> = 0; </span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">i</span><span style="font-family: Arial, Helvetica, sans-serif;"> < 100; ++</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">i</span><span style="font-family: Arial, Helvetica, sans-serif;"> )</span></p><p class="p1">    <span>	</span>   {</p><p class="p1">    <span>	</span><span>	</span>  <span class="s3">sum</span> += <span class="s2">grade</span>[<span class="s2">i</span>];</p><p class="p1">    <span>	</span>   }</p><p class="p2"></p>

最好改成这样:

<span style="white-space:pre"></span><pre name="code" class="java"><p class="p1">//    <span>	</span>   数组的变量名字+.+length</p><p class="p1">//    <span>	</span>   .的意思是访问grade里面的length</p><p class="p2">    <span>	</span>   <span class="s1">for</span> (<span class="s1">int</span> <span class="s2">i</span> = 0; <span class="s2">i</span> < <span class="s3">grade</span>.length; ++<span class="s2">i</span> )</p><p class="p2">    <span>	</span>   {</p><p class="p2">    <span>	</span><span>	</span>  <span class="s2">sum</span> += <span class="s3">grade</span>[<span class="s2">i</span>];</p><p class="p2">    <span>	</span>   }</p>

 

1.点,后面再详讲

2.想知道数组有多少元素,用

grade<数组名字>.length

for (int i = 0; i < numbers.length; i++ )
    	   {
    		   if (numbers[i] > average)
    		   {
    			   System.out.println(numbers[i]);
    		   }
    	   }

好处:

1.可拓展性

方便修改代码






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值