Day005 for循环
for循环
虽然所有循环结构都可以用while或者do-while表示,但java提供了另一种语句--for循环,使一些循环结构变得更加简单。
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新){
//代码语句
}
int a=1;//初始化条件 while(a<=100)//条件判断
{
System.out.println(a);//循环体
a++;//迭代
} System.out.println("while循环结束"); //初始化值//条件判断//迭代
for(int i=1;i<=100;i++){
System.out.println(i);
} System.out.println("for循环结束");
for循环快捷键
100.for+回车
fori+回车
死循环的写法
for(;;){
}
练习1:计算0~100之间的奇数和与偶数和
even:偶数 old:奇数
//计算0~100之间奇数和与偶数和
int sumEven=0;//偶数和
int sumOld=0;//奇数和
for (int i = 0; i <=100; i++) {
if(i%2==1){
sumOld+=i;
}else
{
sumEven+=i;
}
}
System.out.println("奇数和为"+sumOld);
System.out.println("偶数和为"+sumEven);
输出结果
奇数和为2500
偶数和为2550
练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
\t 制表符 \n换行符
print() 输出后不会换行
println() 输出后换行
//练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
for (int i = 0; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if(i%15==0){
System.out.print("\n");
}
}
输出结果
0
5 10 15
20 25 30
35 40 45
50 55 60
65 70 75
80 85 90
95 100 105
110 115 120
125 130 135
140 145 150
155 160 165
170 175 180
185 190 195
200 205 210
215 220 225
230 235 240
245 250 255
260 265 270
275 280 285
290 295 300
305 310 315
320 325 330
335 340 345
350 355 360
365 370 375
380 385 390
395 400 405
410 415 420
425 430 435
440 445 450
455 460 465
470 475 480
485 490 495
500 505 510
515 520 525
530 535 540
545 550 555
560 565 570
575 580 585
590 595 600
605 610 615
620 625 630
635 640 645
650 655 660
665 670 675
680 685 690
695 700 705
710 715 720
725 730 735
740 745 750
755 760 765
770 775 780
785 790 795
800 805 810
815 820 825
830 835 840
845 850 855
860 865 870
875 880 885
890 895 900
905 910 915
920 925 930
935 940 945
950 955 960
965 970 975
980 985 990
995 1000
练习三:打印九九乘法表
for (int j = 1; j < 10; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i+"*"+j+"="+i*j+'\t');
}
System.out.println();
}
输出结果
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
增强for循环
jdk5引入了一种用于数组和集合的增强for循环
语法
for(声明语句:表达式){
//代码
}
正常的for循环遍历数组
int[] numbers={10,20,30,40,50};//定义一个数组 for(int i=0;i<numbers.length;i++){
System.out.println(numbers[i]);
}
增强for循环遍历数组
int[] numbers={10,20,30,40,50};//定义一个数组 for(int x:numbers){
System.out.println(x);
}
break、continue、goto
- break:在任何循环语句的主体部分,均可用break强行退出循环,不执行循环中剩余的语句。(也能用在switch语句中)
- continue:语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
break例子
int i= 0;
while (i<100){
i++;
if(i==30){
break;
}
}
System.out.println(i);
输出结果
30
continue例子
int i=0;
while (i<10){
i++;
if(i%3==0){
System.out.println();
continue;
}
System.out.print(i+"\t");
}
输出结果
1 2
4 5
7 8
10
break和continue的区别
break(辞职):不干了,跳出循环
continue(请假):这次请个假,循环到下次接着干
goto(了解就行,不建议使用)
- goto关键字很早就在程序设计语言中出现,尽管goto是java的一个关键字,但并未在语言中得到正式使用;java中没有goto。然而,在break和continue这两个关键字的身上,我们任然能看到一些goto的影子----带标签的break和continue。
- “标签”是指后面跟一个冒号的标识符,例如 :label:
- 对于java来说唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
标签例子(打印101-150之间的所有质数)
//打印101-150之间的所有质数
//质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
int count=0;
//不建议使用
outer:for (int i = 101; i <150 ; i++) {
for (int j=2;j<i/2;j++){
if(i%j==0){
continue outer;
}
}
System.out.print(i+"\t");
}
输出结果
101 103 107 109 113 127 131 137 139 149
练习 打印三角形
//打印三角形 5行
//行
for (int i = 1; i <=5; i++) {
//打印空格
for (int j=5;j>=i;j--){
System.out.print(" ");
}
//打印左半边三角形
for (int j=1;j<=i;j++){
System.out.print("*");
}
//打印右半边三角形
for (int j = 1; j <i ; j++) {
System.out.print("*");
}
System.out.println();
}
输出结果
*
***
*****
*******
*********
Day005 for循环的更多相关文章
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- 模仿Linux内核kfifo实现的循环缓存
想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...
- 【JS基础】循环
for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...
- 【python之路4】循环语句之while
1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...
- To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- .NET基础 一步步 一幕幕[循环、逻辑语句块]
循环.逻辑语句块 好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
随机推荐
- PTE 准备之 Describe Image
25s 准备时间:决定用什么模板,用模板cover那些信息点 Content: 数字和文字哪个多,就多说哪个,均匀覆盖 Fluency : 保持流利度 不要纠结时态,单复数,人称代词等 时间要求: 尽 ...
- Harry And Magic Box HDU - 5155
题目链接:https://vjudge.net/problem/HDU-5155#author=0 题意:在一个n*m的方格中要满足每一行每一列至少有一个珠宝,问总共有多少种方案. 思路:利用递推的思 ...
- MyBatis:当表字段名和实体类属性名不一致
第一种解决方法:在sql中使用别名 <select id="getRoleList" resultType="com.ttpfx.domain.Role" ...
- 14、MyBatis教程之全部(包括所有章节)
MyBatis 3.5.5 教程 1.环境准备 jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Juni ...
- 以Aliyun体验机为例,从零搭建LNMPR环境(上)
使用云服务器搭建 Web 运行环境,尤其是搭建常见的 LNMPR(Linux+Nginx+MySQL+PHP+Redis) 环境,对于开发人员是必备的职场基本技能之一.在这里,借着搭建我的" ...
- Dynamics CRM9.0更新了Chrome后菜单按钮变形
前段时间Chorme更新后Dynamics CRM9.0的系统菜单样式变的很难看 具体修改方法如下: 找到Dynamics CRM安装目录C:\Program Files\Microsoft Dyna ...
- 1.jsp-out和response输出的区别
jsp中代码: out.write("out输出1 <br/>"); out.write("out输出2 <br/>"); respon ...
- 《Python编程:从入门到实践》基础知识部分学习笔记整理
简介 此笔记为<Python编程:从入门到实践>中前 11 章的基础知识部分的学习笔记,不包含后面的项目部分. 书籍评价 从系统学习 Python 的角度,不推荐此书,个人更推荐使用< ...
- JavaScript深拷贝与浅拷贝的区别和实现方式
如何区分深拷贝和浅拷贝呢,简单来说对象B拷贝了对象A,如果对象A和对象B共用一个对象,对象B改变对象A跟着改变这就是浅拷贝:但如果对象B拷贝了对象A,但是对象A和对象B是分开的,那么就是深拷贝 基本数 ...
- Java并发的背景
在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. 并发与操作系统的生命历程息息相关.进程的 ...