一、数组定义:
1.数组的定义:
数组是相同类型数据的有序集合。数组描述的是相同的若干个数据,按照一定的先后次序排列组合而成。每个数据又被称为一个元素,每个元素可以通过下标来访问。
2.数组的特点:
1.数组的长度确定,一旦被被声明初始化指定长度后,不能被修改;
2.数组的元素类型一致,不能出现混合型;
3.数组的类型可以是任何类型。
二、数组的声明与初始化:
1.数组的声明方式:
(1)数据类型 [ ] 数组名;
(2)数据类型 [ ] 数组名;
2.注意:
(1)声明的时候并没有实例化任何对象;
(2)声明一个数组的时候,数组并没有被真正创建;
(3)构造一个数组必须为其指定长度;
3.数组的初始化:
(1)静态初始化:直接在定义数组的同时就为数组元素分配空间并赋值。
(2)动态初始化:数组定义与为数组元素分配空间并赋值的操作分开进行。
(3)默认初始化: 数组是引用类型,它的元素相当于类的实例变量,因此数组 一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
(4)数组的初始化默认值:引用类型:null;int类型:0;double类型:0.0; boolean类型:false。


三、数组的遍历:
1.数组元素的下标的合法区间:[0,length-1];可以通过下标来遍历数组中的元素,遍历时可以读取元素的值或者修改元素的值。
2.数组的下标不能越界;


3.for-each循环:
(1)专门用于读取数组或集合中所有的元素,即对数组进行遍历。
(2)For-each不可以修改数组中的值,for循环可以修改数组中的值。


四、福彩双色球项目:
1.需求:双色球投注区分为红色球号码区和蓝色球号码区,红色球号码区由 1-33 共 33 个号码组成,蓝色球号码区由 1-16 共 16 个号码组成。投注时选择 6 个红球号码和 1 个蓝球号码组成一注进行单式投注,每注金额 2 元。



1.过程分析:
在DoubleBallGame类中总共创建了7个方法( printMenu();startGame();buy();findRandomNumbers();findUserNumbers();show();open())。
(1)printMenu():主要功能是实现菜单的打印;
(2)startGame():游戏的开始;通过while循环对printMenu()重复调用实现主界面多次打印;通过switch-case结构调用buy();调用open();进入下一个界面选择;
(3)buy():实现用户彩票购买功能;并通过"选择0或1;0代表手选号码,1代表随机选择号码”进入选号菜单;调用findRandomNumbers():机选;findUserNumbers():手选;
(4)findRandomNumbers():随机获得一注彩票号码;
(5)findUserNumbers():手选获得彩票的方法;
(6)show():显示用户购买的彩票信息;
(7)open():开奖方式;首先打印一遍用户的彩票号码;随机的获取一注彩票号码作为开奖号码;分别遍历开奖号码和用户号码,比较红蓝球数;最后根据红球中奖的数量和蓝球中奖的数量进行确定奖金。
网友评论