一、Java语句的执行结构
1.顺序语句
按照顺序从上往下依次执行的语句,中间没有任何的判断和跳转

2.分支语句
根据不同的条件来产生不同的分支
if语句、switch语句

3.循环语句
重复执行某句代码
for语句、while语句、do-while语句

二、分支语句
1.什么是分支?
判断所给定的条件是否满足,根据不同的结果执行对应的不同的语句

2.if语句
使用布尔表达式或者布尔值作为条件来进行分支控制

1>简单if语句(单分支)
语法:if(条件表达式) {

//执行语句
}
这里的条件表达式一般为关系运算符
使用方式:首先判断条件表达式是否成立,如果成立则执行语句,反之,不执行

2>if-else语句(双分支)
语法:if(条件表达式) {
//执行语句1
}
else {
//执行语句2
}
使用方式:首先判断条件表达式是否成立,如果成立则执行语句1,如果不成立,则执行语句2

3>多重if-else语句
语法:if(条件表达式1) {
//执行语句1
} else if(条件表达式2) {
//执行语句2
}else if(条件表达式3) {
//执行语句3
}
。。。。。。

else {
//执行语句
}
使用方式:根据不同表达式的成立与否执行对应的语句。只执行其中的一个分支,如果其中的一个分支条件满足,则停止继续向下执行

4>扩展:嵌套if语句
语法:if(条件表达式1) {
//执行语句1
if(条件表达式2) {
//执行语句2
}
}
从语法的角度来说,嵌套的层数没有限制,但是从代码的可读性来说,建议嵌套的层数不要多于3层

注意:使用if语句时容易出现的错误:
1.if(条件表达式);
{

}
2.忘记必要的括号

2.switch语句
语法:
switch(表达式或者变量) {

case 常量值1:
{
//执行语句1
}
break;
case 常量值2:
{
//执行语句2
}
break;
case 常量值3:
{
//执行语句3
}
break;
.。。。。。
default:
{
//执行语句
}

}
根据表达式或者变量的值进行匹配,如果case中有能匹配到的,则执行对应的语句,如果所有的case语句都不满足,则执行default中的语句

注意:a.表达式或者变量的取值类型:byte\short\int\char\String\枚举,(不能使用long和boolean)
b.若表达式的值和case分支后的常量值匹配的话,则执行该case分支
c。break表示跳出switch-case语句
d.当所有的case分支都不匹配的情况下,则执行default语句

扩展:Scanner类的使用

if语句和switch语句的区别:
a.如果对具体的数值进行判断,并且数值不多的情况下,而且符合byte\short\int\char这四种类型,推荐使用Switch完成,执行效率相对高一点
b。如果对区间进行判断,结果为布尔值的情况下,推荐使用if,if的使用范围更广

三、循环语句
1.什么是循环?
在满足条件的情况下,反复执行某一段代码,这段被反复执行的代码就被称为循环体
当反复执行这段循环体时,需要在合适的时候将循环条件改为假,从而结束循环,否则循环会一直执行下去,形成死循环
2.while循环
语法:while(条件表达式) {
//循环体
}
当条件表达式成立时,才会执行循环体
循环体的执行次数取决于条件表达式

3.do-while语句
语法:do{
//循环体

}while(条件表达式);

4.for循环语句

语法:for(表达式1;表达式2;表达式3){

//循环体
}

表达式1:初始化表达式
表达式2:循环条件表达式
表达式3:循环后的操作表达式

执行顺序:表达式1(int x = 0)--->表达式2----》循环体---》表达式3-----》表达式2----》循环体---》表达式3。。。。。。
其中,表达式1只执行一次

扩展:嵌套for循环

四、特殊流程控制语句
1.break

应用范围:分支结构和循环结构
作用:跳出对应的结构

2.continue
应用范围:循环结构
作用:表示结束当前循环,继续下一次循环,并不会结束整个循环

3.return
return并不是专门用于跳出循环的,作用是结束一个方法
return直接结束一个方法,不管这个return处于多少层循环之中

三者之间的区别:
a。break和continue的应用范围不同
b.当程序中出现break和continue时,在他们的后面不能出现语句,因为执行不到
c。continue是结束当前循环,break是结束整个循环
d.return直接结束整个方法

JAVA基础知识总结:三的更多相关文章

  1. java 基础知识(三)

    Arraylist与Vector的区别 清浅池塘 程序员,专栏:Java那些事儿唯一作者,咨询前请先点详细资料   162 人赞同了该文章 这几天工作有点忙,有很多代码需要写,更新文章有点慢,说声抱歉 ...

  2. Java基础知识(三)

    一.hashCode 与 equals (重要) 面试官可能会问你:"你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?" 1 ...

  3. java基础知识(三)java关键字

    关键字是电脑语言事先定义的,是特别意义的标识符,又叫保留字.用来表示一种数据类型或程序的结构等,关键字不能用作变量名.类名.方法名或参数.java目前共有50个关键字,其中"const&qu ...

  4. Java 基础知识总结 (三、运算符)

    三.Operators 运算符 Assignment Operators(赋值运算符) =   +=   -=   %=   *=   /=    <<=     >>=    ...

  5. java基础知识拾遗(三)

    1.类加载 bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader -扩展类加载器,它负责加载JRE的扩展目 ...

  6. java基础知识(三)之数组

    声明数组: 语法:数据类型[ ] 数组名://例:int[ ] scores;  或者 数据类型 数组名[ ]://例:int scores[ ];分配空间 语法:数组名 = new 数据类型 [ 数 ...

  7. Java基础知识陷阱(三)

    本文发表于本人博客. 之前都讲了有关字符串的陷阱,那今天来说下关于静态这个东西,这分为静态变量.静态方法,先看下面的代码请问结果输出是什么?: class Person01{ private stat ...

  8. JAVA基础知识(三):input.nextLine() 和input.next()

    next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其过滤掉:只有在读取到有效字符之后,next()方 ...

  9. Java基础知识陷阱系列

    Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四 ...

  10. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

随机推荐

  1. Java 最常用类(前1000名) 来自GitHub 3000个项目

    这篇文章主要介绍了最常用的1000个Java类(附代码示例),需要的朋友可以参考下 分析Github 3000个开源项目,粗略统计如下.括号内的数字是使用频率 0-3000. 下面的列表显示不全,完整 ...

  2. XML解析【介绍、DOM、SAX详细说明、jaxp、dom4j、XPATH】

    什么是XML解析 前面XML章节已经说了,XML被设计为"什么都不做",XML只用于组织.存储数据,除此之外的数据生成.读取.传送等等的操作都与XML本身无关! XML解析就是读取 ...

  3. Python学习笔记008_类_对象_继承_组合_类相关的BIF

    # 对象 = 属性 + 方法>>> # Python中的类名约定以大写字母开始>>> # tt = Turtle() 这就是创建类实例的方法,其它语言用new ,它 ...

  4. jstl-初步认知

    JSTL是java提供的JSP标签库 1,在项目中加入 jsf-api.jar jsf-impl.jar jstl-1.2.jar 三个包 2, 如何在jsp页面引入标签库 使用 <@tagli ...

  5. Mysql修改id自增值

    如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数 truncate table 表名 如果想保留之前的记录,从某一id(3356)重新开始 alter table 表名  ...

  6. PHP 动态调整内存限制

    最近公司的一个PHP项目在操作大文件的时候总是抛出这个异常 Fixing PHP Fatal Error: Allowed Memory Size Exhausted 经过一番调试后发现是达到了PHP ...

  7. Ansible系列(三):YAML语法和playbook写法

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  8. webpack2进阶之多文件,DLL,以及webpack-merge

    本需要对webpack已有一定的了解,如果你没接触过webpack或者刚刚接触webpack,可以考虑先看一下我的这篇教程. 入门教程 1.打包多文件 之前,当需要打包多个而文件时,我是这么写的: m ...

  9. day14<常见对象+>

    常见对象(正则表达式的概述和简单使用) 常见对象(字符类演示) 常见对象(预定义字符类演示) 常见对象(数量词) 常见对象(正则表达式的分割功能) 常见对象(把给定字符串中的数字排序) 常见对象(正则 ...

  10. PuTsangTo-单撸游戏开发01 Flag与计划

    先立下flag,至少1年之内坚持并2年之内完成自己的一个梦想--游戏开发. 没有参加培训也不打算参加培训,就纯靠业余时间自学并用自己的思路完成一整套游戏体系.做出此决心时也已经做好准备烂尾了,但是有种 ...