java详解 --- 随机数、函数及数组部分

来源:互联网 发布:windows扩展屏 编辑:程序博客网 时间:2024/05/22 07:47

再说今天的主要内容之前,先说一下break和continue这两个在循环中作用.

一.break和continue在循环中的作用

总的来说,break和continue这两个在循环中的作用都是跳出循环,只是结果不一样,接下来分别说说两个在循环中作用的结果.
1.break在循环中的作用 – 结束当前循环并跳出循环
如果说你用break来结束循环的话,那么你这整个循环都不会被执行,会直接跳出循环.需要注意的是用break跳出循环的话,在break后面写任何代码都不会执行,会变得没有意义,所以会报错.
2.continue在循环中的作用 – 结束本次循环进入下一次循环
如果说你用break来结束循环的话,你这次的循环会被立即结束并开始下一次循环.
3.嵌套for循环中,break和continue 的作用是什么?(都只操作本层循环)
break和continue也会出现在for循环的嵌套当中,那么它们的作用是什么呢?接下来就一一来说下:
break在嵌套中的作用: 结束(跳出)当前(本层)的循环;
continue在嵌套中的作用: 跳过本次循环继续执行下一次循环.
4.下面举两个例子来更清楚的认识break和continue的区别
a.打印几行几列的某几个数字

  for (int i = 0; i < 10; i++) { //定义行            for (int j = 0; j < 10; j++) { //定义列                if (j == 2) { //定义打印前几个数字                    break;  //打印完数字直接结束循环                }                System.out.print(j);//输出数字            }            System.out.println("~~~~~~");//输出符号        }

b.班级11个人,跟每个人打招呼.讨厌的人不打招呼. 我分别讨厌3 5 9号

    for (int i = 1; i <= 11; i++) { //定义班级人数             if( i == 3 || i == 5 || i==9) { // 定义讨厌的人                continue; //定义如果遇到讨厌的人跳过继续执行循环                }            System.out.println( i + "号" + "早上好");//输出结果            }

以上就是break和continue在循环中的作用,下面进入今天的正题随机数、函数及部分数组了.

二.随机数

1.随机数的定义
既然字面意思说的这么清楚—随机数,就很简单明了的理解了随机数的概念了,随机数是数字是随机产生的,不过是随机在[0,1)之间产生小数.
2.随机数的计算公式
既然知道了随机数的定义,那么问题就来了.平常打代码一半不可能只打[0,1)之间的小数,那么我们如何打出别的随机数呢?其实计算随机数是有一个公式的– 类 * (最大值 - 最小值 + 1) + 最小值.看上去很难理解,下面举个例子说明一下:
a.需求 : 随机 [55,300] 的随机整数

int number = (int)(Math.random() * (300 - 55 + 1) + 55); //随机数计算公式        System.out.println(number);//输出随机数

b.随机[15,200]的10个整数并找出最大值
这个题目就需要联系以前说过的循环和比较了

int max= 0;// 定义夜歌最大值        for ( int i = 0; i < 10; i++) { // 获得10个随机数            int number = (int)(Math.random() * (200 - 15 + 1) + 15);// 随机数公式            System.out.println(number);//输出随机数            if ( max < number ) {             max = number;//随机数和最大值比较,如果随机数大于最大值,则将随机数赋给最大值,循环10次即可找出最大值            }        }        System.out.println("max = " + max);//输出最大值  

三.函数

日常的代码编辑中,有些复杂的代码需要多次使用,那么就可以使用函数减少代码的编写量,方便程序员的编写.接下来就说说函数.
1.什么是函数?
简答的来说,函数就是封装了特定功能的一个代码块.
2.函数的优点
前面也已经说过了,函数的优点就是方便使用,提高了写代码的效力,减少了大量重复代码的编写.
3.函数的结构
关键字 函数返回值类型 函数名(参数类型 参数1,参数类型 参数2,…){
函数中的语句;
return返回值;
}
4.函数的书写位置:
注意:一定要写在类中(只有类中才可以写函数)
还有需要注意的是函数中是不能再定义函数的,这个需要牢记.
那么下面举几个个例子:
a.需求:编写一个求两个数和的函数

    public static int sum(int a,int b) {        int rel = a + b;        return rel;    }

在类中编写这段代码,然后在main函数中输出就好了

int rel = sum(183, 256);        System.out.println(rel);

b.需求:编写一个 可以打印x行y列的矩形的函数

public static void printR(int x,int y) {        for (int i = 0; i < x; i++) {            for (int j = 0; j < y ; j++) {                System.out.print("* ");            }            System.out.println();        }    }

同样的,在main函数中输出

printR(i, j);

5.函数的分类:
a.有参数 有返回值
b.有参数 没返回值
c.没参数 又返回值
d.没参数 没返回值
需要注意的是
注意:函数写不写返回值是根据你的需求
如果调用完函数,你要对返回的结果进行操作的话,可以使用带返回值的函数;
如果仅仅是打印结果,那么可以写不带返回值的参数.
6.函数编写的步骤:(重点)
a.确定编写的函数有没有返回值 有返回值的话 返回值的类型是什么
b.确定编写的函数有没有参数 有参数的话 确定有几个参数
下面说一个比较重要的点–函数的重载
7.函数的重载:(参数名相同 但参数不同)
把相同的功能 但是参数和内部的实现不同的函数,起相同的名字,是函数的重载(前提:相同的功能)
注意:函数是不是重载,只跟函数的参数有关(和参数的个数 参数的类型 参数的顺序有关 切记和参数名无关 和返回值无关);
关于重载举一个例子:
需求:
1.计算两个数的最大值
2.计算三个数的最大值
3.计算四个数的最大值
4.计算五个数的最大值

    //计算两个数的最大值    public static int compare(int a , int b) {        return(a > b) ? a : b;    }    //计算三个数的最大值    public static int compare(int a , int b , int c) {        int max1 = compare(a , b);        return (max1 > c) ? max1 : c;    }    //计算四个数的最大值    public static int compare(int a , int b , int c , int d) {        int max2 = compare(a , b , c);        return (max2 > d) ? max2 : d;    }    //计算五个数的最大值    public static int compare(int a , int b , int c , int d , int e) {        int max3 = compare(a , b , c , d);        return (max3 > e) ? max3 : e;    }    public static void main(String[] args) {        int rel = compare(a, b, c, d, e);        System.out.println(rel);    }

上面的例子很好的说明了函数的重载并在main函数中输出.

四.数组及数组的遍历

1.数组的定义: 数组相当于一个容器 存放了一组相同类型的数据
2.数组存放的规则: 是以下标(角标)俩存放的 并且下标从0开始
3.数组声明的规范:(存放数据的)数据类型[] 数组名 = 初值
这个数据类型指的是数组中存放的数据的类型
例如:int[] array = new int[5];
这里写图片描述
这个是一种声明了一个长度为5的整型数组的方法;
int[] array= new int[]{1,3,5,7,9};
这是第二种声明方法–语法糖,这个可以直接声明出数组中保存的值;
array[3] = 10;
这个是存入数组,将数组中第四个存入数字10;
System.out.println(array[3]);
这个是读取数组,读取数组中第4个数据.
4.遍历数组
遍历数组的定义其实就是打印数组中所有的值.
举个遍历数组的例子:
首先知道两个语句的意思:
array.length–> 代表数组的长度
Arrays.toString(array) –> 将数组转化成字符串来输出
下面题目就来了.
]需求: 随机10个数 随机的区间为[15-150]
1.把这十个数放入数组中; 2.打印最大值

int[] array = new int[10];// 定义一个数组        for (int i = 0; i < 10; i++) { // 获得10个随机数            int number = (int)(Math.random() * (150 - 15 + 1) + 15);//获得随机数            array[i] = number;// 把数据放入数组对应得位置        }        System.out.println(Arrays.toString(array));//打印数组        // 遍历数组 寻找最大值        int max = 0;//定义一个最大值        for (int i = 0; i < array.length; i++) {            if(max < array[i]) { //比较两个数的大小                max = array[i];  //赋最大值给max            }        }        System.out.println("max = " + max); //输出最大值

其实总的来说,只要是数组方面的问题,都离不来遍历数组.

原创粉丝点击