发表于: 2019-10-11 23:01:51
1 850
一、今天完成的事情
JAVA数组
1、创建数组
数组是一个固定长度的,包含了相同数据类型数据的容器。
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
Java 语言中提供的数组是用来存储固定大小的同类型元素。
你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。
声明数组:
int[] a; 声明了一个数组变量。
[]表示该变量是一个数组
int 表示数组里的每一个元素都是一个整数
a 是变量名
但是,仅仅是这一句声明,不会创建数组
有时候也会写成int a[]; 没有任何区别,就是你看哪种顺眼的问题
创建数组:
创建数组的时候,要指明数组的长度。
new int[5]
引用概念:
如果变量代表一个数组,比如a,我们把a叫做引用
与基本类型不同
int c = 5; 这叫给c赋值为5
声明一个引用 int[] a;
a = new int[5];
让a这个引用,指向数组。
访问数组:
数组下标基0
下标0,代表数组里的第一个数
public class HelloWorld {
public static void main(String[] args) {
int[] a;
a = new int[5];
a[0]= 1;
//下标0,代表数组里的第一个数
a[1]= 2;
a[2]= 3;
a[3]= 4;
a[4]= 5;
}
}
数组长度:
.length属性用于访问一个数组的长度
数组访问下标范围是0到长度-1
一旦超过这个范围,就会产生数组下标越界异常
public class HelloWorld {
public static void main(String[] args) {
int[] a;
a = new int[5];
System.out.println(a.length); //打印数组的长度
a[4]=100; //下标4,实质上是“第5个”,即最后一个
a[5]=101; //下标5,实质上是“第6个”,超出范围 ,产生数组下标越界异常
}
}
练习:数组最小值:
首先创建一个长度是5的数组
然后给数组的每一位赋予随机整数
通过for循环,遍历数组,找出最小的一个值出来

public class HelloWorld {
public static void main(String[] args) {
int[] a = new int[5];
a[0] = (int) (Math.random() * 100);
a[1] = (int) (Math.random() * 100);
a[2] = (int) (Math.random() * 100);
a[3] = (int) (Math.random() * 100);
a[4] = (int) (Math.random() * 100);
System.out.println("数组中的各个随机数是:");
for (int i = 0; i < a.length; i++)
System.out.println(a[i]);
System.out.println("本练习的目的是,找出最小的一个值: ");
}
}
For-Each循环
for-each循环是Java相比C语言中的for循环拓展而来的一种新的遍历数组的循环方式,其相对于一般的for循环更方便,而且更易查找数组内的变量,他与我们常见的for循环不同的是,for循环是通过循环控制变量,访问数组中的不同位置处的元素进行遍历,而for-each循环是通过应该与数组内元素类型相同的变量进行遍历,直接得到数组内从下标为0的位置至最后一个位置的元素的元素值,便于数组内元素的查找,比如在数组内我只需要找到是否有某个元素,而不用返回元素对应的数组下标是,for-each循环是一个不错的选择。
for 循环与for-each循环
int [] a = new int [10];
//for 循环遍历
for ( int i=0;i<10;i++)
a[i];
//for-each循环遍历
for ( int k : a);
for-each循环基本语句:
for (变量类型 变量名 :数组名 ){
需要执行的循环语句;
}
其中变量类型为与数组内元素类型相同的类型。
下面是一个用for-each循环查找数组内元素的例子;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int [] data = {56, 75, 68, 45, 24, 245, 2, 5, 22, 27, 5};
int x = 0;
Scanner in = new Scanner ( System.in );
x = in.nextInt();
boolean found = false;
for ( int k : data ) {
if ( k==x ) {
found = true;
break;
}
}
if ( found ) System.out.println("找到了");
else System.out.println("没找到");
in.close();
}
}
for(type element: array)
{
System.out.println(element);
}
示例:
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
}
}
该实例用来显示数组mylist中的所有元素
二、明天要做的事情
请假
三、遇到的困难
无
四、收获
加强练习
评论