java基础笔记系列_Day04
一、循环语句
1.1 特征:
1.重复做某件事
2.有明显的开始和停止标志
1.2 for循环
结构:
for(初始化语句;条件判断语句;条件控制语句)
{
循环体语句;
}
执行流程:
1,执行初始化语句
2,执行条件判断语句
如果为true,执行循环体
如果为false,结束循环
3,执行循环体语句
4,执行条件控制语句
5,重复执行2
思考:for循环中的i++和++i是相同的么?
i++与++i在单独使用时是相同的,参与运算时才有执行顺序,如a = ++i;与a = i++;不同。
案例:输出0 ~ 8和8 ~ 0
public class T1{
public static void main(String[] args){//输出0~8for(int i = 0;i<9;i++){System.out.print(i);//观察i的变化System.out.print("*\t");}//换行System.out.println("");//输出8~0for(int i = 8;i>=0;i--){System.out.print(i);System.out.print("*\t");}
}
}
案例:5的阶乘
public class T3{public static void main(String[] args){int mul = 1;for(int i = 5;i > 0; i--){mul *= i;}//输出代码行要在main方法的{}里System.out.println("5的阶乘是"+mul);}//System.out.println("5的阶乘是"+mul); 写在这里报错
}
案例:1~100的偶数和
public class T4{public static void main(String[] args){int sum = 0;for(int i = 1;i<= 100; i++){if(i%2==0){sum+=i;}}System.out.println("1~100的偶数和是: "+sum);}
}
案例:水仙花
需求:所有的水仙花数
限制条件:
1. 三位数
2. 各个位的立方和等于本身
思路:先获取各个位,然后求立方和判断是否为水仙花数
public class T5{public static void main(String[] args){for(int i = 100; i < 1000;i++){//获取个、十、百位上的数int a = i/1%10;int b = i/10%10;int c = i/100%10;//判断是否为水仙花数if(a*a*a+b*b*b+c*c*c==i){System.out.println(i);}}}
}
1.3 while循环
与for循环相当,语句执行顺序相同。
/*格式
初始化语句
while(条件判断)循环语句条件控制语句
*/
public class T7{public static void main(String[] args){//初始化语句int i = 0;int sum = 0;//while语句while(i <= 5){//循环体语句sum +=i;//条件控制语句i++;}System.out.println(sum);}
}
案例:打印五个你好
public class T7{public static void main(String[] args){//初始化语句int i = 0;int sum = 0;//while语句while(i <= 5){//循环体语句sum +=i;//条件控制语句i++;System.out.print("你好"+"\t");}System.out.println("");System.out.println("-------------------------------");//for循环实现for(i = 0;i<=5;i++){System.out.print("你好"+"\t");}}
}
for循环适合循环次数明确的情况,while情况适合循环次数不明确
案例:珠峰高度
/*珠穆朗玛峰需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米)假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
*/
public class T8{public static void main(String[] args){//初始化计数器int count = 0;//定义纸张厚度;double paper = 0.1;//定义珠峰高度int zf = 8844430;//判断while(paper<=zf){//计数并增加纸张厚度paper *=2;//此句为条件控制语句count++;//此句为循环体语句}//输出计数器数System.out.println(count);//for实现int i;//如果此处注释掉,for循环中写int i = 0,则报错。具体见三种循环的区别。double paper1 = 0.1;for(i = 0;paper1<=zf;i++){paper1 *= 2;}System.out.println(i);}
}
1.4 do…while
格式:
初始化语句;do {循环体语句;条件控制语句;}while(条件判断语句);
执行流程:
1:执行初始化语句2:执行循环体语句3:执行条件控制语句4:执行条件判断语句,看其结果是true还是false如果是false,循环结束如果是true,继续执行5:回到2继续
1.5 三种循环的区别
①循环体的执行do...while最少执行一次循环体②条件控制语句的位置for中,条件控制语句控制的自增变量属于for的语法结构,for循环结束后不能被访问。while中,条件控制语句控制的自增变量不属其语法结构,循环结束后可以继续被访问。详见上方T8案例③死循环格式for(;;){}while(true){}do{}while(true);
二、跳转控制语句
continue:跳过当次循环,继续下一次循环
break:跳出整个循环体。
示例:
public class T9{public static void main(String[] args){for(int i=1;i<=5;i++){if(i%2==0){//continue;//输出1、3、5//break;//输出1}System.out.println(i);}}
}
三、循环嵌套
案例:分钟显示引入循环嵌套
public class T10{public static void main(String[] args){/*初始 无循环System.out.println("0时0分");System.out.println("0时1分");System.out.println("0时2分");System.out.println("-------------");System.out.println("1时0分");System.out.println("1时1分");System.out.println("1时2分");System.out.println("-------------");System.out.println("2时0分");System.out.println("2时1分");System.out.println("2时2分");}*//*不管小时,以分为单位进行循环for(int minute=0;minute<3;minute++){System.out.println("0时"+minute+"分");}System.out.println("-------------");for(int minute=0;minute<3;minute++){System.out.println("1时"+minute+"分");}System.out.println("-------------");for(int minute=0;minute<3;minute++){System.out.println("2时"+minute+"分");}*///引入循环嵌套for(int honr=0;honr<3;honr++){for(int minute=0;minute<3;minute++){System.out.println(honr+"时"+minute+"分");}System.out.println("-------------");}
}
}
案例:九九乘法表
public class T11{public static void main(String[] args){for(int i=1;i<10;i++){for(int j=1;j<=i;j++){System.out.print(j +"x"+i+"="+(i*j)+"\t");//输出打印语句一定要写在内循环外,外循环里 }System.out.println(); } }
}
如下图:
java基础笔记系列_Day04相关推荐
- Java基础笔记 – 枚举类型的使用介绍和静态导入
Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...
- Java基础笔记23-集合练习题
Java基础笔记23-集合练习题 定义一个集合,实现去重复的功能 定义一个数组,数组中存放的是图片的后缀,给一个文件的名字,判断是否是图片 定义一个带有数字和字符串的集合,使用迭代器进行迭代,只输出字 ...
- Java基础笔记(2)——HashMap的源码,实现原理,底层结构是怎么样的
Java基础笔记(2)--HashMap的源码,实现原理,底层结构是怎么样的 HashMap的源码,实现原理,底层结构 1.HashMap: HashMap是基于哈希表的 Map 接口的实现.此实现提 ...
- Java基础笔记(14)—— Java的基础类型和字节大小
Java基础笔记(14)-- Java的基础类型和字节大小 Java基础笔记(14)-- Java的基础类型和字节大小 Java语言提供了八种基本类型.六种数字类型(四个整数型(默认是int 型),两 ...
- 【Java基础巩固系列】高级Java进阶之最全面技术架构思维导图
热门系列: [Java基础巩固系列]Java数据集合,List.Map.Set.JUC,应有尽有 [Java基础巩固系列]Java内存溢出和内存泄漏 [Java基础巩固系列]Java类初始化执行顺序 ...
- Java基础笔记6——File、流、枚举、断言
Java基础笔记6 十一.File 代表文件或目录的类. 所表示的文件或目录在计算机中不一定真实存在. 绝对路径:以盘符或者/开头的路径--不以当前路径为基准,直接跳转到指定的位置 相对路径:不以盘符 ...
- Java学习笔记系列-入门篇-计算机基础
Java学习笔记 Java学习笔记是一个持续更新的系列,工作多年,抽个空对自身知识做一个梳理和总结归纳,温故而知新,同时也希望能帮助到更多正在学习Java 的同学们. 本系列目录: 入门篇 计算机基础 ...
- Java基础笔记(4w字长文警告)
Java核心笔记 提示:点击右上角关注博主,收获共同话题 下面是我的个人学习Java的笔记,现在分享给广大友友: 文章目录 Java核心笔记 0.导论 标柱注释: 学习方法: 1 java概述 1.1 ...
- 【Java基础笔记】类型转换
目录 前言 类型转换(基本数据类型) 1.自动类型转换 2.强制类型转换 前言 该文章为Java基础自学笔记 其他内容:Java基础学习笔记目录 学习用书: <Java核心技术 卷Ⅰ 基础知识( ...
最新文章
- 硬盘突然提示没有初始化_测试流程_507283-001 硬盘 HP SAS
- 将字符串中的大写字母变成小写字母
- .net 开发 html框架,Asp.net的开发框架
- Oracle 中伪数列ROWID
- 08-01 Jmeter 核心原理与性能测试理论
- System学习笔记001---WIN10 win10按哪里哪里出现蓝色框
- 结构化元素、网页结构和iframe内联框架
- kubernetes发布tomcat服务,通过deployment,service布署
- 第十一次课:Python函数(二)
- ubuntu 系统获取和阅读 linux 源码
- varchar和varchar2的区别
- Android 项目必备(三十二)-->APP 项目产品介绍
- 记录实验所用计算机硬件配置,《计算机硬件性能检测》实验指导书
- 文档服务器 件排名,全国服务器排名
- 揭露强奸犯的黑客被判有罪?审视CFAA计算机欺诈法
- 团队作业五之旅游行业手机APP分析
- Internal error 2356.CABS.W1.cab
- 结合进化心理学,解析陌生交友产品的三大问题
- 数据分析工具:使用tableau工具画深圳二手房参考价的统计图
- 英文不好看GitHub很费劲怎么办?使用Google浏览器,自带翻译功能