目录
循环高级
无限循环
循环一直停不下来。
for(;;){
System.out.println("学习");
}
while(ture){
System.out.println("学习");
}
do{
System.out.println("学习");
}while(ture);
注意:无限循环下面不能再写其他代码,因为循环永远停不下来。
跳转控制语句
在循环过程中,跳转到其他语句执行。
continue:结束本次循环进入下次循环。
break:结束整个循环。
练习:老虎吃包子
在第三个包子跳过
public static void main(String[] args) {
//跳过某一次循环
for (int i=1;i<=5;i++){
if (i==3){
continue;//结束本次循环进入下次循环
}
System.out.println("老虎再吃第"+i+"个包子");
}
跳过第三个,不吃第四第五个
for (int i= 1;i<=5;i++){
if (i==3){
break;//结束整个循环
}
System.out.println("老虎再吃第"+i+"个包子");
}
Random随机生成数
1.导包 impor java.util.Random; 导包的动作必须出现在类定义的上边。
2.创建对象:表示我要开始用Random这个类了。 Random r = new Random(); 上面这个格式里面,只有r是变量名,可以变,其他都不允许变。
3.生成随机数 int number = r.bextInt(随机数的范围); 上面这个格式里面,只有number是变量名,可以变,其他的都不允许变。 范围包头不包尾,包左不包右。10是0-9范围。
秘诀:需要范围7-15的随机值
1.让这个范围头尾都减去一个值,让这个范围从0开始 -7范围是0-8
2.尾巴+1 8+1=9 3.最终结果,再加上第一步减去的值。
Random r = new Random();
int number = r.nexInt(9)+7;
System.out.println(number);
数组
什么是数组
是一种容器,可以用来储存同种数据类型的多个值 数组容器在储存数据的时候,需要结合隐式转换考虑。 例如:int类型的数组容器(byte short int) 例如:double类型的数组容器(byte short int long float double)
数组的定义
格式一:数组类型 [] 数组名 int [] array
格式二:数组类型 数组名[] int array[]
初始化:就是在内存中,为数组容器开辟空调,并将数据存入容器的过程。
静态初始化
初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。
完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3....};
简化格式: 数据类型[] 数组名 = {元素1,元素2,....};
数组的地址
I@776ec8df
I: int类型
@: 一个间隔符号(固定格式 )
776ec8df: 数组真正地址值(十六进制)
数组元素访问
格式:数组名[索引];
索引:也叫下标,角标。
索引的特点:从0开始,逐个+1,连续不断增长。
获取数组中里面的元素:
格式:数组名[索引];
把数据储存到数组中:
格式:数组名[]=具体数据/变量;
细节:一旦覆盖之后,原来的数据就不在了。
数组遍历
数组遍历:将数组中所有内容取出来,取出来之后可以(打印,求和,判断..)
注意:遍历是指取出数据的的过程,不要局限的理解为,遍历就是打印!
//定义数组
int[] arr= {1,2,3,4,5};
//获取数组里面所有的元素
//格式:数组名[索引]
/*System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);*/
//利用循环改进代码
//开始条件0 结束条件数组长度-1
/*for (int i = 0; i < 5; i++) {
System.out.println(arr[i]);
}*/
在Java中,关于数组的一个长度属性,length, 调用方法:数组名.length。
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
扩展,自动生成数组遍历方法,idea提供。 数组名.fori
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
动态初始化
动态初始化 :手动指定数组的长度,有系统数组分配初始值。
格式:数据类型[] 数组名 = new 数据类型[数组长度];
数组默认初始化值的规律 整数类型:默认初始化值0。 小数类型:默认初始化值'/u0000' 空格。 布尔类型:默认初始化值 false。 引用数据类型:默认初始化值 null。
动态初始化与静态初始化区别
动态初始化:手动指定数组长度,由系统给出默认初始化值。 只明确元素个数,不明确具体数值,推荐使用动态初始化。
静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度。 需求中已经明确了要操作的具体数据,直接静态初始化即可。
数组常见问题
当访问了数组中不存在的索引,就会引发索引越界异常。