一、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. 从JS和jQuery浅谈DOM操作,当我们在获取时,究竟获取了什么

    0.写在前面的话 自己对前端的东西一直不是很熟,现在开始要想办法从前端各个地方去获取想要的属性值的时候,也基本是在网上现炒现卖,几周下来,发现自己还是迷迷糊糊,可以算是一无所获. 所以就抽时间,把这一 ...

  2. 框架应用:Spring framework (三) - JDBC支持

    Spring框架是一个一站式的框架,也就是对很多技术和框架做了封装,使其应用更加简便. JDBC的代码过程 /STEP 1. Import required packages import java. ...

  3. webView 不能复制解决方案

    开发中遇到部分机型--主要是系统低于4.0,如果调用了WebView.setWebChromeClient的方法,则没办法长按复制文字 查了一下是系统的一个bug  https://bugzilla. ...

  4. org.springframework.core.io包内的源码分析

    前些日子看<深入理解javaweb开发>时,看到第一章java的io流,发觉自己对io流真的不是很熟悉.然后看了下JDK1.7中io包的一点点代码,又看了org.springframewo ...

  5. Delphi中 StrToIntDef函数的用法

    Delphi中 StrToIntDef函数的用法:比如我要判断一个文本框里输入的字符串能不能转换为integer类型,如果能,则返回转换后的整型数据,如果不能,则返回整数0,那么我就可以用strtoi ...

  6. 记一次Linux下JavaWeb环境的搭建

    今天重装了腾讯云VPS的系统,那么几乎所有运行环境都要重新部署了.过程不难懂,但是也比较繁琐,这次就写下来,方便他人也方便自己日后参考参考. 我采用的是JDK+Tomcat的形式来进行JavaWeb初 ...

  7. poj2337欧拉回路要求输出路径

                         Catenyms Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8368   Ac ...

  8. 云计算---OpenStack Neutron详解

    简介: neutron是openstack核心项目之一,提供云计算环境下的虚拟网络功能 OpenStack网络(neutron)管理OpenStack环境中所有虚拟网络基础设施(VNI),物理网络基础 ...

  9. Ubuntu 普通用户提升到root权限

    方法一.修改passwd文件 1.编辑passwd文件 sudo vim /etc/passwd 2.找到你想提权的用户(比如test),将用户名后面的数字改成0 找到用户test test:x::: ...

  10. VirtualBox 磁盘容量调整

    起因 此前用VBox,初始时动态或固定分配的磁盘容量用完了就再重新建一个磁盘,但是有个虚拟机的系统分区容量不够了,把整个磁盘都分成系统盘仍然不够,于是研究了下磁盘容量调整问题. 正文 1,从当前虚拟机 ...