首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Java】循环语句for、while、do-while

循环语句 1.1 循环概述 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环 体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false...,从而结束循 环,否则循环将一直执行下去,形成死循环。...①负责完成循环变量初始化。 ②负责判断是否满足循环条件,不满足则跳出循环。 ③具体执行的语句。 ④循环后,循环变量的变化情况。...③具体执行的语句 ④循环后,循环变量的变化情况 输出10次HelloWorld do...while 循环的特点:无条件执行一次循环体,即使我们将循环条件直接写成 false ,也依然会循...扩展知识点 2.1 死循环 死循环: 也就是循环中的条件永远为 true ,死循环的是永不结束的循环。例如: while(true){} 。

6.8K10

Java代码评审歪诗!让你写出更加优秀的代码!

贾言 代码评审歪诗 窗外风雪再大 也有我陪伴着你 全文字数:2000字 阅读时间:5分钟 贾言 代码评审歪诗 验幻空越重 命循频异长 依轮线日简 接偶正分壮 架构师说, 用20个字描述代码评审的内容...为空时会抛出空指针异常; 不确认返回集合是否可为空时要做非空判断, 再做for循环; 使用空对象模式,约定返回空集合,而非null; 使用StringUtils判断字符串非空; 越-月 如果方法传入数组下标作为参数,要在一开始就做下标越界的校验...命-明 包/类/方法/字段/变量/常量的命名要遵循规范,要名副其实,这不但可以增加可读性,还可以在起名的过程中引导我们思考方法/变量/类的职责是否合适 有意义很重要, 典型无意义命名: ?...循-勋 不要在循环中调用服务,不要在循环中做数据库等跨网络操作; 频-品 写每一个方法时都要知道这个方法的调用频率,一天多少,一分多少,一秒多少,峰值可能达到多少,调用频率高的一定要考虑性能指标,考虑是否会打垮数据库...使用Service成员变量: ?

5.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    京东资深架构师代码评审歪诗

    贾言验幻空越重, 命循频异长。 依轮线日简, 接偶正分壮。言欢空月虫, 明勋品宜昌。 依伦先日贱, 洁偶正粉妆。 贾言 架构师说, 用20个字描述代码评审的内容, 自省也省人。...为空时会抛出空指针异常 不确认返回集合是否可为空时要做非空判断, 再做for循环 使用空对象模式, 约定返回空集合, 而非null 使用StringUtils判断字符串非空 越: 如果方法传入数组下标作为参数,要在一开始就做下标越界的校验...,避免下标越界异常 重: 不要写重复代码,重复代码要使用重构工具提取重构 命循频异长 - 明勋品宜昌 命: 包 / 类 / 方法 / 字段 / 变量 / 常量的命名要遵循规范,要名副其实,...这不但可以增加可读性,还可以在起名的过程中引导我们思考方法 / 变量 / 类的职责是否合适 有意义很重要, 典型无意义命名: public static final Integer CODE_39120...循: 不要在循环中调用服务,不要在循环中做数据库等跨网络操作 频: 写每一个方法时都要知道这个方法的调用频率,一天多少,一分多少,一秒多少,峰值可能达到多少,调用频率高的一定要考虑性能指标,

    4.7K30

    Python数据容器:集合

    定义字面量:{元素1,元素2,元素3,元素4,...}定义变量:变量名称 = {元素1,元素2,元素3,元素4,…}定义空元组:变量名称 =set()②特点:可容纳多个数据可容纳不同类型的数据(混装)可修改...(增加或删除元素等)数据是无序存储的(不支持下标索引)不允许重复数据存在支持for循坏,不支持while循坏# 定义集合my_set={"A","B","C","B","A"}# 定义一个空集合my_set_empty...for循坏遍历:# 集合的遍历# 集合不支持下标索引,所以不能用while循坏,可用for循坏set1={1,2,3}for element in set1: print(f"集合的元素有{element...新闻', '传播', '新闻', '传播', 'Hi', 'Python', 'Hi', 'Python', 'best',请按如下要求操作:1.定义一个空集合2.通过for循环遍历列表3.在for循环中将列表的元素添加至集合...循坏得到的集合为{'Hi', '传播', '新闻', 'Python', 'best'}

    9331

    【C语言基础篇】结构控制(下)转向语句break、continue、goto、return

    不过要注意,break只能跳出一层循环,如果要跳出多层循环,需要在对应的每层循环中使用break语句。...只在最后一个入口的后面跟随break语句 二、continue语句 continue的作用时在循环结构中,根据某个判断条件结束本次循环,即循环体中continue语句后边的部分不再执行,直接进入下一次循...(因为for循环的循环变量调整部分是单独拿出来的,所以没有像while循环中使用continue一样进入死循环) 打印结果为1 2 3 4 6 7 8 9 10 3. continue在 do...while...但continue在三种循环中的使用效果有所不同: 在while循环和do...while循环中,如果continue刚好跳过了循环变量调整部分,将会导致死循环 而在for循环中,由于循环变量调整部分是单独拿出来的...不过要注意,continue用于while循环和do...while循环中,可能会跳过循环变量调整部分,导致死循环。

    13110

    App性能优化浅谈

    永久代:存放VM和Java类的元数据,以及interned字符串和类的静态变量。 这里涉及到JVM的相关知识,这里不继续深入探讨。...Display List的时间 -红色代表OpenGL渲染Display List所需要的时间 -黄色代表CPU等待GPU处理的时间 -中间绿色横线代表VSYNC时间16ms,尽量将所有条形图控制在这条绿线下 为什么是...Android 通知界面渲染和重绘的时间要在16ms内完成,如果超过16ms,就会导致丢帧,也就是我们常说的卡顿。...将类、变量、方法等等的可见性修改为最小。 针对字符串的拼接,使用StringBuffer替代String。 不要在循环当中声明临时变量,不要在循环中捕获异常。...最后 写这篇文章的出发点也是对Android性能优化有个比较清楚的认识,任何事情都不可能一蹴而就,需要循循渐进,对一个初学者你谈优化很不现实,我们先把基本的做好,再去考虑相应的优化,笔者也在不断学习当中

    2.2K30

    编码规范

    1) 变量采用小驼峰命名,如:tvName(TextView对象) 2) 类中控件名和布局ID一样,如:类中tvName 对应 布局中 R.id.tvName 3) 全局常量 名称全大写,用“_”分隔...Dialog布局文件 dialog开头 dialog_confirm ListView item布局文件 lvitem开头 lvitem_rechange 7.资源ID命名 1) 控件 控件 缩写 TextView...)循环中的变量:缩写字母,无意义的字母命名格式化严格换行:一个分号一换行;建议一个大括号一行(不要跟在末尾);严格缩进:使用Tab缩进,注释缩进和代码缩进对齐严格注释:文件、类、方法、方法参数、有含义的变量...:1、将所有的框架定义的命名空间为一组,自定义的和第三方的命名空间放在另一组;2、类成员变量的声明位置:所有的成员变量都应该声明在顶部,同时使用一个空行来将它们和属性以及方法分开;3、局部变量声明位置:...,使用属性代替它们;(get、set)10、不要在系统自动生成的函数直接写业务代码,,最好自定义函数,然后调用;11、总是使用接口,推荐使用显式接口实现;12、在switch语句中总是要有default

    1.2K80

    关于“Python”的核心知识点整理大全6

    中的第一个值('alice'),并将其存储到变量magician 中。...4.1.2 在 for 循环中执行更多的操作 在for循环中,可对每个元素执行任何操作。下面来扩展前面的示例,对于每位魔术师,都 打印一条消息,指出他的表演太精彩了。...想要在打印给各位魔术师的消息后面打印一条给全体 魔术师的致谢消息,需要将相应的代码放在for循环后面,且不缩进: magicians = ['alice', 'david', 'carolina'] for...例如,你可能使用for循 环来初始化游戏——遍历角色列表,将每个角色都显示到屏幕上;再在循环后面添加一个不缩进 的代码块,在屏幕上绘制所有角色后显示一个Play Now按钮。...在前面编写的程序中,只有要在for循环 中对每个元素执行的代码需要缩进。 4.2.4 循环后不必要的缩进 如果你不小心缩进了应在循环结束后执行的代码,这些代码将针对每个列表元素重复执行。

    11410

    JAVA语言程序设计(一)04747

    如果是整数,默认为int类型,需要在后面加上一个后缀L。...变量 程序运行期间内容可以发生改变的量 首先需要创建一个变量并且使用的格式 数据类型、变量名称 变量名称 = 数据值; 将右边的数据值,赋值交给左边的变量 变量的基本使用 int public class...多个变量之间的名称不可以重复 对于float和long类型来说,字母后缀F和L不要丢掉 byte或者short右侧的数据值一定要在左侧的范围 没有进行赋值的变量是不能直接使用的 变量的使用不能超过作用域的范围...,一般可以分成四部分 初始化语句:在循坏开始最初执行,而且只做唯一一次 条件判断:如果成立,则循坏继续,不成立循坏退出 循坏体:重复做的事情内容,若干行语句 步进语句:每次循坏之后要进行的扫尾工作,每次循坏结束都要这样...for循坏 while循坏 标准格式 while(条件判断){ 循坏体 } 先执行初始表达式,看布尔表达式,满足就执行循坏体跟步进表达式 do while 初始化语句

    5.1K20

    用 Kotlin 写 Android ,难道只有环境搭建这么简单?

    minSdkVersion 当然除了这些之外,anko 还对 cardview、recyclerview等等做了支持,大家可以按需添加,详细可以参考 Github - Anko 另外,也建议大家用变量的形式定义...= myFind(R.id.hello) 不过呢,这地方用 inline 就省了一次函数调用,并且 reified 也可以消除 IDE 的类型检查提示,所以既然可以,为什么不呢?...为什么可以这样做呢?...的层面索引到 hello 这个 View,需要 Kotlin 的 IDE 插件的支持(别问我啥是 IDE 插件,你们用 Kotlin 的第一天肯定都装过);其次,在编译的时候,编译器能够找到 hello 这个变量...我们讨论的源码主要在 plugins 目录下的 android-extensions-compiler 和 android-extensions-idea 两个模块当中。

    8.1K00

    使用APICloud开发app的性能提升实践

    *本文由APICloud开发者沐瑶派投稿 一、为什么说这个问题?首先我是一名前端开发者,使用过的开发方式有,APICloud、原生开发、自己混合打包开发。...--姓名 --> TextView android:layout_width="130dp" android:layout_height="wrap_content...-- 年龄--> TextView android:layout_width="150dp" android:layout_height="wrap_content...cdshi 三、app的过程中发现的一些提升app性能的开发技巧 减少页面外链脚本文件的数量将会提高页面性能 使用无阻塞加载类库 HTML集合优化(集合转数组,缓存集合length,访问集合元素时使用局部变量...(即将重复的集合访问缓存到局部变量中,用局部变量来操作)) 算法和流程控制(循环中减少属性查找并反转,使用Duff装置来优化循环,基于函数的迭代,通常情况下switch总比if-else快,但是不是最佳方案

    1.2K61

    FreeRTOS 任务调度 系统节拍

    涉及任务时间片轮循, 任务阻塞超时, 以及结束以此实现的延时函数。...由于函数是中断中调用,不要在里面处理太复杂的事情!! 节拍计数器溢出 涉及的变量, 定义在 task.c开头。...pxDelayedTaskList 指向 xDelayedTaskList1, pxOverflowDelayedTaskList 指向 pxOverflowDelayedTaskList,一开始我还在郁闷延时链表为什么要两个...任务时间片轮循 处理完延时任务后, 开始判断当前运行任务, 对应优先级链表中是否有其他任务就绪, 如果有,需要保证每个任务都能获得运行时间, 标记需要任务切换, 作为函数返回。...任务切换 #if ( configUSE_PREEMPTION == 1 ) // 允许抢占 { // 其他地方标记需要执行一次任务切换 // 所以不管前面需不需要

    1.9K40

    kotlin-android-extensions插件也被废弃了?扶我起来

    那么,如果我想要在MainActivity中去设置TextView控件的内容,使用Java语言的话通常需要这样写: public class MainActivity extends AppCompatActivity...为什么会被废弃 在开始介绍ViewBinding之前,我还是想先讨论一下,为什么kotlin-android-extensions插件会被废弃。...当然,如果你需要在onCreate()函数之外的地方对控件进行操作,那么就得将binding变量声明成全局变量,写法如下: class MainActivity : AppCompatActivity(...我在很早之前面试的时候被问到过,为什么我们要在ListView的Adapter当中去写ViewHolder(那个时候还没有RecyclerView)。...然而有些读者朋友跟我反馈,说这种写法还要在ViewHolder当中声明控件变量,还要编写findViewById(),实在是太复杂了。

    3.8K31

    编写高效的Android代码

    这就是为什么在编写Android程序时要时刻考虑执行的效率,这些系统不是想象中的那么快,并且你还要考虑它电池的续航能力。...这就是为什么上面两条原则这么重要。Android的成功在于开发程序提供给用户的体验,然而用户体验的好坏又决定于你的代码是否能及时的响应而不 至于慢的让人崩溃。...因为这些方法使用C/C++来实现的,要比在一个java循环中做同样的事情快10-100倍。...这在C++编程里面是一个很好的习惯,因为编译器会把访问方式设置为Inline,并且如果想约束或调试属性访问,你只需要在任何时候添加一些代码。 在Android编程中,这不是一个很不好的主意。...第一次使用时,类的初始化要在独享上面调用方法去描述列举的每一项,每一个对象都要有它自身的静态空间,整个被储存在一个数组里面(一个叫做“$VALUE”的静态数组)。

    61330

    android学习笔记----关于findViewById那些事

    为什么要传入一个资源 id? 为什么会有另外一个括号强制转换呢?...对象,我们只是在视图树中找到了现有的 TextView,为了与这个视图树中的 View 进行交互,我们应该创建变量,用来引用这些具体的 View,例如,我们可以创建一个 quantity TextView...变量,它指向这个 TextView,如果你点击 UI 中的加、减按钮,你就可以改变 TextView 的文本使它显示不同的数字,又如何把 quantity引用变量与这个 TextView 联系起来呢?...但是我们还是不知道如何建立变量和具体的 Java 对象之间的联系,对于这个变量和 Java 对象 情况也是如此,在AppCompatActivity 类中,有一个具体的方法就是调用 findViewById...如果我们这么写 View textView = findViewById(R.id.textview); textView.setText("设置文本"); 结果显示不能解析 setText 方法,这是为什么呢

    36910

    鸿蒙开发:校验构造传参装饰器@Require

    核心特性@Require装饰器仅用于装饰struct内的@Prop、@State、@Provide、@BuilderParam和无状态装饰器修饰的变量,其核心特点有:1、声明式校验:通过装饰器语法声明参数的校验规则...({ content: "Hello HarmonyOS" }) // 非法传参(编译时报错) // TextView() // 缺少content参数 // TextView...} }注意事项注意事项还是上述所说的一点,那就是,@Require装饰器仅用于装饰struct内的@Prop、@State、@Provide、@BuilderParam和无状态装饰器修饰的变量...当然,也有自己的局限性,那就是无法覆盖所有运行时场景,需结合其他校验手段。...相关总结@Require装饰器以声明式语法将参数校验前置到编译阶段,显著降低因参数错误导致的运行时报错风险;然而,对于复杂的业务规则,比如联合使用类型或自定义校验函数等场景,以及需在生命周期函数中补充校验逻辑时

    8400
    领券