网站首页 > java教程 正文
Java的流程控制语句之循环结构
分类:
1. 顺序结构
2. 选择结构
3. 循环结构
循环语句的组成:
初始语句:
一条或者多条语句,这些语句完成一些初始化操作
判断条件语句:
这是一个Boolean表达式,这个表达式决定
是否执行循环体
循环语句:
这个部分是循环语句体,也是我多次要做到事情
控制条件语句:
这个部分在一次循环体结束后,下次循环判断条件执行
前执行。通过控制体的变量,使循环体在合适的时候结束
循环语句分类:
1.for循环
2.while循环
3.do…………while循环
for循环的解释和例题详解
for循环:
for循环格式:
for(初始语句;判断语句;控制语句;){
循环语句体;
}
执行流程:
A: 执行初始语句
B:执行判断条件语句,看结果是ture还是false
如果是false循环结束
如果是true继续执行
C :执行循环语句
D :执行条件语句
E :回到B继续
for循环例子:
class Li{
public static void main(String[] args){
for(int x=1;x<=10;x++) {
System.out.println("HellowWorld");
}
}
}
注意事项:
A:关系表的式无论简单还是复杂,结果必须是boolean类型
B:if语句控制的语句体如果是一条语句体,大括号可以省略
如果是多条语句体,就不可省略,建议永远不要省略。
C:一般来说:有左大括号没有分号;有分号就没
例子 在控制台输出所以水仙花数?
水仙花数是一个三位数,其各位数字的立方和等于该数本身
举例:153就是一个水仙花数 1*1*1+5*5*5+3*3*3=153
class Li{
public static void main(String[] args){
/*
我们通过for循环可以实现获取每一个三位数
但是麻烦的是如何获取这个三位数的个,十,百位上的数据
假设有一个数据153
个位:153%10=3
十位:153/10%10=5
百位:153/10/10%10=1
千位:x/10/10/10%10
万位:x/10/10/10/10%10
*/
for(int x=100;x<1000;x++) {
int ge = x%10;
int shi = x /10%10;
int bai = x/10/10%10;
//让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较
if(x==ge*ge*ge+shi*shi*shi+bai*bai*bai){
//如果相同就输出
System.out.println(x);
}
}
}
}
例子二:统计水仙花的个数
class Li{
public static void main(String[] args){
int y = 0;
for(int x=100;x<1000;x++) {
int ge = x%10;
int shi = x /10%10;
int bai = x/10/10%10;
//让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较
if(x==ge*ge*ge+shi*shi*shi+bai*bai*bai){
//如果满足要求就计数
y++;
}
}
System.out.println(y);
}
}
while循环的解释和例题详解
while循环语句
基本格式:
while(判断语句){
循环语句;
}
扩展格式:
初始语句
while(判断语句){
循环体语句;
控制条件语句;
}
while例子:
class Li{
public static void main(String[] args){
int x = 1;
while(x<=10){
System.out.println("HellowWWord");
x++;
}
}
}
while和for循环的区别:
/*使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环
否在就用for循环。不知道的境况用for循环
因为变量及早的从内存中消失,可以提高内存使用效率
如果是一个范围的,用for循环非常明确
如果名确要做多少次,用while循环
*/
区别例子:
class Li{
public static void main(String[] args){
for(int x = 0;x<10;x++){
System.out.println("再牛的肖邦,以也弹不出各哥的悲伤");
}
System.out.println(y);
//在这里就不能接续访问y
int s = 0;
while(s<10){
System.out.println("再牛的肖邦,以也弹不出各哥的悲伤");
}
System.out.println(z);
//在这里就能接续访问z
}
}
题:珠穆朗玛峰高8848米一张纸厚0.01米请问叠几次可以超过珠穆朗玛峰
class Li{
public static void main(String[] args){
int y = 0;
int z = 1;
while(z<884800){
z*=2;
if(z<884800){
y++;
}
}
System.out.println(y);//输出结果20
}
}
do…while循环的解释和例题详解
基本格式:
do{
循环语句;
}while(判断条件语句);
扩展格式:
初始语句;
do{
循环语句体;
控制条件语句体;
}while(判断条件语句);
/*循环语句的区别:
do...while循环至少执行一次循换体
而for,while循环必须先判断条件是否成立,然后再决定是否执行循环体语句
那么,我们一般先考虑for其次是while最后是do....while */
很重要:
- 输出语句System.out.println()(它输出另起一行)
- 输出语句的另一中方式Systm.out.prin()(它输出不另起一行)
- 如果Systm.out.prin()想另起一行可以用System.out.println()空的起换行作用
循环嵌套代码讲解
循环嵌套:就是循环语句的循环体是一个循环语句
例子:输出4行5列星星*图案
class Li{
public.static.void main(String[] args){
for(int x = 1;x<4;x++){
for(int z =1;z<5;z++){
System.out.prin("*");
}
System.out.println();
}
}
}
结论:
/*通过结果我们知道这样的一个结论:外循环控制行数,内循环控制列数*/
需求:请输出下列形状:
*
**
***
****
*****
答案:class Li{
public static void main(String[] args){
for(int x=0;x<5;x++){
for(int y=0;y<x;y++){
System.out.print("*");
}
System.out.println();
}
}
}
需求:请输出九九乘法表
class Li{
public static void main(String[] args){
for(int x=1;x<=9;x++){
for(int y=1;y<=x;y++){
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}
- 上一篇: 好程序员Java教程分享for循环相关知识梳理
- 下一篇: 循环语句你学会了吗?(循环语句模板)
猜你喜欢
- 2024-11-03 详细总结Java for循环的那些坑(java的for循环中是如何执行的)
- 2024-11-03 11.Java中的 while 循环(java的for循环语句)
- 2024-11-03 传说级大佬总结的几道Java循环练习题(适合新人)
- 2024-11-03 java中的while循环(javado while循环)
- 2024-11-03 Java流程控制语句之循环结构--初学者适用
- 2024-11-03 What?Java循环还能嵌套循环,说好的禁止套娃呢!「第12集」
- 2024-11-03 Golang for 循环(golangfor循环特性改变)
- 2024-11-03 JavaScript for 循环(javascriptfor循环数字累加)
- 2024-11-03 java循环的这4种遍历方式,有些16K的程序员可能是懵逼的
- 2024-11-03 用了那么久的 Java For 循环,你知道哪种方式效率最高吗?
你 发表评论:
欢迎- 最近发表
-
- 多种负载均衡算法及其Java代码实现
- 输入www.baidu.com背后经历了啥?说清楚这个,已经超过90%的人了
- 优化MySQL:为什么你应该用 UNSIGNED INT 存储IP地址
- 实模式下CPU如何获取数据及指令(实模式寻址方式)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- 盘点爬虫语言为何选择Python而不是Java
- 搭载Dubbo+Zookeeper踩了这么多坑,我终于决定写下这篇
- 网络协议之TCP/IP协议(面试必考内容) - javaEE初阶 - 细节狂魔
- 深夜报警!10亿次请求暴击,如何用Redis找出最热IP?
- VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)