0

0

Java使用条件语句和循环结构的详细介绍

零下一度

零下一度

发布时间:2017-06-25 11:01:26

|

2487人浏览过

|

来源于php中文网

原创

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

一、块作用域

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

比如:

 1 public class Code { 2 static 3 { 4     System.out.println("1"); 5 } 6 { 7     System.out.println("2"); 8 } 9 public Code()10 {11     System.err.println("3");12 }13 public static void main(String[]args)14 {15     new Code();16 }17 }

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

立即学习Java免费学习笔记(深入)”;

二、条件语句

格式1:

if(condition)

{

statement1

statement2

........

}

例如:

1 if(youSales>=target)2 {3    performance="Satisfactory";4    bonus=1000;5 }

格式2:

if(condition)statement1 else statement2

例如:

 1 if(youSales>=target) 2 { 3   performance=“Satisfactory”; 4   bonus=100+10*(youSales-target“); 5  } 6 else 7 { 8   performance=”Unstatisfactory“; 9   bonus=0;10 }

三、循环

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

格式1:

while(condition)statemnet

例如:

1 while (balance<goal)2 {3 balance+=payment;4 double interest=balance*interestRate/100;5 balance+=interest;6 years++;7 }

格式2:

do statement while(condition);

 1 do 2     { 3         balance+=payment; 4         double interest=balance*interestRate/100; 5         balance+=interest; 6          7         year++; 8          9         System.out.printf("After year %d,your balance is %,.2f%,year,balance");10         11         System.out.print("Ready to retire?(Y/N)");12         input=in.next();13     }14     while(input.equals("N"));15 16     }

四、确定循环

易标AI
易标AI

告别低效手工,迎接AI标书新时代!3分钟智能生成,行业唯一具备查重功能,自动避雷废标项

下载

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

格式类似如下:

for(int i=0;i

System.out.println(i);

例子4个:

 1 public class ShuZu1 { 2     public static void main(String[]args){ 3         int [][] x={{1,2,2,2,2},{3,3,3,3,3},{4,5,-1,17,55}}; 4         int result=qiuHe(x); 5         System.out.println("和是"+result); 6         } 7     public static int qiuHe(int[][]x){ 8         int s=0; 9         for(int i=0;i<x.length;i++)10         {11             for(int j=0;j<x[i].length;j++)12             {13                 s+=x[i][j];14                 }15             }16         return s;17     }18 }
 1 public class ShuZu2 { 2     public static void main(String[]args){ 3         int [][] x=new int[7][7]; 4         //生成随机数组,注意没有返回值,另外打印一行字 5         suiJi(x); 6         System.out.println("生成的数组是:"); 7          8         //显示数组内容,注意没有返回值 9         showArray(x);10         11         //取值12         float result=getAvg(x);13         System.out.println("平均数是"+result);14         15     }16     static float getAvg(int [][] x){17         float s=0;18         for(int i=0;i<x.length;i++){19             for(int j=0;j<x[i].length;j++){20                 s+=x[i][j];21             }22         }23         return s/(x.length*x[0].length);24     }25     static void suiJi (int[][]x){           //这里我出错了。返回值写了int型,不应该的。思考一下。26         for(int i=0;i<x.length;i++){27             for(int j=0;j<x[i].length;j++){28             x[i][j]=(int)(Math.random()*10);29             }30         }31     }32     static void showArray(int[][]x){        //这里我出错了。返回值写了int型,不应该的。思考一下。33         for(int i=0;i<x.length;i++){34             for(int j=0;j<x[i].length;j++){35                 System.out.print(x[i][j]+"\t");// 给数据空格36             }37             System.out.println();//打印换行38         }39     }40 }
 1 import java.util.Arrays; 2 public class SuZu3{ 3     public static void main(String[] args) { 4         int [] x={2,-1,7,777,6,764,85896,65554,0,874785,417825,74};    
 5         sort(x,'n'); 6         for(int i=0;i<x.length;i++){ 7             System.out.print(x[i]+"\t"); 8             } 9         }10     //给数组进行选择性排序11     //调用API进行升序12     static void sort(int[]x,char Flag){13         if('A'==Flag){14             Arrays.sort(x);15             }16         else {17             for(int i=0;i<x.length-1;i++){18                 for(int j=0;j<x.length-1-i;j++){19                     int temp=0;20                     if(x[j]<x[j+1]){21                         temp=x[j];22                         x[j]=x[j+1];23                         x[j+1]=temp;24                         }25                     }26                 }27             }28         }29     }
 1 import java.util.Scanner; 2  3 public class Suzu4 { 4     public static void main(String[] args) { 5         System.out.println("请输入");//这个命令只能紧贴在Scanner scan = new Scanner(System.in);的上面或下面才有效。 6         Scanner scan = new Scanner(System.in); 7         //System.out.println("请输入");或者放在Scanner scan = new Scanner(System.in);的下面 8         String str = scan.nextLine();// nextLine才是接收一行 9         10         char[] s = str.toCharArray();// 把字符串转换称一个字符数组11         scan.close();12         int letterCount = 0;13         int numberCount = 0;14         int spaceCount = 0;15         int otherCount = 0;16         for (int i = 0; i < s.length; i++) {17             if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {18                 letterCount++;19             } else if (s[i] >= '1' && s[i] <= '9') {20                 numberCount++;21             } else if (s[i] == ' ') {22                 spaceCount++;23             } else {24                 otherCount++;25             }26         }27         System.out.println("字母有" + letterCount + "个");28         System.out.println("数字有" + numberCount + "个");29         System.out.println("空格有" + spaceCount + "个");30         System.out.println("其他有" + otherCount + "个");31     }32 }//ctrl+shift+f 是代码格式化33 //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速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

616

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

194

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

91

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

20

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

54

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

598

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

56

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 3.7万人学习

C# 教程
C# 教程

共94课时 | 9.7万人学习

Java 教程
Java 教程

共578课时 | 68.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号