Java-随机数,循环

随机数: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("---");
//}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值