Java三大结构

  • 顺序结构(基本结构)
  • 选择结构
  • 循环结构

1. 顺序结构

  • 平时一般语句都默认遵循顺序结构

2. 选择结构

2.1 if单选择结构

语法

if(布尔表达式){
//布尔表达式为true执行的语句
//布尔表达式为false则跳过该语句,执行下面的语句
}

2.2 if双选择结构

语法

if(布尔表达式){
//布尔表达式为true执行的语句
}else{
//布尔表达式为flase执行的语句
}

2.3 if多选择结构

语法

要加else if(){}的话,else()应该放在最后面

仅一个if(){}语句可以没有else()

一旦有一个条件为真,其它则跳过不执行

if(布尔表达式1){
//语句1
}else if(布尔表达式2){
//语句2
}else if(布尔表达式3){
//语句3
}else{ //可以没有else{}
//语句4
}

2.4 嵌套的if结构

语法 语法结构不固定

if(布尔表达式1){
//
if(布尔表达式2){
//2
}
}

2.5 switch多选择结构 switch case

switch case 语句判断一个变量与一系列值中的某个值是否相等,每个值称为一个分支。

主要用于匹配一个值 比if更好用一点

语法

switch(expression){      //()里的不固定//此处表达式可以是一个字符如score
case value : //用case判断 case 'A': //case穿透/case匹配一个值
//语句
break; //终止,避免case穿透
case value :
//语句
break; //可选(可以没有break; 但一般情况需要加上)
//你可以有任意数量的case语句
default : //可选 //都不匹配,则执行这个
}

注意

  • switch语句中变量类型可以是 byte short int char String(JDK7以后可以是字符串)
  • case标签必须为字符串常量或字面量(123456 abcd 'A' )

3. 循环结构

3.1 while ---最基本的循环

语法

while(布尔表达式){

//循环内容

}

只要布尔表达式为true,循环就会一直执行下去。但会造成无限循环(死循环)

3.2 do...while

区别

while不满足条件一次都不执行 do...while会保证循环体至少执行一次。

while先判断后执行 do...while先执行后判断

语法

do {
//语句
}while(布尔表达式); //别忘记;

3.3 for循环

虽所有循环结构都可以用while 或do...while表示,但for循环使循环结构更简单

for循环支持迭代的通用结构,是最有效最灵活的循环结构

for循环执行的次数是在执行前就确定的

for(初始化; 布尔表达式; 更新){
//代码语句
}
  • for循环注意点

    1.最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句

    2.然后检查布尔表达式的值,为true则执行循环体,为false则循环终止,开始执行循环体后面的语句。也可是空语句

    3.执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)

    4.再次检查布尔表达式的值,循环执行上面的过程。

3.4 用于数组的增强型for循环

主要用于数组或者集合

语法:

for(声明语句 :表达式){
//代码句子
}
和分割线上面普通的for循环相比,起到简化,偷懒的作用

学到数组会详细学习

5. break continue goto

break 强制退出循环,不执行循环中剩余的语句。但循环外面的程序仍然运行。

continue 终止某次循环,跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定

​ 碰到continue,这一次终止循环,重新返回一开始判断,下一次循环

goto :Java 没有goto 带标签的break和continue能看到goto的影子

注意:break必须在switch或循环之内。否则会提示错误(break outside switch or loop)

练习

1.打印三角形

最新文章

  1. vbox丢失*MultiArch_amd64.msi或者*MultiArch_x86.msi重新制作
  2. cf #365b 巧妙的统计
  3. HTML head表头添加meta设置
  4. Ladda – 把加载提示效果集成到按钮中,提升用户体验
  5. Python数据结构与算法--算法分析
  6. IOS中设置cell的背景view和选中时的背景view 、设置cell最右边的指示器(比如箭头\文本标签)
  7. SQL查询性能分析之(not in)、(and not)、()、(!=)性能比较
  8. CentOS下的防火墙关闭
  9. @Resource注解(转)
  10. PL/SQL Developer StringBuffer 专用复制
  11. 初探ASP.NET Web API
  12. HTTP协议扫盲(六)InputStream的复用
  13. 在window系统上安装redis服务-Invalid argument during startup: Failed to open the .conf
  14. Java 容器的使用及数组、List、Set 的相互转换
  15. C# Windows程序窗口置前台的几种方法
  16. 【教程】linux下安装Google Chrome
  17. nginx对nodejs服务器的http、https、ws、wss的配置
  18. Web Service-WSDL详解
  19. MFC截图和界面刷新相关问题
  20. ANR机制

热门文章

  1. ArcMap线上均匀生成点
  2. futter环境安装
  3. 寻路算法之A*算法详解
  4. 采用WPF开发第二版OFD阅读器,持续完善中,敬请期待!
  5. 怎么得到InnoDB主键索引B+树的高度?
  6. 如何在Linux Centos上部署配置FastDFS
  7. MybatisPlus 多租户的常见问题
  8. SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?
  9. spring-boot-learning- Elasticsearch
  10. 插值方法 - Newton向前向后等距插值