随机数:Math类的随机数[0 1)的小数
public static void main(String[] args) {
//// double num = Math.random();
//// System.out.println(num);
// double num = Math.random();//伪随机数
// System.out.println(num);
// //随机[5,10]的整数
// int num1 = (int)((Math.random()+1)*6);
// num1 = num1 + 5;
// //随机整数[18 200]
// //随机整数数公式: *(最大值-最小值+1)+最小值
// //[55 300]的随机整数
// int num = (int)(Math.random()*(300-55+1) +55);
// System.out.println(num);
//[15 200]的整数中的10个,找出最大值
int max = 0;
for (int i = 0; i < 10; i++)
{
//循环定义变量,会多次循环
int num = (int)(Math.random()*(200-15+1)+15);
System.out.println("随机数为:"+num);
// max = (max>num)? max :num ;//三目运算符
if (max<num)
{
max = num;
}
}
System.out.println("最大的是" + max);
}
流程控制的循环结构一:
* 1.while循环:规则是当判断条件成立时执行循环体,当判断条件不成立时结束循环
* while的执行顺序:①->②->①->②->①
*(当判断条件不成立的时候,循环结束),当判断条件一直成立的时候会出现死循环(可以给死循环写一个出口来结束死循环)
*第一步:初始化循环增量,第二步:寻找循环的判断条件 第三步:写循环体
*注意:循环体中一定记住循环增量要进行改变
* while(①循环的判断条件)
* {
* ②循环体
* }
public static void main(String[] args) {
//
//声明一个变量时,没有初始值,是无法直接使用的(一定要初始化)
//一般管num叫循环增量
int num = 1;
while (num++<11)
{
System.out.println("吃饭" + num);
}
// 打印1~100的数
// int number = 0;
// while (number++ <100)
// {
// System.out.println(number);
// }
// 打印1~10的和(累加思想:可以利用这个思想解决很多问题)(相对应的累减思想)
// int number = 1;
// //定义一个变量来保存计算的结果
// int sum = 0;
// while (number<11)
// {
// //与循环增量相加,保存结果,然后用每次保存的结果和循环增量相加,一直到结束
// sum = sum+number;
// number++;
// }
// //根据需求来选择打印的位置
// System.out.println("和为:" + sum);
// 银行定期存款 5年及以上利率7.5% 否则利率 4.5%,输入一个存款年限 本金为10000 计算本金加利息
// System.out.println("请输入时间:");
// Scanner scanner = new Scanner(System.in);
// int time = scanner.nextInt();
// double sum = 10000;
// int year = 1;
// if (time<5)
// {
// while (year<=time)
// {
// sum = sum + sum*0.045;
// year ++;
// }
// System.out.println("银行存款为:"+ sum);
// }else
// {
// while (year<5)
// {
// sum = sum + sum*0.045;
// year ++;
// }
// while (year<=time)
// {
// sum = sum + sum *0.075;
// year ++;
// }
// System.out.println("银行存款为:" + sum);
// }
// scanner.close();
}
循环结构二
循环的规则:先执行一次①(无论判断条件是否成立都会执行一次循环体),再去判断循环条件②,如果成立就执行循环体①,反之不成立,结束循环
* 循环的顺序:①->②->①
* do{
* ①循环体
* }while(②循环判断条件)
public static void main(String[] args) {
// int num = 1;
//do {
// System.out.println("睡觉" + num);
// num ++;//每次修改循环增量
// } while (num<=20);
//从周一开始打印 并询问明天上班不 输入上班继续打印 反之 停止程序
// int day = 1;//定义一个循环增量
// Scanner scanner = new Scanner(System.in);
// 变量的作用域(变量的使用范围):定义变量的作用域只在当前的一对大括号中可以使用,出了当前的大括号就会访问不到
// String str = "上班";
// do {
// System.out.println("星期" + day);
// System.out.println("明天上班不" + day);
// System.out.println("请输入明天是否上班:");
// str = scanner.next();
// day ++;
// } while (str.equals("上班")&&(day<8));
int number = 1;//循环增量
while (true)
{
System.out.println("吃饭了" + number);
number ++ ;
//写一个出口,打印十次结束的时候停止循环(一般循环的出口都放在最上面)
if (number==501)
{
break;//break也可以跳出循环
}
}
}
循环的第三种形式(重点):
* 结构形式:
* for(①(表达式:初始化循环增量只走一次);②(判断条件);③(表达式))
* {
* ④循环体
* }
* for循环的执行顺序:①->②->④->③->②->④
*for循环和while循环的选取:(根据循环增量的作用域不同来选取)
*如果循环增量只是用来控制循环的次数,在循环的外面不需要使用时可以选取for循环,
*反之,循环增量在循环外还要继续使用,这时选用while循环
*/
public static void main(String[] args) {
//for循环,for循环中声明的循环增量的作用域仅在循环中,出了循环就访问不到了
for (int i = 1; i < 11; i++)//
{
System.out.println("睡觉" + i);
}
//求1~10的和(累加思想)
int sum = 0;
for (int i = 1; i < 11; i++)
{
sum = sum +i;
}
System.out.println(sum);
//使用for循环 1-100中 是7的倍数 的个数
//1.输出1~100的数
//2.判断7的倍数
int num = 0;//计数器思想
for (int i = 1; i < 101; i++)
{
if (i%7==0)
{
System.out.println(i);
num ++;//记录符合要求的次数
}
}
System.out.println("个数为:"+num);
}
for循环的嵌套:
ublic static void main(String[] args) {
/*使用for循环打印下面的图形
* * * * *
* * * * *
* * * * *
* * * * *
*/
/*for循环的嵌套的执行顺序:先执行外层循环的第一次,然后把内部的循环执行完,然后执行外层循环的第二次循环,
然后再把内部的循环在执行完,在执行外层循环的第三次,依此类推
*外层循环控制行数,内层循环控制每一行有几个元素(**)
*/
for (int i = 1;i < 5; i++)
{
for(int j = 1;j < 8;j++)
{
if (j%2!=0)
{
System.out.print("*");
}else
{
System.out.print(" ");
}
}
System.out.println();//换行
}
//打印一个三行6列的矩形
for (int i = 1; i < 4; i++)
{
for (int j = 1; j <7; j++)
{
System.out.print("*");
}
System.out.println();//换行
}
System.out.println("运行完了");
// //尖向下的三角形,改变内循环的循环增量的初始值
// /* *****
// * ****
// * ***
// * **
// * *
// */
// for (int i =1 ; i < 6; i++)
// {
// for (int j = i; j < 6; j++) //
// {
// System.out.print("*");
// }
// System.out.println();
// }
//尖向上的三角形:改变内循环的判断条件的值
/*
* *
* **
* ***
* ****
* *****
*/
// for (int i = 1; i < 6; i++)
// {
// for (int j = 1; j <=i; j++)
// {
// System.out.print("*");
// }
// System.out.println();
// }
/* 1
* 12
* 123
* 1234
* 12345
*/
// for (int i = 1; i < 6; i++)
// {
// for (int j = 1; j < i+1; j++)
// {
// System.out.print(j);
// }
// System.out.println();
// }
/* 1*1=1
// 1*2=2 2*2=4
// 1*3=3 2*3=6 3*3=9
*/
// //制表符 :\t(左对齐)
// for (int i = 1; i < 10; i++)
// {
// for (int j = 1; j < i+1; j++)
// {
// int num = i*j;
// System.out.print(j+"*"+i+"="+num+"\t");
// }
// System.out.println();
// }
// -----*
// ----* *
// ---* * *
// --* * * *
// -* * * * *
for (int i = 1; i < 6; i++)
{
for (int j = i; j < 6; j++)
{
System.out.print("-");
}
for (int j =1; j<i+1; j++)
{
System.out.print("* ");
}
System.out.println();
}
}
break和continue在循环中的作用
* break的作用:跳出或者结束循环
*continue的作用:立即结束本次循环,继续执行下次循环
public static void main(String[] args) {
for (int i = 0; i < 10; i++)
{
if (i == 8)
{
continue;//⚠️立即结束本次循环,继续执行下一次循环
// break;//如果break在分支语句中,那么break 的后面可以写代码,因为这个分支语句有可能不被执行
}
System.out.println("休息"+i);
// break;
//注意:break跳出循环,在break后面写任何代码都不会执行,所以没有意义,写上系统会提示错误
}
//班级11个人,跟每个人打招呼,讨厌的人不打招呼,我分别讨厌3号,5号,9号
for (int i = 1; i < 12; i++)
{
if (i==3||i ==5||i==9)
{
continue;
}
System.out.println("你好"+i);
}
//嵌套for循环中的break和continue的作用:
//break在嵌套中的作用是跳出本层循环
//continue在嵌套中的作用是跳过本层的当次循环,直接进行下一次循环
// for (int i = 0; i < 5; i++) {
// for (int j = 0; j < 5; j++)
// {
// if (j ==2)
// {
//// break;//跳出本层循环
// System.out.print("$$");
// continue ;//跳过本层的当次循环,直接进行下次循环
// }
// System.out.print(j);
// }
// System.out.println("---");
//}
}