while循环
while循环的语法格式:
while(表达式){
代码块;
}
语法解释:
1.运算表达式
2.如果表达式的运算结果为true,则执行代码块,否则结束while循环
3.第1步 第2步如此反复
比较while循环与for循环
1.都是循环语句,都用于重复执行某段代码
但是一般while循环能实现的功能,for循环都能实现
while(表达式){}
for(表达式1;表达式2;表达式3){}
2.使用场景不太相同:
知道要循环多少次使用for循环
不知道要循环多少次,但是知道什么时候不循环使用while循环
//有一个txt文档。不知道这个文档有多少字。
//将里面文字都读出来。
//什么时候 --> 读到文件最后面不读 ----> 使用while循环
//for(int i = 1;i<小于总字数;i++){}
示例:
int m = 0;
while(m<10){
System.out.println(m);
m++;
}
1.使用while循环 计算 从1加到100
2.使用while循环 计算 1加到100的偶数和
绝知此事需躬行
彻底 了解清楚这个事物的原理需要谦逊的态度去做这件事
do...while...
语法:
do{
代码块;
}while(表达式);
语法解释:
首先执行代码块,然后在运算表达式。
若表达式的最终运算结果为true,则执行代码块,如此反复。否则结束do...while...循环
注意:
在do...while循环中,代码块最少会执行1次。
数组:
什么是数组?
存放特定数据类型的定长的数据容器。
数组的语法格式?
数据类型[] 数组名称 = new 数据类型[容器长度];
注意:
数据类型[] 数组名称; =====>
声明一个数组,并没有具体为这个数组开辟内存空间,那么也没有位置存放默认值
new 数据类型[数组长度];====>
这才是数组创建,此时会开辟堆内存空间,且内存空间中存放的是默认值
其他写法:
数据类型 数组名称[] = new 数据类型[数组长度]; ===> 当没讲过
数据类型[] 数组名称 = {值1,值2,...,值n};
创建一个数组,且这个数组直接赋值,且数组的长度就是这些值的个数
注意:任何数组一经开辟堆内存空间,堆内存空间是无法发生大小改变。
数组的使用:
数组使用是依赖数组的下标(数组索引)。从数组容器的左侧开始,下标值是从0开始
[0 , 0, 0, 0, 0]
0 1 2 3 4
获取数组中的值:
数组名称[下标值]
向数组对应的下标处存放值:
数组名称[下标值] = 值;
数组属性:
length --->数组的长度属性
数组名称.length;----> 数组的长度
//1.定义一个数组:
int[] ints = {2,4,6,7,9,10};
0 1 2 3 4 5 ===> 6个数
2.将数组中所有的值打印出来
使用for循环
for(int i=0;i<6;i++){
System.out.println(ints[i])
}
折半查找 二分法
在一个有序的数组中,指定一个数,查找出这数在这个数组中的位置。
假设这个数在中间,然后比较这个数与中间的这个数的大小,然后不断缩小查找的范围,被称之为折半查找
也被称之为二分法。
int[] ints = {1,2,3,4,5,6,7,8,9};
使用折半查找的思想,找到系统随机产生的一个1-9之间的数的下标
打印系统产生的这个数,且打印次数
//1.知道数组中间那个数的下标