顺序结构

程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束。

if语句

if语句使用boolean表达式或boolean值作为选择条件,有三种结构形式: if翻译成中文,表示如果......,就干.......,

第一种结构形式:

if(boolean表达式)
{
条件执行体
}

if后面跟的{}表示一个整体—代码块,我们在这称为条件执行体,也就是说条件为true,就执行这一块代码块。

if语句的使用注意:

1):在if(boolean表达式)后面,{}前面,是没有分号的.

2):如果if语句只控制一句话,那么可以不使用{}.企业规范:都要求,无论if控制几句话,统统使用花括号.

3):操作boolean类型的变量的时候,下列代码不专业.

第二种结构形式:

if(boolean表达式){
条件执行体A
}else{
条件执行体B
}

if-else语句和三元运算符:

从语义上二者的含义相同. 从本质上说,if-else是语句结构,三元运算符是一种运算符号. 三元 运算符必须有一个结果,表达式必须有结果,必须有返回. 而if-else,不能返回什么结果,只能控制语句的结构.

注意: 1):不能在if(boolean表达式),使用分号. 2):不能直接使用else语句.

第三种结构形式:

if(boolean表达式A){
条件执行体
}else if (boolean 表达式B){
条件执行体B
}else{
条件执行体C
}

使用注意:

1):不能在if(boolean表达式),使用分号.

2):不能在else if(boolean表达式),使用分号.

3):不能直接使用else if语句,必须先使用if语句.

4):此时的else语句,表示上述所有条件都为false 的时候才会执行的代码.

switch语句

switch语句结构的格式如下:

switch(整型表达式){
case A值:
表达式结果等于条件1时,执行此语句;
break;
case B值:
表达式结果等于条件2时,执行此语句;
break;
...
case C值:
表达式结果等于条件N时,执行此语句;
break; default:
以上值都不满足时,执行此语句;
break;//一般不写
}
注意:case之后的表达式结果必须是常量。

switch的使用细节和使用注意:

switch语句适用于对多个整型值进行匹配判断,从而实现条件的分支控制。 和if语句不同的是:if语句后面是根据boolean表达式判断的,所以表达式的结构可以任意写,而switch只是相当于做“表达式 == 数值”的boolean表达式判断。

,推出:其实if语句更强大,switch仅仅只是对整数类型的判断而已,使用更简单. 这里的数值的类型是除long之外的整型类型,也就是说switch支持的类型是byte,short,char,int。

本质:switch仅仅只能支持int类型.(byte,short,char,会自动提升为int类型)

switch语句选择的基本数据类型只有四种:byte、short、char、int,没有long。

支持的引用类型是以上四个基本数据类型的包装类(后讲),依次是Byte、Short、Character、Integer以及从Java5开始支持的枚举和Java7开始支持的String类。

case只是用来为switch选择一个执行代码的入口,如果一旦进入某个入口之后,后面的case实际上已经失去了判断的意义,也就是说代码在进入switch执行的时会把入口case之后的case统统忽略,会一直往下执行,直到遇到break或return。(穿透) 所以大家可以发现,每一个case后面没有{}这个符号来表示一个代码块。

default表示,所有的case的值都不正确,一般放在switch的最后,也不需要使用break语句,

if和switch的选择:

if和switch都属于选择语句,也就是说功能是相似的.

if: 判断条件是boolean类型的.

switch: 判断条件是 整数表达式 == int类型的值.

发现,switch只能适合对整数的值做判断,如果是一其他类型的判断,只能使用if语句. 选择:如果是对整数表达式判断等于多少,首选使用switch. 其他情况,使用if语句.

循环结构

循环语句:

1):while语句

2):do while语句

3):for语句

三种,可以完成相同的功能. 仅仅只是语法上有差异.

while循环:

格式: while(boolean表达式) { 循环体s }

while循环特点:先判断表达式,若为true就执行循环体,否则,跳过循环体。

do while循环:

do
{
循环体语句
}
while(boolean表达式);

do while循环特点:先执行一次循环体,再判断表达式,若为true就执行循环体,否则,跳过循环体。 也就是说do while是先执行后判断,即使判断条件为false,该循环至少会执行一次。

for循环:

for(初始化语句;boolean表达式;循环后操作语句)
{
循环体语句
}

初始化语句:表示对循环进行初始化,只在循环开始时执行一次,定义一个变量,并赋值。

boolean表达式:表达式为false时,循环终止,为true,才执行循环体。 循环后操作语句:循环每次迭代之后会调用该语句,一般的该语句都是递增或递减操作。

死循环和循环语句对比

循环语句都一样,仅仅只是语法结构上不一样而已.

提示: 三大循环,是可以互换的,一般情况下,要是指定次数的循环,选用for循环要方便点。

一般的,习惯上选择i、j、k作为循环变量。

从性能上分析:for循环性能更高. 因为:变量定义在for循环里面,for循环执行完毕,就会释放该变量的存储空间.

嵌套循环

若外循环的循环次数是m次,内循环的循环次数是n次,那么内层循环的循环次数需要 m * n次。
嵌套循环注意:
1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同。
  2.循环嵌套结构的书写,最好采用“右缩进”格式,以体现循环层次的关系。
  3.尽量避免太多和太深的循环嵌套结构

嵌套循环性能优化

嵌套循环案例

输出矩形图案
*****
*****
*****

输出三角形图案
*
**
***
****
*****

输出九九乘法表

控制循环结构语句

break:终止当前所在的循环. stop
break之后的语句执行不了,所以不能编写.

continue语句: 继续的意思. skip.
跳过当前的循环,进入下一次循环操作.
continue之后的语句执行不了,所以不能编写.

return:
表示结束循环所在的方法,方法都结束了,循环结构自然也就结束了。 注意:
break、continue、return后面的语句永远没有机会执行,所以不能再跟任何语句,否则编译失败。
-------------------------------------------------------
break和return都能结束当前循环:
如果循环之后的操作还得执行: break;

控制外层循环:
此时就得使用标签了,标签就是给某个循环起的别名,不过该别名得满足标识符的规范。
若要控制外层循环,就在break或continue后面跟上循环的别名就OK了
如: break <标签名>; continue <标签名>;

java基础 流程控制和条件语句,循环语句的更多相关文章

  1. linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载

    http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...

  2. [转]linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例

    原文链接:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html linux shell有一套自己的流程控制语句,其中包括条件语句 ...

  3. Java基础-流程控制(04)

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...

  4. Java学习笔记之基础语法(顺序,条件,循环语句)

    顺序结构:自上而下 条件分支选择结构: if条件语句   1,一旦某一个分支确定执行以后,其他分支就不会执行.if后面的条件必须是boolean类型   2,if  后面如果不加大括号,默认相邻的下一 ...

  5. 黑马程序员——C语言基础 流程控制 选择结构和循环结构

    ---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...

  6. java 基础 流程控制

    鄙人不才,基础不好,趁着闲时简单学习一下,仅作学习分享,如有不正确地方还请各位看客不吝指出. Java流程主要可以分为: 顺序(可以按照正常顺序一步步往下运行的) 选择(三元操作符[?:];if el ...

  7. 实验二 Java基础(数据/表达式、判定/循环语句)

    实验二 (一)实验内容 编写简单的计算器,完成加减乘除模运算. 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. 编写测试代码,测试验证. ...

  8. python基础入门之二 —— 条件、循环语句

    1.条件语句 if if…else… 多重if if嵌套 三目运算符 (化简的if else) if 条件:   条件成立执行代码1   条件成立执行代码2 if False: print('if判断 ...

  9. 小白学 Python(8):基础流程控制(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

随机推荐

  1. 【Json】Newtonsoft.Json高级用法

    手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...

  2. BZOJ4241 历史研究(莫队)

    如果分块的话与区间众数没有本质区别.这里考虑莫队. 显然莫队时的删除可以用堆维护,但多了一个log不太跑得过. 有一种叫回滚莫队的trick,可以将问题变为只有加入操作.按莫队时分的块依次处理,一块中 ...

  3. Python单例模式的四种方法

    在这之前,先了解super()和__new__()方法 super()方法: 返回一个父类或兄弟类类型的代理对象,让你能够调用一些从继承过来的方法. 它有两个典型作用: a. 在单继承的类层次结构中, ...

  4. 搞笑的代码 ( funny )

    搞笑的代码 ( funny ) 在OI界存在着一位传奇选手——QQ,他总是以风格迥异的搞笑代码受世人围观 某次某道题目的输入是一个排列,他使用了以下伪代码来生成数据 while 序列长度<n d ...

  5. PHP检测json格式数据

    首先要记住json_encode返回的是字符串, 而json_decode返回的是对象 判断数据不是JSON格式: 复制代码代码如下: function is_not_json($str){      ...

  6. ACE_Message_Block功能简介

    转载于:http://www.cnblogs.com/TianFang/archive/2006/12/30/607960.html ACE_Message_Block在Ace中用来表示消息的存放空间 ...

  7. Codeforces Round #530 (Div. 2):D. Sum in the tree (题解)

    D. Sum in the tree 题目链接:https://codeforces.com/contest/1099/problem/D 题意: 给出一棵树,以及每个点的si,这里的si代表从i号结 ...

  8. How far away ? LCA求树上两点距离

    How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  9. git--------------bug修复流程

    当前所有分支: master:主分支 test:测试分支 zs:开发人员分支 ls:开发人员分支 场景:zs正在开发A模块功能,线上环境产生了一个bug. zs的操作流程(当前分支为zs分支): 1. ...

  10. Java设计模式の工厂模式

    -------------------------------------------------------- 目录:  一.序言 二.简单工厂模式 三.工厂方法模式 四.简单工厂和工厂方法模式的比 ...