今天是练习数组的第一天,后续继续
1、数组的定义以及声明
1.数组的定义:一组能够存储相同数据类型值的变量的集合
2.数组的赋值方式:
New关键字:表示创建一个数组;
(1)使用默认的初始值来初始化数组中的每一个元素
语法:数组元素类型[ ] 数组名 = new 数组元素类型[数组中元素的个数(数组的长度)]
例如:int[ ]scores = new int[3];
(2)先声明,然后再赋予默认的初始值
语法:数组元素类型[ ] 数组名;
数组名 = new 数组元素类型[数组中元素的个数];
例如:int[ ]scores;
scores = new int [3];
(3)先声明,,然后再使用指定的值进行初始化
语法:数组元素类型[ ] 数组名 = new 数组元素类型[ ]{元素1,元素2……};
如:int [ ]scores = new int[ ]{56,87,65};
(4)将第三种写法可以简化为(使用数组常量给数组进行赋值)
语法:数组元素类型[ ] 数组名 = {元素1,元素2……};
如:int [ ]scores = {45,56,89};
(5)int[ ] arr 表示定义一个int类型的数组arr
Int arr[ ] 表示定义一个int类型的变量,变量名是arr数组
2、数组的长度
求数组的长度:数组名.length
通过下标来访问数组中的元素。下标:从o开始,到数组长度-1
如: int[] scores = {89,90};
访问最后一个元素值:
int lastElement = scores[scores.length-1];
3、数组的遍历
遍历:依次取出数组中的每一个元素。
3.1 遍历方式一:普通的for循环
语法:
for(int i =0; i<数组的长度;i++){
//i:循环变量,同样:也是数组的下标(取值范围[0,数组长度])
数组中元素的类型 变量=数组名[i];
}
3.2 增强for循环与可变参数
(1)JDK1.5以后Java新增foreach循环和可变参数。遍历方式二:使用增强for循环【foreach循环】
语法:
for(数组中元素的类型 变量:数组名){
数组中元素的类型 临时变量=变量;
}
(2)结合方法的定义,可以用可变参数来代替数组作为参数。
public static void print(int ...变量名){
//可变参数在使用时只能作为数组使用;而且只能是参数列表中的最后一个
}
4、使用数组时要注意的两个异常:
(1)NullPointerException(空指针异常): java . lang. NullPointerException
出现该异常的情况:当一个变量为null(没有赋值时)时,我们去调用了该变量的属性和方法
(2)数组下标越界异常:java . lang. ArrayIndexoutofBoundsException
比如:for(int i=0;i<=x.length;i++)时,将会出现错误
5、Random的作用和使用步骤
作用:用于产生一个随机数
使用步骤:
①导包:import java.util .Random;导包的动作必须出现在类定义的上面
②创建对象:Random r = new Random( ) ;
上面这个格式里面,r是变量名,可以变,其他的都不允许变
③获取随机数:int number = r.nextInt(10);
//获取数据的范围:[0,10)包括0 ,不包括10上面这个格式里面,number是变量名,可以变,数字10可以变。其他的都不允许变
import java.util.Scanner;
import java.util.Random;
public class text5{
public static void main(String[] args){
for(int hour=0;hour<=2; hour++){ //循环语句的嵌套;
for(int minute = 1;minute <5;minute++){
System.out.println(hour+"时"+minute+"分");
}
System.out.println("---------");
}
Random r = new Random(); //注意大小写;
for (int i= 1;i<=5;i++){
int number = r.nextInt(10); //10以内的随机数;
System.out.println(number);
}
//从键盘输入一个数,判断数组中是否包含此数(随机数);
int[] num = new int[5]; //创建一个长度为5的数组;
int len = num.length;
Random a = new Random(); //创建一个随机数给a;
for(int i=0;i<len;i++){
num[i] = a.nextInt(50); //将随机数[0.50)以内的数保存到数组中;
}
Scanner input = new Scanner(System.in); //键盘输入一个数;
System.out.print("请输入您要猜的数(50以内):");
int userNum = input.nextInt();
boolean flag = false;
for(int x=0;x<len;x++){
if(userNum==x){ //判断输入的数字和数组中的数字是否相等;
flag = true;
break;
}
}
if(flag){
System.out.println("恭喜你,猜对了");
}else{
System.out.println("不好意思,猜错了");
}
}
}