黑马程序员技术交流社区

标题: javaee8期基础班第四天 [打印本页]

作者: wuwangshan    时间: 2018-1-17 22:59
标题: javaee8期基础班第四天
总结 总结

Random随机数
作用: 用于产生一个随机数
使用步骤: A:导包        import java.util.Random
B: 创建对象
C: 获取随机数
Int number = r.nextInt(10);
获取数据的范围: [0,10) 包括0 不包括10
如何获取1-100的随机数呢?
Int i = r.nextInt(100) + 1;
案例
1. 随机生成一个4位数的验证码
2. Boss1000血量 英雄攻击力3-14 如果攻击力能被3整除则暴击(要求显示打印暴击数值)求多少次能把boss打死
       Random rd = new Random();
                       int conut = 0;
                       int boss = 1000;
                       while(true){
                               int att = rd.nextInt(12)+3;
                               if(att%3 == 0){
                                       att *=10;
                                       System.out.println("暴击"+att);
                               }
                               boss = boss - att;
                               if(boss<0){
                                       break;
                               }
                               conut++;
                       }
                       System.out.println("共打了"+conut+"次");
               
3. 猜数字小游戏 : 系统产生一个1-100之间的随机数,请猜出这个数据是多少
4. 压大小,随机是0是小,1是大,开始有100,如果压中,翻倍,没压中,扣钱,,当钱没了,游戏停止
数组
数组: 用存储同一种数据类型的多个元素容器;
定义格式;
A:数据类型[] 数组名
B:数据类型 数组名[]
举例:
Int[] arr  // 定义了一个int类型的数组,数组名是arr
Int arr[]   // 定义了一个int类型变量,变量名是arr数组
数字初始化
A: 所谓的初始化,就是为数组开辟内存空间,并未数组中的每一个元素赋予初始化
B:我们有两种方式可以实现初始化
A: 动态初始化   值给出长度,由系统给出初始化值
B:静态初始化  给初始化值,由系统决定长度
动态初始化:
数据类型[] 数组名 = new 数据类型[数组长度]
举例  int[] arr = new int[];
  案例:数组里面的元素交换
int[] arr = new int[3];
       arr[0] = 100;
                      arr[2] = 200;
                      System.out.println(arr[0]);
                      System.out.println(arr[2]);
                      System.out.println("------------");
                      int tempArr = arr[0];
                      arr[0] = arr[2];
                      arr[2] = tempArr;
                      System.out.println(arr[0]);
          System.out.println(arr[2]);
静态初始化的格式
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,....}
举例  int[] arr = new int[]{1,2,3}
简化格式 int[] arr = {1,2,3}
两个常见小问题:
A: ArrayIndexOutOfBoundsException:数组索引越界
产生原因: 我们访问了不存在的索引
B:NullPointerException: 空指针异常;
产生原因:数组已经不在指向堆内存的数据了,你还访问
数组遍历
依次获取数组中的每一个元素
Int[] arr = {11,22,33,44,55};
For(int x=0;x<arr.length;x++){
System.out.print(arr[x]+” ”);
}
数组获取最值
获取最值得思路:
A:先拿数组中的元素作为参照物
B:遍历数组,让后面所有的元素依次和参照物做比较
如果元素比参照物大,就留下来
C:整个循环遍历结束,留下就是最大值
//定义数组
Int[] arr ={12,34,56,86,23,65};
//定义参照物
Int max = arr[0];
//遍历数组,获取除了0索引以外的元素,进行比较
For(int x=1;x<arr.length;x++){
If(arr[x]>max){
Max = arr[x];
}
}
System.out.println(max);
案例
随机生成101-100的随机数.存到一个数组中,将最大值和最小值变成0,然后求出
这个数组的数字和
二维数组
二维数组就是元素为一维数组的数组
定义格式:
A:数据类型[][] 数组名;(推荐的方式)
B:数据类型  数组名[][] ;
C:数据类型[] 数组名[]
初始化:
A:动态初始化
数据类型[][] 数组名 =new 数据类型[m][n];
m表示二维数组中一维数组的个数
N 表示的是一维数组中的元素个数
B:静态初始化
数据类型[][] 数组名 = new 数据类型[][]{{元素..},{元素..},{元素..}}
简化版:
数据类型[][] 数组名 ={{元素..},{元素..},{元素..}};
二维数组遍历
Int[] arr = {{1,2,3,4},{5,6,7,8},{9,12}};
For(int x=0;x<arr.length;x++){
For(int y=0;y<arr[x].length){
System.out.print(arr[x][y]+” ”);
}
}
二维数组.length获取的其实就是二维数组中有几个一维数组


作者: 1414225997    时间: 2018-1-18 10:01
继续努力哦~~~
作者: 渝小妹    时间: 2018-1-21 16:57
期待你每天的进步   温故而知新




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2