一、循环的类型:

1、for循环
class For{
public static void main(String[] args) {
System.out.println("Hello World!");
System.out.println("Hello World!");
System.out.println("Hello World!");
System.out.println("Hello World!");
System.out.println("我是分隔符~~~~~~~~~~~~~~~~~~~~~~~~");
for(int i = 0; i < 4; i++){
System.out.println("Hello World!");
}
}
}
运行结果:
2、while() {}
class TestWhile {
public static void main(String[] args) {
//100以内的偶数的输出
int i = 1;
int sum = 0;
while(i <= 100){
if(i % 2 == 0){
System.out.println(i);
sum += i;
}
i++;
}
System.out.println(sum);
//System.out.println(i);
}
}
运行结果:
3、do{}while()
class DoWhile{
public static void main(String[] args) {
int i = 1;
do{
if(i % 2 == 0){
System.out.print(i + "\t");
}
i++;
}while(i <= 100);
}
}
运行结果:
二、格式:
所有的循环结构都必须包含以下4部分:
1、初始化条件;
2、循环条件;
3、迭代条件;
4、循环体;
1、for循环格式:
/*
所有的循环结构都必须包含以下4部分:
1、初始化条件;
2、循环条件;
3、迭代条件;
4、循环体;
在这段代码中与格式的对应关系为:
1、初始化条件 = int i = 0;
2、循环条件 = i < 4;
3、迭代条件 = i++;
4、循环体 = System.out.println("Hello World!");
*/
class For{
public static void main(String[] args) {
for(int i = 0; i < 4; i++){
System.out.println("Hello World!");
}
}
}
2、while循环格式:
/*
所有的循环结构都必须包含以下4部分:
1、初始化条件;
2、循环条件;
3、迭代条件;
4、循环体;
在这段代码中与格式的对应关系为:
1、初始化条件 = int i = 1;int sum = 0;;
2、循环条件 = i <= 100;
3、迭代条件 = i++;
4、循环体 = if语句;
*/
class TestWhile {
public static void main(String[] args) {
//100以内的偶数的输出
int i = 1;
int sum = 0;
while(i <= 100){
if(i % 2 == 0){
System.out.print(i +"\t");
sum += i;
}
i++;
}
System.out.print(sum);
}
}
3、do{4 3}while(2);
/*
所有的循环结构都必须包含以下4部分:
1、初始化条件;
2、循环条件;
3、迭代条件;
4、循环体;
在这段代码中与格式的对应关系为:
1、初始化条件 = int i = 1;
2、循环条件 = i <= 100;
3、迭代条件 = i++;
4、循环体 = if语句;
*/
class TestDoWhile{
public static void main(String[] args) {
int i = 1;
do{
if(i % 2 == 0){
System.out.println(i);
}
i++;
}while(i <= 100);
int j = 10;
do{
System.out.println(j);
j++;
}while(j<10);
while(j < 10){
System.out.println(j);
j++;
}
}
}
注意:
1、不同的循环结构之间可以相互转换;
2、while和do-while的区别:do-while程序至少会执行一次;
三、嵌套循环:
说明:循环结构中还可以声明循环;让内层循环结构整体充当外层循环的循环体;若外层循环执行m次,内层循环执行N次,整个程序执行m*n次。
可以理解为外层循环控制行数,内层循环控制列数;
例:
class TestFor2 {
public static void main(String[] args) {
for(int j = 0;j < 4;j++){//外层循环控制行数
for(int i = 0;i < 5;i++){//内层循环控制列数
System.out.print("*");
}
System.out.println();
}
}
}
运行结果:
练习题
1、九九乘法表
class TestJiuJiu {
public static void main(String[] args) {
for(int i = 1;i <= 9;i++){
for(int j = 1;j <= i;j++){
System.out.print(i + "*" + j + "=" + i*j + "\t");
}
System.out.println();
}
}
}
运行结果:
2、输出100内的质数(两种方法实现)
第一种:
class TestPrimeNumber {
public static void main(String[] args) {
boolean flag = false;
long start = System.currentTimeMillis();
for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
//如何判断i是否为一个质数
for(int j = 2;j <= Math.sqrt(i);j++){
if(i % j == 0){
flag = true;
break;
}
}
if(!flag){
System.out.println(i);
}
flag = false;
}
long end = System.currentTimeMillis();
System.out.println("所花费的时间为:" + (end - start));
}
}
运行结果:由于数据过多,这里使用运营时间来表示
第二种:这种方式主要是为了显示运行的效率,这里也是使用运行时间来表示。
class TestPrimeNumber1 {
public static void main(String[] args) {
//boolean flag = false;
long start = System.currentTimeMillis();
l:for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
//如何判断i是否为一个质数
for(int j = 2;j <= Math.sqrt(i);j++){
if(i % j == 0){
//flag = true;
//break;
continue l;
}
}
//if(!flag){
//System.out.println(i);
//}
//flag = false;
}
long end = System.currentTimeMillis();
System.out.println("所花费的时间为:" + (end - start));
}
}
运行结果:
四、无限循环
当需要使用无限循环时,将循环的循环条件修改为true即可(代码格式请参考第二部分),但是需要注意的是,在无限循环结果内部一定要提供循环的终止条件(使用break关键字)否则程序将无限制的执行下去,形成死循环;
五、break和continue:
1、break:
1、使用在swich-case结构或者循环结构中;
2、在循环结构中,一旦执行到break,就跳出当前循环。
2、continue:
1、使用在循环结构中;
2、在循环结构中,一旦执行到continue就跳出当次循环;
3、在嵌套循环中,可以使用带标签的break和continue。
例:
class TestPrimeNumber1 {
public static void main(String[] args) {
//boolean flag = false;
long start = System.currentTimeMillis();
l:for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
//如何判断i是否为一个质数
for(int j = 2;j <= Math.sqrt(i);j++){
if(i % j == 0){
//flag = true;
//break;
continue l;
}
}
//if(!flag){
//System.out.println(i);
//}
//flag = false;
}
long end = System.currentTimeMillis();
System.out.println("所花费的时间为:" + (end - start));
}
}
注意:请注意第5行代码(l:for(int i = 2;i <= 100000;i++))以及第11行代码(continue l;),在第五行代码前边写了一个l:的标签,然后在第11行代码处进行调用,如果程序执行到这里会自动跳出此循环,然后从第五行开始执行;
六、数组:
1、定义:相同数据类型的数据的组合。
不使用数组的定义方式:
int i1 = 1; int i2 = 2; int i3 = 3;
使用数组的定义方式:
1、静态初始化:在声明并初始化数组与给数组相应的元素赋值操作同时进行;
int[] scores = new int[]{72,90,59};
2、动态初始化:在声明并初始化数组与给数组相应的元素赋值操作分开进行;
int[] scores1 = new int[3];
socres1[0] = 72;
socres1[1] = 90;
socres1[2] = 59;
2、数组的初始化问题(以下的初始化为错误的初始化方式):
String[] names = new String[5]{"AA","BB","CC"}
int i = new int[10];
int i = new int[];
注意:不管是动态初始化还是静态初始化,一定要在创建的时候就指明数组的长度;
3、数组的引用:
1、通过数组下角标的方式来进行引用;下角标从0开始到n-1结束,其中n为数组的长度。
2、数组的长度通过length属性来调用;
代码
3、如何遍历数组:使用循环来进行遍历
for(int i = 0,i < scores1.length;i++){
System.out.println(scores1[i]);
}
代码展示:
public class TestArray {
public static void main(String[] args){
int i1;
i1 = 12;
boolean b = true;
//1.如何定义一个数组
//1.1数组的声明
String[] names;
int[] scores;
//1.2初始化
//第一种:静态初始化:初始化数组与给数组元素赋值同时进行。
names = new String[]{"张三","李四","王五"};
//第二种:动态初始化:初始化数组与给数组元素赋值是分开进行的;
scores = new int[4];
//2.如何调用相应的数组元素:通过数组元素的下角标的方式来调用。
//下角标从0开始,到n-1结束。其中N表示的是数组的长度。
scores[0] = 87;
scores[1] = 89;
scores[3] = 98;
//3。数组的长度:通过数组的length属性。
System.out.println(names.length);
System.out.println(scores.length);
//4.如何遍历数组元素
// System.out.println(names[0]);
// System.out.println(names[1]);
// System.out.println(names[2]);
for(int i = 0;i < names.length;i++){
System.out.println(names[i]);
}
}
}
以上这篇Java中的循环笔记整理(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# Java中的循环
# Java中的两种for循环介绍
# 深入理解java中for和foreach循环
# Java for循环的几种用法分析
# java新特性之for循环最全的用法总结
# java List循环与Map循环的总结
# 遍历
# 迭代
# 这段
# 时间为
# 的是
# 都必须
# 中与
# 下角
# 如何判断
# 给大家
# 第二种
# 第一种
# 行数
# 我是
# 还可以
# 两种
# 希望能
# 写了
# 请注意
# 可以使用
相关文章:
表情包在线制作网站免费,表情包怎么弄?
如何解决VPS建站LNMP环境配置常见问题?
如何使用Golang table-driven基准测试_多组数据测量函数效率
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
Python如何创建带属性的XML节点
如何做网站制作流程,*游戏网站怎么搭建?
如何在阿里云服务器自主搭建网站?
如何快速搭建支持数据库操作的智能建站平台?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
香港服务器如何优化才能显著提升网站加载速度?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
江苏网站制作公司有哪些,江苏书法考级官方网站?
如何基于云服务器快速搭建网站及云盘系统?
网站网页制作专业公司,怎样制作自己的网页?
郑州企业网站制作公司,郑州招聘网站有哪些?
如何在万网ECS上快速搭建专属网站?
动图在线制作网站有哪些,滑动动图图集怎么做?
如何用VPS主机快速搭建个人网站?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
Android自定义listview布局实现上拉加载下拉刷新功能
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
实现虚拟支付需哪些建站技术支撑?
建站主机如何选?性能与价格怎样平衡?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
如何用已有域名快速搭建网站?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
建站之星会员如何解锁更多建站功能?
建站之家VIP精选网站模板与SEO优化教程整合指南
网站图片在线制作软件,怎么在图片上做链接?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
大型企业网站制作流程,做网站需要注册公司吗?
重庆市网站制作公司,重庆招聘网站哪个好?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
招贴海报怎么做,什么是海报招贴?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
如何快速搭建虚拟主机网站?新手必看指南
如何在局域网内绑定自建网站域名?
如何通过.red域名打造高辨识度品牌网站?
建站之星北京办公室:智能建站系统与小程序生成方案解析
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
公众号网站制作网页,微信公众号怎么制作?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
*请认真填写需求信息,我们会在24小时内与您取得联系。