1.循环
(1).do-while 循环
不管判断语句是否成立 都会先执行循环体1次
//fun1();
//fun2();
//while的死循环
//让判断条件恒成立
int number = 1;
while(true) {
System.out.println(number);
//添加一个出口 来停止你的循环
if (number == 5) {
//结束循环
//break后面的语句是永远不会执行的
//所以break后面不要写代码 会报错
break;//跳出循环语句
}
number ++;
(2).for循环
for(声明循环增量初值;判断条件;增量++){循环体}
1->2->4->3->2->4->3...->5
循环的执行顺序
1️⃣ 2️⃣ 3️⃣
for(int i= 0;i < 10;i++){
4️⃣
sout("哈哈");
}
5️⃣
sout("循环外");
注意:for循环中的循环增量 只在循环中有用
(3).for循环的嵌套
1->2->4->5->7->6->8->3->....->9
1️⃣ 2️⃣ 3️⃣
for (int i = 0; i < 5; i++) {
4️⃣ 5️⃣ 6️⃣
for (int j = 0; j < 5; j++) {
7️⃣
sout("内循环");
}
8️⃣
sout("外循环");
}
9️⃣
sout("循环外");
example:
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
//使用制表符 \t 使前端对齐
System.out.print(j+"*"+i+"="+ (i*j) + "\t");
}
System.out.println();
}
尖向上的三角形 修改内循环判断条件
尖向下的三角形 修改初始值部分
(4).break和continue在for循环中的作用
都只能影响到自己这层循环
break是跳出当前的内循环 并没有跳出整个循环
continue是结束本次循环 继续执行下一次循环
(5).for循环的死循环
for (;;) {
System.out.println("我是死循环");
}
//明确了循环的停止条件时 一般使用while比较多
}
2.随机数(Math类)
伪随机:通过一个计算的规则算出的随机数
double random = Math.random();
返回的随机数 范围[0,1)
//猜数字
// 随机一个[0,100]的数
// 输入你猜的数
// 如果你猜的数比随机出来的大 就打印猜大了
// 反之 猜小了 猜中 打印猜中了 结束程序
int num = (int)(Math.random() * (100 - 0 + 1) + 0);
Scanner scanner = new Scanner(System.in);
while(true){
System.out.println("请输入一个数0-100:");
//接收用户输入的值
String number = scanner.nextLine();
//转化为int
int num1 = Integer.parseInt(number);
//判断
if (num1 > num) {
System.out.println("猜大了");
}else if (num1 == num) {
System.out.println("猜中");
break;
}else {
System.out.println("猜小了");
}
}
3.函数
写法: 关键字 返回值类型 函数名(参数类型1 参数名1,参数类型2 参数名2,......){
函数体(函数中的语句)
return 返回值;
}
注:没有返回值 使用void
函数的书写位置:
1.必须在类中
2.不能在函数中定义函数
函数重载:实现相同功能 但是内部实现不同 就可以使用函数的重载
函数的重载只和参数有关(只跟参数的类型 参数顺序 参数个数有关)
跟函数的返回值类型和函数的实现无关
return 后面可以不跟返回值
作用:直接结束这个函数
计算两个数和的函数
如果需要使用返回值 就写 反之 不写输出就行
调用函数要在主函数里调用
通过传参 可以提高方法的扩展性
函数的返回值可以不接收
4.递归
递归函数
函数的实现部分 调用一个跟自己名字相同的函数(自己调自己)
public static int jiecheng(int a) {
//注意:递归函数 都需要一个出口
if (a == 1) {
return 1;
}
// 4 * 3 * 2 * 1 传进来的数自减
return a * jiecheng(--a);
}
public static void main(String[] args) {
int num = jiecheng(4);
System.out.println(num);
}