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  数组扩容缩容的其他方式

 

posted @ 2020-05-25 15:29  白驼山庄庄主  阅读(139)  评论(0编辑  收藏  举报