Java使用条件语句和循环结构确定控制流(实例)

 更新时间:2017年06月09日 07:51:03   投稿:jingxian  
下面小编就为大家带来一篇Java使用条件语句和循环结构确定控制流(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流。本文将简单讲解条件、循环和switch。

一、块作用域

块(block),即复合语句。是指由一对大括号括起来的若干条简单的Java语句。块确定了变量的作用域。

比如:

public class Code {
static
{
  System.out.println("1");
}
{
  System.out.println("2");
}
public Code()
{
  System.err.println("3");
}
public static void main(String[]args)
{
  new Code();
}
}

注意:不能在嵌套的两个块中声明同名的变量。

二、条件语句

格式1:

if(condition)

{

statement1

statement2

........

}

例如:

 if(youSales>=target)
 {
  performance="Satisfactory";
  bonus=1000;
 }

格式2:

if(condition)statement1 else statement2

例如:

if(youSales>=target)
{
 performance=“Satisfactory”;
 bonus=100+10*(youSales-target“);
 }
else
{
 performance=”Unstatisfactory“;
 bonus=0;
}

三、循环

当条件为true时,while循环执行。

格式1:

while(condition)statemnet

例如:

while (balance<goal)
{
balance+=payment;
double interest=balance*interestRate/100;
balance+=interest;
years++;
}

格式2:

do statement while(condition);

do
  {
    balance+=payment;
    double interest=balance*interestRate/100;
    balance+=interest;
    
    year++;
    
    System.out.printf("After year %d,your balance is %,.2f%,year,balance");
    
    System.out.print("Ready to retire?(Y/N)");
    input=in.next();
  }
  while(input.equals("N"));

  }

四、确定循环

for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代的次数。

格式类似如下:

for(int i=0;i<x.length;i++)

System.out.println(i);

例子4个:

public class ShuZu1 {
  public static void main(String[]args){
    int [][] x={{1,2,2,2,2},{3,3,3,3,3},{4,5,-1,17,55}};
    int result=qiuHe(x);
    System.out.println("和是"+result);
    }
  public static int qiuHe(int[][]x){
    int s=0;
    for(int i=0;i<x.length;i++)
    {
      for(int j=0;j<x[i].length;j++)
      {
        s+=x[i][j];
        }
      }
    return s;
  }
}
public class ShuZu2 {
  public static void main(String[]args){
    int [][] x=new int[7][7];
    //生成随机数组,注意没有返回值,另外打印一行字
    suiJi(x);
    System.out.println("生成的数组是:");
    
    //显示数组内容,注意没有返回值
    showArray(x);
    
    //取值
    float result=getAvg(x);
    System.out.println("平均数是"+result);
    
  }
  static float getAvg(int [][] x){
    float s=0;
    for(int i=0;i<x.length;i++){
      for(int j=0;j<x[i].length;j++){
        s+=x[i][j];
      }
    }
    return s/(x.length*x[0].length);
  }
  static void suiJi (int[][]x){      //这里我出错了。返回值写了int型,不应该的。思考一下。
    for(int i=0;i<x.length;i++){
      for(int j=0;j<x[i].length;j++){
      x[i][j]=(int)(Math.random()*10);
      }
    }
  }
  static void showArray(int[][]x){    //这里我出错了。返回值写了int型,不应该的。思考一下。
    for(int i=0;i<x.length;i++){
      for(int j=0;j<x[i].length;j++){
        System.out.print(x[i][j]+"\t");// 给数据空格
      }
      System.out.println();//打印换行
    }
  }
}
import java.util.Arrays;
public class SuZu3{
  public static void main(String[] args) {
    int [] x={2,-1,7,777,6,764,85896,65554,0,874785,417825,74};  
    sort(x,'n');
    for(int i=0;i<x.length;i++){
      System.out.print(x[i]+"\t");
      }
    }
  //给数组进行选择性排序
  //调用API进行升序
  static void sort(int[]x,char Flag){
    if('A'==Flag){
      Arrays.sort(x);
      }
    else {
      for(int i=0;i<x.length-1;i++){
        for(int j=0;j<x.length-1-i;j++){
          int temp=0;
          if(x[j]<x[j+1]){
            temp=x[j];
            x[j]=x[j+1];
            x[j+1]=temp;
            }
          }
        }
      }
    }
  }
import java.util.Scanner;

public class Suzu4 {
  public static void main(String[] args) {
    System.out.println("请输入");//这个命令只能紧贴在Scanner scan = new Scanner(System.in);的上面或下面才有效。
    Scanner scan = new Scanner(System.in);
    //System.out.println("请输入");或者放在Scanner scan = new Scanner(System.in);的下面
    String str = scan.nextLine();// nextLine才是接收一行
    
    char[] s = str.toCharArray();// 把字符串转换称一个字符数组
    scan.close();
    int letterCount = 0;
    int numberCount = 0;
    int spaceCount = 0;
    int otherCount = 0;
    for (int i = 0; i < s.length; i++) {
      if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {
        letterCount++;
      } else if (s[i] >= '1' && s[i] <= '9') {
        numberCount++;
      } else if (s[i] == ' ') {
        spaceCount++;
      } else {
        otherCount++;
      }
    }
    System.out.println("字母有" + letterCount + "个");
    System.out.println("数字有" + numberCount + "个");
    System.out.println("空格有" + spaceCount + "个");
    System.out.println("其他有" + otherCount + "个");
  }
}//ctrl+shift+f 是代码格式化
//ctrl+shift+o 是导包

五、多重选择:switch语句

格式类似如下:

switch(choice)

{

case 1:

........

break;

case 2:

.......

break;

.........

//可以再来几个case(用break结束一下)

default:

.......

break;

}

注意:

case标签可以是:

* 类型为char、byte、short或int的常量表达式。

* 枚举常量

* 从Java SE 7开始,case标签还可以是字符串字面量。

以上这篇Java使用条件语句和循环结构确定控制流(实例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解析Spring中@Controller@Service等线程安全问题

    解析Spring中@Controller@Service等线程安全问题

    这篇文章主要为大家介绍解析了Spring中@Controller@Service等线程的安全问题,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • 详解Springboot如何通过注解实现接口防刷

    详解Springboot如何通过注解实现接口防刷

    本文主要为大家介绍一种极简洁、灵活通用接口防刷实现方式、通过在需要防刷的方法加上@Prevent 注解即可实现短信防刷,感兴趣的可以了解一下
    2022-09-09
  • Java设计模式之适配器模式详解

    Java设计模式之适配器模式详解

    这篇文章主要介绍了Java设计模式之适配器模式详解,适配器模式将一个类的接口转换成客户希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作,需要的朋友可以参考下
    2023-09-09
  • Java开发中的OOM内存溢出问题详解

    Java开发中的OOM内存溢出问题详解

    这篇文章主要介绍了Java开发中的OOM内存溢出问题详解,OOM,全称 Out Of Memory,意思是内存耗尽或内存溢出,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出这个 error,需要的朋友可以参考下
    2023-08-08
  • Spring实现邮件发送功能

    Spring实现邮件发送功能

    这篇文章主要为大家详细介绍了Spring实现邮件发送功能,简单的发送邮件工具JavaMailSender使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 解决IDEA安装插件搜索不到插件的问题

    解决IDEA安装插件搜索不到插件的问题

    这篇文章主要介绍了解决IDEA安装插件搜索不到插件的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • JAVA多线程之实现用户任务排队并预估排队时长

    JAVA多线程之实现用户任务排队并预估排队时长

    本文主要介绍了Java多线程之实现用户任务排队并预估排队时长的问题,文中的代码具有一定的学习和工作价值,感兴趣的小伙伴快跟随小编一起学习一下吧
    2021-12-12
  • Java异常java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path的解决

    Java异常java.lang.UnsatisfiedLinkError: no opencv_ja

    这篇文章主要介绍了Java异常java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java中SimpleDateFormat日期格式转换详解及代码示例

    Java中SimpleDateFormat日期格式转换详解及代码示例

    这篇文章主要介绍了Java中SimpleDateFormat日期格式转换详解及代码示例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Java中方法的使用、重载与递归的详细介绍

    Java中方法的使用、重载与递归的详细介绍

    前面我们提到了方法需要参数类型,但是如果我们需要用一个函数同时兼容多种参数的情况应该怎么办呢? 这里就可以使用到方法重载,对Java中方法的使用、重载与递归相关知识感兴趣的朋友一起看看吧
    2021-11-11

最新评论