javaday04
目录
Day04---循环+数组... 2
1 break和continue. 2
1.1 形式... 2
1.2 练习1:找数字88. 3
2 循环结构2:while. 3
2.1 格式... 3
2.2 练习1:猜数字... 3
3 循环结构3:do-while. 3
3.1 格式... 3
3.2 练习1:猜数字... 3
4 数组... 4
4.1 概念... 4
4.2 创建数组... 4
4.3 练习1:数组中存入hello. 4
4.4 数组的长度... 4
4.5 数组的遍历... 5
4.5.1 形式... 5
4.5.2 练习1:输出每个月的天数... 5
4.5.3 练习2:遍历数组,存入1到10. 5
4.5.4 练习3:创建随机数组... 5
5 [了解]二维数组... 5
5.1 概念... 5
5.2 创建二维数组... 6
5.3 遍历二位数组... 6
5.4 练习1:打印二维数组中的数据... 6
6 拓展:... 7
6.1 三种循环的区别... 7
6.2 冒泡排序... 7
6.3................................................................................. 数组扩容缩容的其他方式... 8
Day04---循环+数组
1 break和continue
1.1 形式
break: 中断当前循环,简单粗暴
continue:跳出本次循环,进入下一轮
1.2 练习1:找数字88
创建day04工程
创建cn.tedu.breakconti包
创建Test1_Break.java
接收用户输入的100次数字
如果不是88继续输入
找到88就结束
package cn.tedu.breakconti;
import java.util.Scanner;
//找数字88
public class Test1_Break {
public static void main(String[] args) {
//执行100次,保证能接收100次输入
for(int i = 0 ; i < 100 ; i++) {
//1、接收用户输入的数字
int input = new Scanner(System.in).nextInt();
//2、判断是不是88
if(input != 88) {//不是88
continue;//continue可以让程序结束本次循环,继续下一次的输入
}else if(input == 88) {//是88
System.out.println("中了!!");
break;//break可以让程序立刻结束
// System.out.println("中了!!");不可到达的代码
}
}
}
}
2 循环结构2:while
先判断,再执行
2.1 格式
while(执行条件){
代码…
}
2.2 练习1:猜数字
产生一个随机数
和用户一直在输入,
的数字比较。
package cn.tedu.whiledemo;
import java.util.Random;
import java.util.Scanner;
//测试while循环
public class Test2_While {
public static void main(String[] args) {
//1、让程序产生随机数,
//nextInt(n) -- 产生n以内的随机数,从0开始
int random = new Random().nextInt(100)+1;
System.out.println(random);
//2、调用method()完成猜数字游戏
method(random);//random 是实参
}
//创建method(random) r是形参
public static void method(int r) {
//3、一直接受用户输入的数字
// for(int i = 1; i >= 1 ;i++) {//for的死循环
// while(r> 50) {//如果满足r > 50的条件,才执行循环体
while(true) {//while(true) -- 死循环,必须设置程序的出口
int input = new Scanner(System.in).nextInt();
//4、判断输入的值和随机数的关系
if(input> r) {
System.out.println("大了");
}else if(input < r) {
System.out.println("小了");
}else if(input == r) {
System.out.println("中了");
break;//设置出口!!!!!
}
}
}
}
3 循环结构3:do-while
先执行,再判断
3.1 格式
do{
代码…
} while(执行条件);
3.2 练习1:猜数字
产生一个随机数,和用户一直在输入的数字比较。
4 数组
4.1 概念
数组Array是用于储存多个相同类型数据的集合。想要获取数组中的元素值,可以通过脚标(下标)来获取,下标是从0开始的。
4.2 创建数组
一般分为动态初始化和静态初始化
4.3 练习1:数组中存入hello
4.4 数组的长度
- length属性
- 数组一旦创建,长度不可变
- 允许0长度的数组
4.5 数组的遍历
从头到尾,依次访问数组的位置。
4.5.1 形式
4.5.2 练习1:输出每个月的天数
4.5.3 练习2:遍历数组,存入1到10
除了char数组做过特殊处理,所有其它类型的数字都必须通过arrays这个东东。
4.5.4 练习3:创建随机数组
获取100以内的随机值的数组
5 [了解]二维数组
5.1 概念
存放数组的数组,也就是说数组里存的还是数组的数据形式。
5.2 创建二维数组
1、静态初始化
int[][] c= {{1,2},{3,4},{5,6},{8,9}};
--创建外部数组长度是4
--创建内部数组长度分别是2
--初始化数组,存入默认值
--修改数组中的默认值
--分配唯一的内存地址值,并交给引用型变量a保存
5.3 遍历二位数组
for(int i=0;i<a.length;i++){//遍历外部数组
for(int j=0;j<a[i].length;j++){//遍历内部数组
syso(a[i][j]);//根据外围数组下标和内部数组下标结合定位元素
a[i][j]=?;
}
}
6 拓展:
6.1 三种循环的区别
三种循环都可以互相代替
1、 for:知道循环次数
2、 while/do while:当循环次数不确定时
3、 while:先判断,不符合规则,不执行代码
4、 do while:代码最少被执行一次,再去判断,符合规则,再次执行代码
6.2 冒泡排序
package day005;
import java.util.Arrays;
import java.util.Random;
public class Test1_冒泡 {
public static void main(String[] args) {
int[] arr = suiji();//获得随机数组
System.out.println(Arrays.toString(arr));
sort(arr);//冒泡
System.out.println(Arrays.toString(arr));
}
//获得随机数组
private static int[] suiji() {
int n = 5+new Random().nextInt(6);
int[] arr = new int[n];
for (int i = 0; i< arr.length; i++) {
arr[i]=new Random().nextInt(100);
}
return arr;
}
//冒泡,从小到大排序
private static void sort(int[] a) {
for(int i=0;i<a.length;i++){
for(int j=a.length-1;j>i;j--){
if(a[j]<a[j-1]){
int t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
}
}
}
6.3 数组扩容缩容的其他方式