一.循环语句
1.do-while 2.while 3.for
do{
执行的循环体 -->最大的特点就是无论判断语句是否成立,都会先执行一次循环语句
}while(判断语句)
while 判断条件在前,条件不成立不会运行 在写while死循环时,需要注意增加一个结束循环的条件
// while死循环
// 让判断条件恒成立即可
int number = 1;
while (true) {
// 添加一个出口来停止你的循环,即写一个结束循环的条件
// 打印5次结束循环
System.out.println(number);
if (number == 5) {
// 结束循环
break;// 跳出循环语句
}
number++;
}
for(声明循环增量初值;判断条件;增量++){
1 2 3
循环体 执行顺序为 1 2 4 3 2 4 3 知道不在满足判断条件为止
4
}
// 九九乘法表
//使用制表符\t
for (int j = 1; j <= 9; j++) {
for (int j2 = 1; j2 <= j; j2++) {
System.out.print(j * j2 + "\t");
}
System.out.println();
}
在进行for循环的嵌套时,以上述的九九乘法表为例:外层的for循环控制循环有多少行,
内层控制每一行有多少个打印的元素;
* 什么时候使用while for
* 明确了循环了停止条件时 一般使用while
* 遍历数组的时候使用for循环
在for循环中
break 和 continue 的作用
// 班级13个人 跟每个人打招呼(打印几号你好) 讨厌的人不打招呼
// 我分别讨厌 3号 5号 9号
for (int i = 1; i <= 13; i++) {
if (i == 3 || i == 5 || i == 9) {
continue; //continue的作用,跳过本次循环,继续执行下一次循环
}
System.out.println(i + "号你好!");
}
// 打印[0, 100]中是7的倍数中的值最大那个数(两种方法)
int max = 0;
for (int i = 100; i >= 0; i--) {
if (i % 7 == 0) {
max = i;
break; //直接终止了整个循环,需要注意的是双重for循环的时候
//只能结束当前的这一层循环,不会影响到外层循环
}
}
System.out.println(max);
}
二.随机数
随机数 通过调用Math方法可以获取[0,1) 一个0到1但不包括1的随机数
double random=Math.random();
计算机的随机数都是
伪随机 :通过一个计算的规则算出的随机数
int random=Math.random()*(max+1-min)+min;
可以得到一个可以控制范围的整数随机数
三.函数
函数的定义:封装了特定功能的代码块
函数的好处:减少了重复的代码,提高的开发的效率
* 函数的写法:
* (void为不返回值) (小驼峰) 参数列表
* 关键字 返回值类型 函数名(参数类型1 参数名1 ,参数类型2 参数名2, .......){
* 函数体 (执行的语句)
* return(返回值) 存返回值时需要return
* }
函数的书写位置:
1.必须要在类当中
2.不能在函数中定义函数
函数的重载 实现相同功能,但是内部实现不同的代码块就可以使用函数的重载
是不是重载(只跟参数的数量或者是参数类型 参数顺序有关)跟函数的返回值和参数的顺序
重载示例
public static void main(String[] args) {
int max = max(16, 12, 30, 25, 60);
System.out.println(max);
}
public static int max(int a, int b) {
return a > b ? a : b;
}
public static int max(int a, int b, int c) {
int max = max(a, b);
return max > c ? max : c;
}
public static int max(int a, int b, int c, int d) {
int max = max(a, b, c);
return max > d ? max : d;
}
public static int max(int a, int b, int c, int d, int f) {
int max = max(a, b, c, d);
return max > f ? max : f;
}