for循环

java流程控制

杀马特。学长 韩版系。学妹 提交于 2020-03-15 23:19:09
java流程控制 用户交互Scanner Java提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是Java5的新特征,我们可以 通过Scanner类来获取用户的输入。 基本语法: Scanner S = new Scanner(System. in); 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。 next(): 1、一定要读取到有效字符后才可以结束输入。 2、对输入有效字符之前遇到的空白值(空格),next() 方法会自动将其去掉。 3、只有输入有效字符后才将其后面输入的空白值(空格)作为分隔符或者结束符。 4、 next() 不能得到带有空格的字符串。 public class Test { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner s = new Scanner(System.in); System.out.println("使用next方式接收-请输入: "); if (s.hasNext()) { //判断用户有没有输入数据 //使用next方式接收 String str = s.next();/

Java语言基础02

早过忘川 提交于 2020-03-15 12:36:56
语言基础·二级 顺序结构语句 * A:什么是流程控制语句 * 流程控制语句:可以控制程序的执行流程。 * B:流程控制语句的分类 * 顺序结构 * 选择结构 * 循环结构 * C:执行流程: * 从上往下,依次执行。 * D:案例演示 * 输出几句话看效果即可 选择结构if语句格式 * A:选择结构的分类 * if语句 * switch语句 * B:if语句有几种格式 * 格式1 * 格式2 * 格式3 * C:if语句的格式1 * if(比较表达式) { 语句体; } * D:执行流程: * 先计算比较表达式的值,看其返回值是true还是false。 * 如果是true,就执行语句体; * 如果是false,就不执行语句体; * A:if语句的格式2 * if(比较表达式) { 语句体1; }else { 语句体2; } * B:执行流程: * 首先计算比较表达式的值,看其返回值是true还是false。 * 如果是true,就执行语句体1; * 如果是false,就执行语句体2; * C:案例演示 * a:获取两个数据中较大的值 * b:判断一个数据是奇数还是偶数,并输出是奇数还是偶数 * 注意事项:else后面是没有比较表达式的,只有if后面有。 * A:if语句的格式3: * if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else

[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

旧街凉风 提交于 2020-03-15 08:33:08
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些 , 本节参考了网上朋友所写的例子,为的是让更多小伙伴学习,提高,加薪,如有版权问题,请邮件我,我第一时间处理。 语句:是程序中的小指令,本节主要以流程控制语句为主要内容。 流程控制语句中最常用的三个是 选择语句(即条件语句)、循环语句和异常处理语句 流程控制语句分类: 类别       关键字                       选择语句       if 、 else 、 switch 、 case 循环语句       do 、 for 、 foreach 、 in 、 while 跳转语句       break 、 continue 、 default 、 goto 、 return 异常处理语句     throw 、 try-catch 、 try-finally 检查和未检查语句   checked 、 unchecked 非保护和固定语句   unsafe 、 fixed 锁定语句       lock 1. 条件语句 1.1 if - else if (expression){}else{}, 其中 expression 是一个布尔类型, true 则执行第一区块, false 则执行 else 部分

数据结构与算法之比较排序算法总结

喜欢而已 提交于 2020-03-13 14:53:32
介绍: 比较算法大致可以分为两种,一种为比较算法,另一种为非比较算法。 比较算法有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序,希尔排序。 非比较算法有:计数排序,基数排序,桶排序。 https://gitee.com/linqiankun/Utils/tree/v3.0/ 时间复杂度: 排序方法 最好情况 平均情况 最差情况 辅助空间 稳定性 冒泡排序 n n^2 n^2 1 yes 选择排序 n^2 n^2 n^2 1 no 插入排序 n n^2 n^2 1 yes 归并排序 nlogn nlogn nlogn n yes 堆排序 nlogn nlogn nlogn 1 no 快速排序 nlogn nlogn n^2 1 no 希尔排序 n^1.3 nlogn~n^2 n^2 logn~n no 比较算法: 冒泡排序 普通冒泡排序 冒泡排序是一种极为简单的排序算法。通过循环反复的遍历数组中的元素,依次比较相邻的两个元素。如果不满足排序规则,就进行位置交换,直到没有元素需要交换位置,排序完成。 这个算法会慢慢的使元素按照需要的顺序浮出来。 时间复杂度为:O(n)~O(n^2)~O(n^2) 冒泡排序运行顺序: 比较相邻元素,按照排序规则进行位置交换。 对每一对相邻元素进行第一步的操作,操作完之后,队伍最后会是满足条件的数。循环体的内层循环走完一圈。

转:经典ACM算法

孤街醉人 提交于 2020-03-13 07:16:46
实验一 统计数字问题 实验二 最大间隙问题 实验三 众数问题 实验四 半数集问题 实验五 集合划分问题 实验六 最少硬币问题 实验七 编辑距离问题 实验八 程序存储问题 实验九 最优服务次序问题 实验十 汽车加油问题 实验十一 工作分配问题 实验十二 0-1背包问题 实验十三 最小重量机器设计问题 实验十四 最小权顶点覆盖问题 实验十五 集合相等问题 实验十六 战车问题 实验一 统计数字问题 1、问题描述: 一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1, 2,…,9。 2、题目分析: 考虑由0,1,2,…,9组成的所有n位数。从n个0到n个9共有个n位数,在这些n位数中,0,1,2,…,9每个数字使用次数相同,设为。 满足如下递归式: 由此可知,。 据此,可从低位向高位进行统计,再减去多余的0的个数即可。 3、算法设计: 定义数组a[10]存放0到9这10个数出现的次数,个位为第0位,第j位的数字为r。采用while循环从低位向高位统计: a. 统计从个位算起前j位0~9个数; b. 如果j+1位为0,去掉第j+1位补0个数; c. 统计第j+1位出现1~(r-1)个数; d.

Scala 的 yield 例子 (for 循环和 yield 的例子)

泄露秘密 提交于 2020-03-12 21:32:09
我看了《Programming in Scala》一书,仍然对 Scala yield 关键字的理解不甚清楚。起初我以为 Scala yield 的与 Ruby 的 yield 是一样,Ruby 中 yield 是被传入代码块的占位符。Scala 中的 yield 关键字好像总是在 for 循环中用的. 下面一些例子可以帮助你更好的理解 yield 关键字。下面是摘自 《Programming in Scala》关于 yield 的解释: For each iteration of your for loop, yield generates a value which will be remembered. It's like the for loop has a buffer you can't see, and for each iteration of your for loop, another item is added to that buffer. When your for loop finishes running, it will return this collection of all the yielded values. The type of the collection that is returned is the same type that

Scala 的 yield 例子 (for 循环和 yield 的例子)

青春壹個敷衍的年華 提交于 2020-03-12 21:31:53
我看了《Programming in Scala》一书,仍然对 Scala yield 关键字的理解不甚清楚。起初我以为 Scala yield 的与 Ruby 的 yield 是一样,Ruby 中 yield 是被传入代码块的占位符。Scala 中的 yield 关键字好像总是在 for 循环中用的. 下面一些例子可以帮助你更好的理解 yield 关键字。下面是摘自 《Programming in Scala》关于 yield 的解释: For each iteration of your for loop, yield generates a value which will be remembered. It's like the for loop has a buffer you can't see, and for each iteration of your for loop, another item is added to that buffer. When your for loop finishes running, it will return this collection of all the yielded values. The type of the collection that is returned is the same type that

Java基础教程(9)--流程控制

柔情痞子 提交于 2020-03-12 07:01:39
一.分支结构 1.if语句   if语句会与其后的第一条语句或代码块结合,且只有当判断条件为true时才执行语句或代码块。例如,自行车只有在运动的时候才可以减速,就像下面这样: void applyBrakes() { if (isMoving){ currentSpeed--; } }   如果判断条件为false,也就是自行车处于静止状态时,将会跳过if语句后面的语句或代码块。   如果if语句后只有一条需要执行的语句,既可以使用大括号,也可以不使用。不过按照惯例来说,任何时候都应该使用大括号,这样可以避免有时因为忘记大括号而带来的一些逻辑错误。for、while语句也是同理。 2.if-else语句   if语句只是指出了当判断条件为true时需要执行的语句。使用if-else语句可以同时指定当判断条件为true和false时应该执行的语句。当自行车没有处于运动状态时,可以简单地输出一条信息: void applyBrakes() { if (isMoving){ currentSpeed--; } else { System.out.println("The bicycle has already stopped!"); } }   下面的程序根据分数来给出对应的等级: class IfElseDemo { public static void main(String[]

微信小程序:wx:for循环输出的使用方法以及简单例子

[亡魂溺海] 提交于 2020-03-11 17:13:38
条件渲染 wx:if 在框架中使用wx:if ="{{xxx}}"来判断是否需要渲染该段代码,如果xxx值为假(false、underdined、0或者NAN),则不会渲染。 列表渲染 wx:for 在框架中使用wx:for来控制属性绑定到一个数组,循环该数组来循环渲染该组件。 语法: wx:for={{xxx}} 书写位置:某一个组件的属性部分 此时可以在该指令所在的组件上 通过: {{index}}:数组下标 {{item}}:数组当前项 这两种方式来分别插入索引和值 demo: <text wx:key="{{this}}" wx:for="{{arr}}">{{index}}{{item}}</text> arr: data: { arr: ["a", "b", "c"] }, 渲染结果: 0a1b2c 循环指令的子指令 单层循环没有任何问题,多层循环将会出现问题: 内层循环中{{index}} {{item}} 外层循环中{{index}} {{item}} 如果想要在内层循环中使用外层循环的某一个值或者下标,默认情况下覆盖 用不到外面的 wx:for-index="xxx" 自定义索引 wx:for-item="xxx" 自定义成员 demo: 99乘法表 < view wx:key="{{this}}" wx:for="{{9}}" wx:for-index="key

js for循环和forEach()

南笙酒味 提交于 2020-03-11 13:22:27
var arr = [ 'alon' , 'lili' , 'lisa' , 'jenny' , 'jiso' ] ; 1. for…of 循环的是value for ( var item of arr ) { console . log ( 'yi' , item ) ; } // 返回的是: 'alon','lili','lisa','jenny','jiso' 2. for…in 循环的是下标 for ( var index in arr ) { console . log ( 'er' , index ) ; } // 返回的是:0,1,2,3,4 3. forEach() forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。 注意: forEach() 对于空数组是不会执行回调函数的。 语法: array.forEach(function(currentValue, index, arr), thisValue) currentValue: 必需。当前元素 index: 可选。当前元素的索引值。 arr: 可选。当前元素所属的数组对象。 thisValue: 可选。传递给函数的值一般用 “this” 值。如果这个参数为空, 则返回"undefined"。 来源: CSDN 作者: nnaay_ 链接: https://blog.csdn.net