当前位置: 首页 > 编程日记 > 正文

3.分支结构与循环结构

1 程序结构

  程序结构分为顺序结构、分支结构、循环结构。分支结构有:if结构,if....else结构if...else if....else ,if...else结构,switch结构;循环结构有:while循环,do....while循环,for循环。

2 分支结构

①if结构  语法:

if(布尔表达式){

//语句;

}

  执行过程:如果布尔表达式为true执行其下语句,布尔表达式为false时不执行其下语句。

{}可以省略,如果省略将执行第一个语句块。为了程序的可读性推荐不要省略{}

②if...else结构 语法:

if(布尔表达式){

//语句1

}else{

//语句2;

}

  执行过程:如果布尔表达式值为true,执行语句1,否则执行语句2.

{}也是可以省略的,省略之后只执行第一个语句块。

示例1:根据用户输入的年份,加上一个[0,10]随机数后,判断该年是否为闰年。

  分析:

1.获取用户输入的年份:Scanner

2.产生一个[0,10]之间的随机整数:Math.random()-->(0,1)之间的随机小数

3.判断该年是为闰年,闰年的判断条件:能被4整除并且不能100整除;或者能被400整除。

public class TestIfElse2{

public static void main(String[] args){

Scanner input = new Scanner(System.in);

System.out.println("请输入一个年份:");

int year = input.nextInt();

//产生[0,10]之间的随机整数

int random = (int)(Math.random()*11);

year = year+random;

//判断是否为闰年

if((year%4==0&&year%100!=0)||year%400==0){

System.out.println(year+"为闰年,共366天!");

}else{

System.out.println(year+"为平年,共365天!");

}

}

}

示例2:(if嵌套)

if嵌套:一个if语句包含了其他的if语句。

if(条件1){

if(条件2){

//语句;

}

}

 

③if....else if....else结构 语法:

if(条件1){

//语句1;

}else if(条件2){

//语句2;

}else if(条件3){

//语句3

}....{

}else{

//语句N;

}

  执行过程:先判断条件1是否成立,如果条件1成立执行语句1并跳出条件结构;如果条件1不成立继续判断其下的条件2,如果条件2成立执行语句2....,所有条件都不成立执行else中语句N.

  注意:条件的位置有可能影响执行结构,条件位置一般需要满足从范围小的条件到范围大的条件逐次摆放。

④switch结构

switch可以代替多重if条件结构中等值判断。

  语法:

switch(表达式){

case 值1:

    语句1;

[break];

case 值2:

    语句2;

[break];

....

default

    语句N;

[break];

}

  执行过程:将表达式的值与case中的常量值挨个进行比较,如果匹配成功将执行其下语句,直到遇到break关键字跳出switch结构。

  注意:

1)swtich中传入的表达式可以是byte,short,int,char,从JDK1.7以后支持String类型

2)case后的常量值不能重复

3)case语句中的break是可以省略的,但如果省略break将出现case穿透。

4)default语句也是可以省略的。

3 循环结构

如果遇到需要反复做的事情,可以利用循环进行解决。

①while循环 语法:

while(布尔表达式){

//循环体

}

  执行过程:

  步骤1:先判断布尔表达式值是否为true,如果为true进入步骤2

  步骤2:执行while中循环体,执行结束后回到步骤1

  注意:检查循环是否能退出(检查循环条件是否不满足的时候)

  特点:先判断,后执行,有可能一次都不执行。

②do...while循环 语法:

do{

//循环体;

}while(布尔表达式);

执行过程

  步骤1:先执行循环体,进入步骤2

  步骤2:判断布尔表达式是否为true,如果值为true,执行步骤1,否则退出循环。

  特点:先执行,后判断。执行会执行1次。

③for循环 语法:

for(表达式1;表达式2;表达式3){

//循环体;

}

  表达式1:循环变量的初始化,只会执行1次

  表达式2:循环条件

  表达式3:更改循环变量(步进)

  注意:从语法的角度上说表达式1,表达式2,表达式3都可以省略,分号不能省略。但是如果省略了表达式2和表达式3经常会造成死循环。终止执行:ctrl+c

  特点:先判断,后执行。有可能一次都不执行。

  执行过程:

  步骤1:先执行表达式1进行循环变量的初始化工作

  步骤2:执行表达式2进行循环条件的判断,如果条件为true,执行步骤3,否则退出循环。

  步骤3:执行循环体;

  步骤4:执行表达式3进行更改循环变量,然后执行步骤2。

 

4 break和continue

①break关键字可以用于switch结构和循环结构

  作用: 1.如果用于switch结构,跳出当前的case语句

2.如果用于循环结构中,跳出当前循环结构。

②continue关键字只能用于循环结构。

  作用:跳过本次循环,重新开始下一趟循环。

5 return

  可以使用return关键字结束当前函数的执行。

  在函数中只要遇到了return关键字,终止当前函数(方法),并回调函数(方法)的被调用处。

 

转载于:https://www.cnblogs.com/nicepanda/p/6921883.html

相关文章:

微信小程序 实现复制到剪贴版功能

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 实现API: wx.setClipboardData(Object object) API说明:设置系统剪贴板的内容 属性类型默认值是否必填说明支持版本datastring 是剪贴板的内容 successfunction 否接口调用成功…

数据结构面试题编程题_您下次编程面试时应该了解的顶级数据结构

数据结构面试题编程题by Fahim ul Haq通过Fahim ul Haq Niklaus Wirth, a Swiss computer scientist, wrote a book in 1976 titled Algorithms Data Structures Programs.瑞士计算机科学家Niklaus Wirth在1976年写了一本书,名为《 算法数据结构程序》。 40 yea…

oracle使用小技巧

批量禁用触发器 SELECT ALTER TRIGGER || trigger_name || DISABLE; FROM all_triggers; 这样就生成了一个禁用语句列表,复制到sql脚本执行界面,批量执行即可,类似的,可以用all_tables来批量删除表。 转载于:https://www.cnblogs…

if for switch语句

顺序语句:一行行执行条件语句:选择分支if语句 1、 if(....)//括号内是判断条件 { //程序代码,运算等等 } 2、 if(....)//括号内是判断条件 { //程序代码,运算等等 } else//如果不满足条件则执…

Apache Unable to find the wrapper https - did you forget to enable it when you configured PHP?

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 Apache Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? 问题解决办法: 打开配置文件 php.ini , 如图: …

文件魔术数字_如何使用魔术脚手架自动创建文件并节省时间

文件魔术数字Before we begin: This article uses JavaScript / Node.js example code, but you can port these concepts to any language using the right tools.开始之前:本文使用JavaScript / Node.js示例代码,但是您可以使用正确的工具将这些概念移…

Sql Server统计报表案例

场景:查询人员指定年月工作量信息 USE [Test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[GetWorkLoadMain] year int, month int, UserId varchar(50) as begindeclare day varchar(50)set dayCAST(year as varchar)-RIGHT((00…

运行报表时提示输入用户名和密码

在AX2012运行报表是总是提示用户输入用户名和密码: 尝试输入登陆名和密码,点击查看报表,出现如下错误: 因为AX2012的报表使用的针对AX2012客制化的SSRS,而要求输入登录名和密码是SSRS报表的数据源设置导致的。在SSRS管…

CSS 文字,边框实现从左至右颜色渐变

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 1.文本从左至右颜色渐变 效果图&#xff1a; 2.边框从左至右颜色渐变 效果图&#xff1a; 实现代码&#xff1a; 1.文本从左至右颜色渐变实现代码&#xff1a; <!DOCTYPE html> <html>&l…

如何使用Create-React-App和自定义服务人员构建PWA

Note: This is not a primer on create-react-app or what a service worker is. This post assumes prior knowledge of both.注意&#xff1a;这不是create-react-app或服务工作者的入门。 这篇文章假定两者都有先验知识。 So, I recently had the opportunity to work on a…

inline-block空隙怎么解决

方法一&#xff1a;移除空格 元素间留白间距出现的原因就是标签段之间的空格&#xff0c;因此&#xff0c;去掉HTML中的空格&#xff0c;自然间距就木有了。考虑到代码可读性&#xff0c;显然连成一行的写法是不可取的&#xff0c;我们可以&#xff1a; <div class"spa…

php 网络请求 get请求和post请求

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 代码记录 <?php header(content-type:application:json;charsetutf8); header(Access-Control-Allow-Origin:*); //header(Access-Control-Allow-Methods:POST); header(Access-Control-Allow-He…

docker查看现有容器_如何使用Docker将现有应用程序推送到容器中

docker查看现有容器by Daniel Newton丹尼尔牛顿 如何使用Docker将现有应用程序推送到容器中 (How to shove an existing application into containers with Docker) I have finally got round to learning how to use Docker past the level of knowing what it is and does w…

巧妙使用Firebug插件,快速监控网站打开缓慢的原因

巧妙使用Firebug插件&#xff0c;快速监控网站打开缓慢的原因 原文 巧妙使用Firebug插件&#xff0c;快速监控网站打开缓慢的原因 很多用户会问&#xff0c;我的网站首页才50KB&#xff0c;打开网页用了近60秒才打开&#xff1f;如何解释&#xff1f; 用户抱怨服务器运行缓…

第二阶段第三次站立会议

昨天做了什么&#xff1a;写了部分购物车的功能 今天要干什么&#xff1a;修改后台代码的错误 遇到的困难&#xff1a;没有困难转载于:https://www.cnblogs.com/jingxiaopu/p/7109774.html

微信小程序生成小程序二维码 php 直接可以用

微信小程序开发交流qq群 581478349 承接微信小程序开发。扫码加微信。 小程序需要先上线才能生成二维码 HTTP请求的效果图&#xff1a; 小程序展示的效果图&#xff1a; 小程序展示二维码源码&#xff1a; 请求二维码图片base64路径&#xff0c;点击预览图片 onLoad: func…

vue和react相同点_我在React和Vue中创建了相同的应用程序。 这是区别。

vue和react相同点by Sunil Sandhu由Sunil Sandhu 我在React和Vue中创建了相同的应用程序。 这是区别。 (I created the same app in React and Vue. Here are the differences.) Having used Vue at my current workplace, I had a fairly solid understanding of how it all …

Filter(过滤器)

一、Filter过滤器(重要)     Javaweb中的过滤器可以拦截所有访问web资源的请求或响应操作。 1、Filter快速入门     1.1、步骤:      1. 创建一个类实现Filter接口      2. 重写接口中方法 doFilter方法是真正过滤的。      3. 在web.xml文件中配置 …

css3实现3D立体翻转效果

1、在IE下无法显示翻转效果&#xff0c;火狐和谷歌可以 1 /*样式css*/2 3 .nav-menu li {4 display: inline;5 }6 .nav-menu li a {7 color: #fff;8 display: block;9 text-decoration: none;10 overflow: visible;11 line-height: 40px;12 font-…

Ant Design 入门-参照官方文档使用组件

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 先来一个按钮组件使用的对比,官方文档的(不能直接用)和实际能用的。 官网demo: import { Table, Divider, Tag } from antd;const columns = [{title: Name,dataIndex: name,key: name,render: text =…

如何用JavaScript的回调函数做出承诺

by Adham El Banhawy由Adham El Banhawy 如何用JavaScript的回调函数做出承诺 (How to make a Promise out of a Callback function in JavaScript) Back-end developers run into challenges all the time while building applications or testing code. As a developer who …

VMware里的linux系统里的命令行里会有bee的声音,要如何关掉

VMware里的linux系统里的命令行里会有bee的声音&#xff0c;要如何关掉 取消bell报警声的方法&#xff1a;登陆linux系统vi /etc/inputrc找到set bell-style none 将前面的&#xff03;去掉&#xff0c;之后重启系统即可解决声音问题若不见效可以通过下面的方式解决下bell-styl…

React-Todos

最近学完React的最基本概念&#xff0c;闲下来的时候就自己写了一个Todo-List的小应用。这里做个简略的说明&#xff0c;给想好好学React的新手看。 React-Todo 学习前提 这里我用了webpackb做了babel和JSX预处理和模块打包。所以对React和一些ES2015&#xff08;ES6&#xff0…

Ant Design 入门-引用自己命名的组件

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 自己创建的组件:代码 import { Table, Divider, Tag } from antd; import React, { Component } from react; export default class My_Table extends Component {render() {const columns = [{title: …

迷宫出路代码_如何在软件开发的迷宫中找到自己的出路

迷宫出路代码by Tim Kleier蒂姆克莱尔(Tim Kleier) 如何在软件开发的迷宫中找到自己的出路 (How to find your way through the corn maze of software development) The corn maze is one of my favorite challenges to tackle. It’s an unnerving experience, especially w…

打包 React 项目并在服务器运行。

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 1.找到项目根目录的package.json文件&#xff1a;如图&#xff1a; 2.打开cmd执行&#xff1a;npm run build 3.生成DIST文件夹。 4.把DIST文件放到服务器phpStudty根目录&#xff0c;访问index.html。…

一些有用的Python问题

1. 修改IDLE工作路径&#xff0c;在命令交互模式下输入如下指令&#xff1a; >>> import os >>> os.getcwd() #查看当前的工作路径 >>> os.chdir(E:\\Python\\Demo) #修改当前的工作路径 2.Python中 ImportError: cannot import name NUMPY_MKL 的…

Python核心编程笔记---- print

在仅用变量名时&#xff0c;输出的字符串是用单引号括起来的。这个是为了让非字符串对象也可能以字符的形式显示在屏幕上。 而print 函数打印出来的是变量的值。 print 调用的是str()方法。而仅用变量名时调用的是repr()方法。 证明&#xff1a;------------------------------…

latex 插图解释_大O符号-只需插图和视频即可解释

latex 插图解释Big O notation is used to communicate how fast an algorithm is. This can be important when evaluating other people’s algorithms, and when evaluating your own! In this article, I’ll explain what Big O notation is and give you a list of the m…

[YTU]_2002(C语言实验——单词统计)

Description 从键盘输入一行字符&#xff0c;统计其中单词的个数&#xff0c;各单词以空格分隔&#xff0c;且空格数可以是多个。Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词的个数。 Sample Input stable marriage problem Consists of Matching memb…