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

作者:jingxian 时间:2022-07-04 04:52:35 

与任何程序设计语言一样,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,循环结构,条件语句
0
投稿

猜你喜欢

  • 浅谈Java面向接口编程

    2021-07-25 16:29:58
  • C#使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化

    2023-01-16 02:11:54
  • Java实现线程安全单例模式的五种方式的示例代码

    2023-09-26 16:41:23
  • java日期工具类实例分享

    2023-05-17 17:50:40
  • SpringBoot线程池和Java线程池的使用和实现原理解析

    2022-06-27 07:22:30
  • 详解kotlin中::双冒号的使用

    2022-09-04 10:17:23
  • Java获取json数组对象的实例讲解

    2023-08-24 14:55:28
  • Windows下RabbitMQ安装及配置详解

    2022-04-29 08:11:18
  • Android游戏开发实践之人物移动地图的平滑滚动处理

    2023-12-26 19:45:41
  • 新闻列表的分页查询java代码实现

    2022-02-24 19:46:25
  • 全面分析c# LINQ

    2023-10-25 16:35:16
  • 利用Spring Boot和JPA创建GraphQL API

    2023-04-01 07:11:41
  • 详解android 人脸检测你一定会遇到的坑

    2023-03-10 15:24:34
  • C# PDF转图片(JPG,Png)的项目实践

    2021-11-10 17:59:24
  • 实例解析Json反序列化之ObjectMapper(自定义实现反序列化方法)

    2023-11-23 18:07:25
  • Android使用FontMetrics对象计算位置坐标

    2023-02-06 15:35:20
  • c#代码生成URL地址的示例

    2022-02-17 09:44:08
  • 简单了解Java方法的定义和使用实现

    2021-11-07 06:12:53
  • Android仿微信单击拍照长按录像功能实例代码

    2022-01-16 17:45:07
  • C#/VB.NET 自定义PPT动画路径的步骤

    2022-11-25 10:07:49
  • asp之家 软件编程 m.aspxhome.com