switch 值是固定的 效率高
语法:switch (表达式) {

case 常量 1:
语句;
break;

case 常量 2:
语句;
break;

default:
语句;
break;
}

case后面都是常量
break,是可选的,不加break不终止,直到遇到break
default 可选的,如果没有匹配到case,执行default

if和switch的区别
switch 适合用在值固定的时候,不能进行逻判断,根据表达式的值直接去找相应的case
if 适合用在区间内逻辑判断场合,

while 和do while
while 先判断后执行
do while 先执行后判断 至少被执行一次

for循环执行过程

  1. for语句执行时,首先执行初始表达式(只是第一次执行),然后判断条件表达式的值,如为true则转向2,如为false则转向4。
  2. 执行循环语句;循环语句执行完成,转向3
  3. 计算迭代表达式,计算完,转向1。
  4. 结束for循环。

 执行流程:

 for循环的优点:

在一个地方包括循环的全部规则,不是把几个语句放在代码的不同地方。使代码更易于阅读。适用于循环的开始和结束已知,循环次数固定的场合。
while循环多适用于循环次数不确定,仅需知道循环终止条件的场合

总结:

while()加循环条件,一但条件不满足就不执行语句。先判断后执行。适用于循环次数不确定,仅需知道循环终止条件的场合

do-while(),判断条件满足则执行语句,条件不满足时退出循环,但是do-while()是先执行后判断,所以至少要做一次循环

for(定义循环初始条件;循环退出条件;参数自加)。适用于循环的开始和结束已知,循环次数固定的场合

特殊流程控制语句:

break 用于跳出当前循环,

continue 语句立即终止当前循环,继续执行下一次循环 continue语句用在for循环中也是终止当前循环,继续执行下一次循环

说明: 

break只能用于switch语句和循环语句中。

continue 只能用于循环语句中。

在同一代码块中,break和continue之后不能有其他的语句,因为程序永远不会执行到break和continue之后的语句

关于java中循环的学习的更多相关文章

  1. Java中循环删除list中元素的方法总结

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后在今天使用的时候发现报错了,然后去科普了一下,发现这是一个误区.下面我们来一起看一下. Java中循环遍 ...

  2. JAVA中循环删除list中元素的方法总结【转】

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

  3. JAVA中循环删除list中元素

    文章来源: https://www.cnblogs.com/pcheng/p/5336903.html JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环) ...

  4. JAVA中循环删除list中元素的方法总结(同上篇)

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

  5. JAVA中循环遍历list有三种方式

    转自:https://blog.csdn.net/changjizhi1212/article/details/81036509JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常 ...

  6. java中循环删除list中元素的方法

    重点哈 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接 ...

  7. 【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题

    foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对 ...

  8. 【转】Java中的多线程学习大总结

    多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的. 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程 ...

  9. java中循环控制结构

    1. break结束break所在循环 for(i……) { for(j……) { break;  //结束循环j } } 2.带标签的break. java中的标签只用在循环语句前面. outer: ...

随机推荐

  1. 【数论】莫比乌斯反演Mobius inversion

    本文同步发布于作业部落,若想体验更佳,请点此查看原文.//博客园就是渣,连最基本的符号都打不出来.

  2. java Semaphore实现ABC三个线程循环打印

    Semaphore位于java.util.concurrent包下.其中有两个重要的方法acquire()和release().acquire用来获取一个信号量,并且是阻塞型的,如果当前还有可用的信号 ...

  3. Nginx学习简记_part2

    第4章:nginx配置实例 -反向代理 4.1 反向代理实例一 实现效果:使用 nginx 反向代理,访问 www.123.com 直接跳转到 127.0.0.1:8080 4.1.1 实验代码 1) ...

  4. CentOS 阿里源

    [centos] name=centos baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/ enabled= gpgcheck= [epel] ...

  5. python中eval, exec, execfile,和compile

    eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果. 同样地, exec语句将字符串str当成有效Python代码来执行. ...

  6. DeepCoder: A Deep Neural Network Based Video Compression

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 在深度学习的最新进展的启发下,我们提出了一种基于卷积神经网络(CNN)的视频压缩框架DeepCoder.我们分别对预测 ...

  7. Windows servers 2008 环境下, DHCP的搭建。

    日常上网,客户端的主机都是使用DHCP动态分配的,家用的路由器就是内置了一个DHCP服务,所以每次分到的IP地址基本的都是192.168.x.x/24 网段的.不过家用的路由器最多只能连十台左右.那么 ...

  8. Java面试题(Mybatis篇)

    Mybatis 125.mybatis 中 #{}和 ${}的区别是什么? #{}是预编译处理,${}是字符串替换: Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用Prepared ...

  9. python3+pyqt5+opencv3简单使用

    python3+pyqt5+opencv3简单使用(转载) 关于python3下搭建pyqt5(pycharm)参考这条链接. 对于pyqt的使用个人比较建议ui设计与逻辑功能分开开发. 下面介绍下简 ...

  10. 华为手机logcat中不显示log.e以下级别日志的解决方法

    (1) 进入拨号界面输入:*#*#2846579#*#* (2) 进入“后台设置” ——>“LOG设置” (3) 点击选择“AP日志” (4) 部分手机可能需要重启.