JAVA基础知识总结:三
一、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基础知识总结:三的更多相关文章
- java 基础知识(三)
Arraylist与Vector的区别 清浅池塘 程序员,专栏:Java那些事儿唯一作者,咨询前请先点详细资料 162 人赞同了该文章 这几天工作有点忙,有很多代码需要写,更新文章有点慢,说声抱歉 ...
- Java基础知识(三)
一.hashCode 与 equals (重要) 面试官可能会问你:"你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?" 1 ...
- java基础知识(三)java关键字
关键字是电脑语言事先定义的,是特别意义的标识符,又叫保留字.用来表示一种数据类型或程序的结构等,关键字不能用作变量名.类名.方法名或参数.java目前共有50个关键字,其中"const&qu ...
- Java 基础知识总结 (三、运算符)
三.Operators 运算符 Assignment Operators(赋值运算符) = += -= %= *= /= <<= >>= ...
- java基础知识拾遗(三)
1.类加载 bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader -扩展类加载器,它负责加载JRE的扩展目 ...
- java基础知识(三)之数组
声明数组: 语法:数据类型[ ] 数组名://例:int[ ] scores; 或者 数据类型 数组名[ ]://例:int scores[ ];分配空间 语法:数组名 = new 数据类型 [ 数 ...
- Java基础知识陷阱(三)
本文发表于本人博客. 之前都讲了有关字符串的陷阱,那今天来说下关于静态这个东西,这分为静态变量.静态方法,先看下面的代码请问结果输出是什么?: class Person01{ private stat ...
- JAVA基础知识(三):input.nextLine() 和input.next()
next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其过滤掉:只有在读取到有效字符之后,next()方 ...
- Java基础知识陷阱系列
Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四 ...
- java 基础知识三 java变量
java 基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...
随机推荐
- 201521123099 《Java程序设计》第13周学习总结
本周学习总结 书面作业 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 1.2 telnet bbs. ...
- PowerBI开发 第五篇:关系的设计
PowerBI 使用 内存的列式数据库 VertiPaq,用于对已发布的数据集进行数据压缩和快速处理,能够使PowerBI报表执行脱机访问,面向列的处理,高度优化对1:N关系的处理性能.PowerBI ...
- RAID磁盘阵列
什么是RAID 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),简称磁盘阵列.其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组, ...
- eclipse复制到IDEA中文不匹配,编译失败
今天使用把eclipse的包复制到Intellij Idea下,结果在编译的时候,它说我的数据是GBK,而Idea默认的数据是UTF-8,因此出错了... 解决:在项目中直接把对象的encoding. ...
- 庞玉栋:浅谈seo优化对于网站建设的重要性
根据最近做SEO优化经验而写 写的也都是我的方法 大神勿喷 SEO:英文Search Engine Optimization缩写而来, 中文意译为搜索引擎优化 如果你连个网站都没有那就点这里:如何拥 ...
- Node.js博客搭建
Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...
- Thinkphp5.0 在自己定义一个公共方法的控制器并且继承了Controller类的时候报错
在建立网站的时候,你通常想着把一些共有的方法提取出来,放入一个控制器内,如果你是将业务逻辑写入了构造函数里面,那么就得注意了. 在thinkphp5.0当中,有一个初始化的方法,类似于构造函数,那就是 ...
- 【DDD】领域驱动设计实践 —— UI层实现
前面几篇blog主要介绍了DDD落地架构及业务建模战术,后续几篇blog会在此基础上,讲解具体的架构实现,通过完整代码demo的形式,更好地将DDD的落地方案呈现出来.本文是架构实现讲解的第一篇,主要 ...
- 翻译连载 | 第 9 章:递归(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...
- Akka(27): Stream:Use case-Connecting Slick-dbStream & Scalaz-stream-fs2
在以前的博文中我们介绍了Slick,它是一种FRM(Functional Relation Mapper).有别于ORM,FRM的特点是函数式的语法可以支持灵活的对象组合(Query Composit ...