java控制流程(二)
一、循环结构
有一天你的女朋友让你写一百遍我爱你,你是要一行一行的手写出来,还是利用编程的循环结构写出来?
while
语法:
表达式返回的为boolean值
while(表达式){
需要循环的语句
}
实例:
public class Test(){
public void medth(){
//定义一个变量
int a=1;
//此时的a=1 每次循环让a+1 当a<=100的时候 循环就终止了
while(a<100){
System.out.println("我爱你");
a++;
}
//此时的a输出为100
System.out.println(a);
}
}
注:1.这个循环只要条件为true 就会一直循环下去,造成死循环,如果出现这个情况就需要终止程序
2.while循环的特点就是先判断,在执行,如果判断结构返回的是错的,就不会执行循环
do…while
语法:
do{
需要循环的语句
}while(表达式)
实例:
public class Test(){
public void medth(){
//定义一个变量
int a=1;
//此时的a=1 每次循环让a+1 当a<=100的时候 循环就终止了
do{
System.out.println("我爱你");
a++;
}while(a<100);
//此时的a为100
System.out.println(a);
}
}
注:1.do…while的特点就是先执行,后判断 ,在执行
- do…while和while的区别:
do…while循环是不管条件成不成立,先执行一次,在判断
while循环是先判断,如果条件成立,才会执行
for
语法:
for(初始表达式;循环条件;操作表达式){
需要循环的语句
}
实例:
public class Test(){
public void medth(){
//定义一个变量 用来累积循环的次数
int num=0;
for(int i=0;i<100;i++){
System.out.println("我爱你");
num++;
}
//此时的num=100
System.out.println(num);
}
}
for循环的执行流程:
- 首先执行第一步初始化条件,定义了变量i(int i=1)
- 然后进行第二步,条件判断,判断条件i是否满足条件,如果满足条件,执行需要重复的执行语句
- 执行完需要重复的执行语句时,条件变化,变量i自身发生改变
- 即在条件变化—>条件判断—>重复执行的语句这三部中循环执行。当判断条件不满足的时候,循环结束
九九乘法表
public class Test(){
public medth(){
for (int i=1;i<=9;i++){
for (int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\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循环
语法:
for(变量类型 变量名称 : 需要遍历的集合或者数组){
需要执行的语句
}
实例:
import java.util.ArrayList;
import java.util.List;
public class Test(){
public medth(){
//在这里定义一个集合
//注意上面的import 想要定义集合就必须导入上面的两个包
List<int> list=new ArrayList();
//向集合中添加String类型的数据
list.add("张三");
list.add("李四");
for(String name:list){
System.out.println("姓名:"+name);
}
}
}
以上程序输出结果为:
姓名:张三
姓名:李四
注:
- 在jdk1.5之后提出,专门用来遍历数组和集合
- 在遍历的过程中,不能对集合中的元素进行增删操作
二、break&continue
break:
- break用于switch语句中,终止switch语句
- break用于循环的时候,跳出循环
public class Test(){
public void medth(){
for(int i=0;i<10;i++){
if(i==5){
break;
}
System.out.println("此时的i="+i);
}
}
}
以上程序执行结果为:
此时的i=0
此时的i=1
此时的i=2
此时的i=3
此时的i=4
可与看出,我们在循环体重使用break,当i=5的时候,就会跳出本次循环,不会再执行下一轮的循环
continue:
- continue用在循环中,跳出本次循环,继续执行下一次循环
- continue只能用在循环体中
public class Test(){
public void medth(){
for(int i=0;i<10;i++){
if(i==5){
continue;
}
System.out.println("此时的i="+i);
}
}
}
以上程序执行结果为:
此时的i=0
此时的i=1
此时的i=2
此时的i=3
此时的i=4
此时的i=6
此时的i=7
此时的i=8
此时的i=9
可以看出,我们在循环体中使用continue,当i=5的时候,就会跳过本次循环,进入下一次循环,直到循环结束
java控制流程(二)的更多相关文章
- Java 控制流程 之 循环语句
循环:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一 ...
- java控制流程(一)
一.scanner: scanner可以获取用户的输入的信息 scanner的初始化: //导入的包 import java.util.Scanner; public class Test { pub ...
- 五、Java控制流程
Java流程控制* 用户交互Scanner.Scanner进阶使用 用户交互Scanner 之前我们学习的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获 ...
- JAVA JVM 流程二
作为一名Java使用者,掌握JVM的体系结构也是必须的.说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言.Java类文件格式.Java虚 ...
- JAVA控制流程
Java代码有三种执行结构流程,顺序结构.分支结构.循环结构 顺序结构 顺序结构是最简单的代码执行结构,从代码开始逐步执行每一句代码到结束 public class C { public static ...
- 如何用 async 控制流程
来自: http://larry850806.github.io/2016/05/31/async/ [Javascript] 如何用 async 控制流程 (一) 31 May 2016 async ...
- “全栈2019”Java第二十二章:控制流程语句中的决策语句if-else
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 第三节:带你详解Java的操作符,控制流程以及数组
前言 大家好,给大家带来带你详解Java的操作符,控制流程以及数组的概述,希望你们喜欢 操作符 算数操作符 一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符. 这里的操作算法,一 ...
- Java入门(五):控制流程
在Java中,使用条件语句和循环结构确定控制流程,在本文中,主要包括块作用域.条件语句.循环结构.中断循环这四部分. 一.块作用域 块,也叫复合语句,是指由一对大括号括起来的若干条Java语句.块决定 ...
随机推荐
- 31-关键字:final
final:最终的 1.可以用来修饰:类.方法.变量 2.具体的: 2.1 final 用来修饰一个类:此类不能被其他类所继承. * 比如:String类.System类.StringBuffer类 ...
- 新浪、腾讯、淘宝为何如此重视Web前端?前端入门容易吗?
为什么新浪.搜狐.网易.腾讯.淘宝等在内的各种规模的IT企业,都对web前端越来越重视了呢?小编为您揭晓答案! web前端的由来 以前会Photoshop和Dreamweaver就可以制作网页.随着时 ...
- 用var声明变量,在java中居然有这么多细节,你都了解么?
简介 Java SE 10引入了局部变量的类型推断.早先,所有的局部变量声明都要在左侧声明明确类型. 使用类型推断,一些显式类型可以替换为具有初始化值的局部变量保留类型var,这种作为局部变量类型 的 ...
- Tutte 定理与 Tutte–Berge 公式
Tutte theorem 图 \(G=(V,E)\) 有完美匹配当且仅当满足 \(\forall U\subseteq V,o(G-U)\le|U|,o(X)\) 表示 X 子图的奇连通块数. Tu ...
- Go语言入门系列(五)之指针和结构体的使用
Go语言入门系列前面的文章: Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 1. 指针 如果你使用过C或C++,那你肯定对指针这个概念 ...
- Spring IOC 原理深层解析
1 Spring IOC概念认识 1.1 区别IOC与DI 首先我们要知道IOC(Inverse of Control:控制反转)是一种设计思想,就是 将原本在程序中手动创建对象的控制权,交由Spri ...
- C#算法设计排序篇之02-快速排序(附带动画演示程序)
快速排序(Quick Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/677 访问. 快速排序由C. A. R ...
- C#LeetCode刷题-数学
数学篇 # 题名 刷题 通过率 难度 2 两数相加 29.0% 中等 7 反转整数 C#LeetCode刷题之#7-反转整数(Reverse Integer) 28.6% 简单 8 字符串转整数 ...
- JavaScript promise基础示例
const { info } = console // cooking function cook() { info('[COOKING] start cooking.') const p = new ...
- [C/C++]快速读入代码(快读)
快读 1.为什么要有快读 好吧,有些题目看上去十分简单,例如https://www.luogu.com.cn/problem/P4305这道题,实际上数据量巨多,光是一个测试点就可能有几个MB,在这种 ...