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