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.变量 变量必须在程序 ...
随机推荐
- 201521123029《Java程序设计》第九周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容.** 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 ...
- paxos 算法原理学习
下面这篇关于paxos分布式一致性的原理,对入门来说比较生动有趣,可以加深下影响.特此博客中记录下. 讲述诸葛亮的反穿越 0.引子 一日,诸葛亮找到刘备,突然献上一曲<独角戏>,而后放声大 ...
- Oracle总结第二篇【视图、索引、事务、用户权限、批量操作】
前言 在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了-那么本篇主要总结关于Oralce视图.序列.事务的一些内容- 在数据库中,我们可以把各种的SQL语句分为四大类- (1 ...
- mybatis-basedao的实现
package com.yangwei.shop.dao; import java.util.HashMap; import java.util.List; import java.util.Map; ...
- PyTorch教程之Tensors
Tensors类似于numpy的ndarrays,但是可以在GPU上使用来加速计算. 一.Tensors的构建 from __future__ import print_function import ...
- Python迭代器,生成器--精华中的精华
1. 迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大 ...
- MYSQL解压版安装说明
一. zip格式,解压缩之后要进行配置.解压之后可以将该文件夹改名,放到合适的位置,比如把文件夹改名为MySQL(文件夹 MySQL下面就是 bin, data,my-default.ini 等) 二 ...
- 无向图广度优先遍历及其matlab实现
广度优先遍历(breadth-first traverse,bfts),称作广度优先搜索(breath first search)是连通图的一种遍历策略.之所以称作广度优先遍历是因为他的思想是从一个顶 ...
- 入坑IT十年(二)技术以外
上一篇博客里提到:技术越来越简单,发布后不久,就看到<技术并不是越来越简单>,这显然是打擂台来了. 技术究竟是不是越来越简单?其实这个问题,要看你究竟是以什么角度来思考这个问题.我们可以举 ...
- c# 图片转二进制/字符串 二进制/字符串反转成图片
protected void Button1_Click(object sender, EventArgs e) { //图片转二进制 byte[] imageByte = GetPictureDat ...