美文网首页
3.8控制流程

3.8控制流程

作者: 十六只猴子王 | 来源:发表于2019-03-11 16:24 被阅读0次

javahi用条件语句和循环结构来控制流程

  • break语句可以带标签,可以利用它实习从内层跳出的目的
  • 当需要对某个表达式的多个值进行检测时,可以使用switch语句

块作用域

块(即复合语句)指由一堆大括号括起来的若干条简单java语句,不能嵌套两个块中声明同名的变量

条件语句

if (condition) statement
在java中,更一般的田间语句格式是
if (condition) statement1 else statement2

if(yourSales>=target)
{
  performance = "Satisfactory";
  bonus = 100 + 0.01 * (yourSales - target);
}
else
{
  performance ="Unstaisfactory";
  bonus  = 0;
}
  • else字句与最邻近的if构成一组

循环

当条件为true时,while循环执行一条语句格式为
while(condition) statement

  • 开始循环条件的值就是false,则while循环提一次也不执行
    要多久才能够存储一定数量的退休金
import java. util.*;
public class Retirement
{
   public static void main(String[] args)
   {
      // 读取输入
      Scanner in = new Scanner(System.in);

      System.out.print("How much money do you need to retire? ");
      double goal = in.nextDouble();

      System.out.print("How much money will you contribute every year? ");
      double payment = in.nextDouble();

      System.out.print("Interest rate in %: ");
      double interestRate = in.nextDouble();

      double balance = 0;
      int years = 0;

      // 未达到目标时更新帐户余额
      while (balance < goal)
      {
         // add this year's payment and interest
         balance += payment;
         double interest = balance * interestRate / 100;
         balance += interest;
         years++;
        // 增加了一个计数器,并在循环中更新当前的累积数量
      }

      System.out.println("You can retire in " + years + " years.");
   }
}

循环体的代码有可能不被执行。如果希望至少执行一次则使用do/while循环语句,格式为
do statement while (condition);

import java.util.*;
public class Retirement2
{
   public static void main(String[] args)
   {
      Scanner in = new Scanner(System.in);

      System.out.print("How much money will you contribute every year? ");
      double payment = in.nextDouble();

      System.out.print("Interest rate in %: ");
      double interestRate = in.nextDouble();

      double balance = 0;
      int year = 0;

      String input;

      // 用户尚未准备注销时更新帐户余额
      do
      {
         // add this year's payment and interest
         balance += payment;
         double interest = balance * interestRate / 100;
         balance += interest;

         year++;

         // 打印当前余额
         System.out.printf("After year %d, your balance is %,.2f%n", year, balance);
         //格式化输出
         // 询问是否准备好注销并获得输入
         System.out.print("Ready to retire? (Y/N) ");
         input = in.next();
      }
      while (input.equals("N"));
   }
}

确定循环

for循环语句时支持迭代的一种通用结构,利用每次迭代之后跟新的计数器或类似的变量来控制迭代的次数。
for语句的第一部分通常用于对计数器的初始化;第二部分给出每次新一轮循环执前检测的循环条件;第三部份指示如何更新计数器

  • for语句的三个部分应该对同一计数器变量进行初始化、检查和更新。
  • 小心浮点数是否相等问题;
    for (doule x = 0;x! = 10;x+=0.1)
    可能永远不会结束,由于舍入的误差,最终可能得不到精确的值,因为0.1无法精确的用二进制表示,所以x将从9.999999999998调到10.09999999999998.
    内部定义的一个变量,这个变量就不能在循环之外使用。如果希望在循环之外使用,就要确保这个变量在循环语句以前且在外声明。

计算抽奖中奖的改路

import java.util.*;
public class LotteryOdds
{
   public static void main(String[] args)
   {
      Scanner in = new Scanner(System.in);

      System.out.print("How many numbers do you need to draw? ");
      int k = in.nextInt();

      System.out.print("What is the highest number you can draw? ");
      int n = in.nextInt();

    /*
   *计算二项式系数n*(n-1)*(n-2)*…(n-k+1)/(1*2*3*…*k)
  */

      int lotteryOdds = 1;
      for (int i = 1; i <= k; i++)
         lotteryOdds = lotteryOdds * (n - i + 1) / i;

      System.out.println("Your odds are 1 in " + lotteryOdds + ". Good luck!");
   }
}
  • 如果从n个数字中抽取k个数字,可以使用
    n * (n-1) * (n-2)*…(n-k+1)/(1 * 2 * 3 * … * k)

foreach

for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}

多重选择 :switch语句

switch 语句将从与选项匹配的case便签处开始执行直到遇到break语句,或者执行到switch语句的结束处为止,如果没有匹配的case便签,遇到default子句,就执行这个子句
case便签可以是:

  • 类型为char、byte、short或int的常量表达式
  • 枚举常量
  • 可以是字符串字面量

中断控制流程语句

*break语句,标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号

  • continue: 中断正常的控制流程,将控制转移到最内层循环的首部
    还有一种带便签的continue,将跳到与便签匹配的循环首部

相关文章

  • 3.8控制流程

    javahi用条件语句和循环结构来控制流程 break语句可以带标签,可以利用它实习从内层跳出的目的 当需要对某个...

  • 5-流程控制

    流程控制 流程 计算机执行代码的顺序就是流程 流程控制 对计算机代码执行顺序的管理就是流程控制 流程分类 流程控制...

  • 04-流程控制及while循环

    流程控制 流程: 计算机执行代码的顺序,就是流程。 流程控制: 对计算机代码执行顺序的控制,就是流程控制。 流程分...

  • JavaScript-流程控制语句

    一、if流程控制语句 二、switch流程控制语句 三、流程控制语句

  • js流程控制

    2 - 流程控制 2.1 流程控制概念 2.2 顺序流程控制 ​ 顺序结构是程序中最简单、最基本的流程控制,它...

  • 二级-2.Python流程控制

    流程控制 流程:计算机执行代码的顺序就是流程。 流程控制:对计算机代码执行顺序的管理就是流程控制。 流程控制一共分...

  • Python基础重构-1.3流程控制

    流程控制语句 流程控制语句用来实现对程序流程的选择、循环和返回等进行控制,Python中主要的流程控制包括if(判...

  • activiti学习笔记(九)RuntimeService

    RuntimeService 流程运行控制服务 启动流程及对流程数据的控制 流程实例(ProcessInstanc...

  • 【骚全带你学Java---八、流程控制语句】

    java的流程控制语句包含条件语句和循环语句 一.什么是流程控制语句? ·流程控制语句:可以控制程序的执行流程。 ...

  • 2018-11-29

    17js流程控制switch 17js流程控制switch //js流程控制swi...

网友评论

      本文标题:3.8控制流程

      本文链接:https://www.haomeiwen.com/subject/uenrpqtx.html