选择结构(switch语句)(掌握)

1)格式:switch(表达式){    case 值1:语句体1;  break;    case 值2:语句体2;  break;    ...    default:语句体n+1;  break;  }

2)格式解释

switch表示这是switch语句

· 表达式的取值: byte、short、int、char

·JDK5以后可以是枚举

·JDK7以后可以是string

case后面跟的是要和表达式进行比较的值

语句体部分可以是一条或多条语句。

break表示中断,结束的意思,可以结束switch语句。

default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

3)执行流程

首先计算出表达式的值。其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束。

4)流程图

switch的流程图

5)案例

键盘录入一个数据,根据这个数据,输出对应的星期?例如:键盘录入1,对应输出星期一;键盘录入2,对应输出星期二......

switch语句体代码

6)注意事项

I. case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的。

II. default可以省略,一般不建议。除非判断的值是固定的。

III. break可以省略,但不建议。否则结果可能不是你想要的。会出现一个现象(case穿透)。

IV. default的位置可以出现在任意地方。

V. switch语句的结束条件,遇到break或者执行到程序末尾。

7)看程序写结果

结果为:y=4

结果为:b=6

8)switch语句练习

I. 模拟做单项选择题,根据你的选择,给出对应的答案。(表达式是字符的情况)

II. 键盘录入字符串,根据给定的字符串,来输出你选择的字符串是什么?(表达式是字符串的情况)

III. 用switch语句实现键盘录入月份,输出对应的季节

9)在做判断的时候,我们有两种选择,if语句和switch语句,那么,我们到底该如何选择使用哪种语句呢?

if语句使用场景:I.针对结果是boolean类型的判断    II.针对一个范围的判断    III.针对几个常量值的判断

switch语句使用场景:I.针对几个常量值的判断

循环结构(掌握)

1)概述

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

2)循环语句的组成

I. 初始化语句:一条或者多条语句,这些语句完成一些初始化操作。

II. 判断条件语句:这是一个boolean表达式,这个表达式能决定是否执行循环体。

III. 循环体语句:这个部分是循环体语句,也就是我们要多次做的事情。

IV. 控制条件语句:这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

> for循环语句

1)for循环语句格式:for(初始化语句;  判断条件语句;  控制条件语句) {  循环体语句;  }

2)执行流程

A:执行初始化语句 —— B:再执行判断条件语句,看其结果是true还是false,(如果是false,循环结束)如果是true,继续执行; —— C:执行循环体语句 —— D:执行控制条件语句 —— E:回到B继续

3)流程图

for循环语句的流程图

4)示例:输出十遍"HelloWorld"

5)注意事项

I. 判断条件语句的结果是一个boolean类型

II. 循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。(建议永远不要省略。)

III. 一般来说:有左大括号就没有分号,有分号就没有左大括号。

6)for循环的练习题

(1)请在控制台输出数据1~10

(2)请在控制台输出数据10~1

(3)求出1~10之间的数据之和

结果为:sum = 55

(4)求出1~100之间偶数的和

结果为:1~100之间的偶数和为2550

(5)求出1~100之间奇数的和

结果为:1~100之间的奇数和为2500

(6)求5的阶乘

结果为;5的阶乘为:120

(7)在控制台输出所有的“水仙花数”

所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。举例:153就是一个水仙花数。153 =1*1*1 + 5*5*5 +3*3*3

控制台结果:153 370 371 407

(8)统计“水仙花数”共有多少个

控制台:4

(9)请在控制台输出满足如下条件的五位数

个位等于万位,十位等于千位,个位+十位+千位+万位=百位

控制台结果:10201,11411,12621,13831,20402,21612,22822,30603,31813,40804

(10)请统计1~1000之间同时满足如下条件的数据有多少个?    对3整除余2,对5整除余3,对7整除余2

控制台的结果:10

> while循环语句

1)基本格式:while(判断条件语句) {  循环体语句;  }

2)扩展格式:初始化语句;  while(判断条件语句){  循环体语句;  控制条件语句;  }

3)流程图

while循环语句的流程图

4)示例:输出10次"HelloWorld"

5)while循环语句的练习题

(1)求出1~100之和

控制台输出:1~100的和为5050

(2)统计水仙花数有多少个

控制台输出:水仙花数的个数为4

(3)我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗马峰的高度?

控制台输出:需要折20次

6)for循环和while循环的区别

for循环语句和while循环语句可以等价转换,但还是有些小区别的。

I. 使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

II. 场景区别:for循环适合针对一个范围判断进行操作;while循环适合判断次数不明确操作。

> do...while循环语句

1)基本格式:do{  循环体语句;  }while(判断条件语句);

2)扩展格式:初始化语句;  do{  循环体语句;  控制条件语句;  }while(判断条件语句);

3)流程图

do...while的流程图

4)示例:输出十次"HelloWorld"

5)循环语句的区别

do...while循环至少执行一次循环体。而for,while循环必须先判断条件是否成立,然后决定是否执行循环语句。

那么,我们一般使用哪种循环呢?    优先考虑for,其次考虑while,最后考虑do...while

6)注意死循环

A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。

B:两种最简单的死循环格式        while(true) {...}    for(;;) {...}

7)练习题

(1)请输出一个4行5列的星星(*)图案,如下

效果图

(2)请输出如下图形

效果图

(3)需求:在控制台输出九九乘法表

效果图

跳转控制语句(掌握)

1)概述

前面我们已经说过了,Java中的goto是保留字目前不能使用。虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情。为了弥补这个缺陷,Java就提供了break,continue和return来实现控制语句的跳转和中断。

2)分类:break中断    continue继续    return返回

> break

1)使用场景:I. 在选择结构switch语句中    II. 在循环语句中    (离开使用场景的存在是没有意义的)

2)作用:I. 跳出单层循环    II. 跳出多层循环(带标签的跳出    格式:标签名:循环语句)【标签名要符合java的命名规则】

3)示例

4)练习题

小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。

控制台输出:经过74天,小芳才可以存到100元钱

> continue

1)使用场景:在循环语句中 (离开使用场景的存在是没有意义的)

2)作用:单层循环表示退出本次循环,也可以带标签使用

3)练习题

I. 在控制台输出2次:"Java基础班"        ——>  break

II. 在控制台输出7次:"Java基础班"        ——>  continue

III. 在控制台输出13次:"Java基础班"          ——> System.out.println("Java基础班")

> return

1)概述

return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法。跳转到上层调用的方法。这个在方法的使用那里会在详细的讲解。

2)特点:一旦遇到return,程序就不会在继续往后执行

java朗控点异常_Java语言基础(day_04)相关推荐

  1. java 考试题_JAVA语言基础内部测试题(50道选择题)

    JAVA语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分.)(每题2分) 没有注明选择几项 ...

  2. java填空题_Java语言基础知识填空题

    Java语言基础知识填空题 想学java语言的人,要多做题才能巩固知识,下面小编为大家带来了Java语言基础知识的填空题,欢迎大家阅读! Java语言基础知识填空题. 1.浮点型数据根据数据存储长度和 ...

  3. java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...

    本文主要向大家介绍了Java语言基础学习之流程控制语句和跳转控制语句实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.流程控制语句 在一个程序执行的过程中,各条语句的执行顺 ...

  4. java 数组 字符串 编程_Java语言基础知识之字符串数组

    Java语言基础知识之字符串数组 java语言中,数组是一种最简单的复合数据类型.数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素.数组有 ...

  5. java语言编程基础王晓华_Java语言基础编程练习

    Java语言基础编程练习 1. 运算符练习 提示用户输入正整数类型的秒数,拆分秒数后输出x小时x分x秒. 如:输入7199,输出1小时59分59秒 System.out.println("请 ...

  6. java基础考试_Java语言基础试题及答案

    Java语言基础试题及答案 引导语:Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言.以下是小编整理的Java语言基础试题及答案,欢迎参考阅读! 1.浮点型数据根据数据存储长度和数值精度的 ...

  7. java中用swing实现绘画_Java语言课程教与学(36学时和48学时教学大纲)

    <Java语言>课程大纲(36学时) 1.      课程目的 本课程目的是讲解面向对象程序设计语言Java的基本概念.方法与技术.课程对Java语言的面向对象特征,包括继承.封装.多态等 ...

  8. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)

    原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...

  9. java中字输入输出异常_Java:详解Java中的异常(Error与Exception)

    一. 异常机制的概述 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 程序错误分为三种:1 ...

最新文章

  1. 面试官:哥们,你们的系统架构中为什么要引入消息中间件?
  2. windows/Linux 安装 MongoDB 3.6.5
  3. XSS跨站脚本攻击在Java开发中防范的方法
  4. 评分怎么读_英国留学本科中途被退学怎么申请硕士补救
  5. -bash: ulimit: pipe size: cannot modify limit: Invalid argument
  6. 最大子矩阵问题悬线法 学习小结
  7. 字符串的连接最长路径查找
  8. 职场新鲜人必读:那些被“误读”的真经
  9. ES(elasticsearch)备份还原脚本
  10. mac:装机软件汇总
  11. 禁忌搜索算法(TS)
  12. google开源技术(部分)
  13. win7录屏_原来电脑自带的录屏功能,那么好用,可惜很多人还不知道,真遗憾...
  14. 读书笔记 - 《王阳明大传:知行合一的心学智慧》
  15. c语言程序设计判断是否是素数,C语言编程输入一个数判断是否为素数(质数)...
  16. 【Python成长之路】基于sikuli jar包,实现淘宝自动抢单功能(1)
  17. 400+条实用C/C++框架、库、工具整理 ,你能想到的都在这里了
  18. android节日接口,节假日api及其整合
  19. 【UE4】使用Composure插件在场景或UI中实时显示CineCamera画面
  20. 秋雨,在迷乱的思绪中飞扬

热门文章

  1. iOS 跨平台开发,该用 Flutter 还是 Swift?
  2. Gartner最新洞见:数据分析将是改变“游戏规则”的技术、企业的中台需要可组装的架构
  3. 支付宝回应手机黑产;微软将允许员工永久在家办公;Flutter 1.22 正式发布|极客头条
  4. Python爬取B站弹幕+Gephi梳理主线剧情
  5. 34000+技术博主齐聚,一周发文近 20,000 篇,网友:啥活动?
  6. 你技术很强但薪资不涨?这门技术远比你想的更重要!
  7. 探索处理数据新方法,8 个重点搞懂云数据库 DBaaS 到底是什么!
  8. 我们是否应该保留同时多线程?
  9. 我的 CDMA 往事
  10. Python 在数据科学中一直打压 R 语言?