赋值

i++与++i必须要区分(for循环中)的细节

妖精的绣舞 提交于 2020-03-01 05:24:19
表面区别 ++i是先加在赋值;i++是先赋值再加。这样记忆: ++在前就先加 代码中初始:i = 1 for循环中i++与++i的区别(根本区别) 在for循环中++i与i++到底有没有区别,只放在for循环里,区别不大,但是要明白他们的区别i++是先用后加,++i是先加后用,所以区别就是。。。看下面代码你就懂啦。 //模拟a=i++; temp = i ; i = i + 1 ; a = temp ; //模拟a=++i; i = i + 1 ; a = i ; i++需要多一个临时存储空间,操作上也要多一步赋值,所以效率上,++i要更快一些。 参考: https://blog.csdn.net/a845717607/article/details/81455105 来源: CSDN 作者: 九筒- 链接: https://blog.csdn.net/weixin_44343282/article/details/104577393

Java Web(三)

Deadly 提交于 2020-03-01 03:52:55
JavaScript 1、变量 1)使用var关键字声明变量 : var 变量名; (声明时不需要指定类型 必须先声明再使用) 2)五种原始类型:number String boolean null underfined,剩下的都是对象:object 3)赋值:变量名=值;(变量在使用过程中可以接受不同类型的值,也可动态改值) 4)判断一个变量的类型:typeof 5)null类型是不能用typeof判断出来的,判断出来的是object; 变量如果声明出来而没有赋值就是underfined 2、函数 1)声明函数 ①function 方法名(参数名,参数名){方法体} 方法不管在哪里声明,浏览器都会优先加载 ②将方法赋值给一个变量 var 变量名=function(){方法体} 2)调用函数 ①方法名(参数表); ②方法名=变量名: 变量名(); 在js中方法的唯一标识就是方法名,没有方法重载,调用方法的时候参数是可以选传的 3、对象 1)创建对象的方式 ①var obj= new Object(); ②var obj= {}; 2)动态向对象中添加属性: 对象.属性=”属性值” 为对象添加方法: 对象.属性=function(){}; 3)获取属性值: 对象.属性名; 对象.属性名(); 4、事件:文档或浏览器窗口中发生的一些特定的交互瞬间(用户与文档、浏览器的交互行为。比如

DAY3 数据类型与运算符

╄→гoц情女王★ 提交于 2020-02-29 22:21:47
一.注释    代码注释分单行和多行注释, 单行注释用 # ,多行注释可以用三对双引号 """ """   注释用于解释某一行代码的作用,增加代码的可读性 二.数据类型    1.整形(int)   作用:记录年龄,等级,数量等。   定义: a = 10   使用:数学运算与比较计算      如:10 > 3        10/3   2.浮点型(float)   作用:记录薪资,身高,体重   定义:a = 3.1   使用:数学计算与比较计算       如:11.2 > 5.1        5.1 - 2.3   3.字符串(str)   作用:记录事物的状态   定义:在单引号/双引号/三引号中包含一系列字符   使用:name = "my name is 'ma'"      print(name)      字符串的拼接(+)      例如:x = "name"         y = "ma"         print(x + y)结果为"namema"(字符串只能与字符串相加)   4.列表(list)   作用:按照位置记录多个同种属性的值(索引对应值,索引从0开始,代表的就是位置),并且可以取出指定位置的某一个值   定义:在[]内用逗号分隔开多个任意类型的值      0 1 2 3   例如:l =[21,31.2,"name",[1,'a',

引用

心不动则不痛 提交于 2020-02-29 16:48:06
引用 引用为对象起了另外一个名字 int ival = 1024; int &ref =ival; //ref指向ival 是ival另一个名字 int &refVal2; //引用必须被初始化 下面那个定义不合法,为什么 int ival =1.01; int &rvall = 1.01;// 错误,引用必须是对象 int &rval2 = ival; int &rval3; //引用必须初始化 考察下面的所有赋值然后回答:那些赋值是不合法的,为什么 那些赋值是合法的,它们进行了什么操作 int i=0, &ri =i; double d = 0,&r2=d; r2 = 3.14159; // d=.3.14159 r2 = ri; //d=0 i = r2; // double -> int 可能会发生精度丢失 ri =d; // double -> int 可能会发生精度丢失 来源: https://www.cnblogs.com/lIllIll/p/11538214.html

学习Java的第四周

心不动则不痛 提交于 2020-02-29 14:19:29
学习Java的第四周 修饰符 接口 内部类 Object类 修饰符 static关键字 1)静态与实例的区别: (1)实例属性是每个对象各自持有的独立空间(多份),对象单方面修改,不会影响到其他对象。 (2)静态属性是整个类共同持有的共享空间(一份),任何对象修改,都会影响其他对象。 2)静态的概念: (1)静态(static)可以修饰属性和方法。 (2)static可以修饰属性和方法,称为静态属性(类属性)、静态方法(类方法)。 (3)静态成员是全类所有对象共享的成员。 (4)在全类中只有一份,不因创建多个对象而产生多份。 (5)访问静态属性和方法时,不必创建对象,可以直接“类名.属性名/方法名”访问。 3)静态的特点: (1)静态方法允许访问静态成员。 (2)静态方法不能访问非静态成员。 (3)静态方法不允许使用this或是super关键字。 (4)静态方法可以继承,不能重写,没有多态。 类加载 1)JVM首次使用某个类时,将该类的.class文件加载到内存中,进行保存。 2)加载时机: (1)创建对象。 (2)创建子类对象。 (3)访问静态属性。 (4)调用静态方法。 (5)Class.forName(“全限定名”); 3)静态代码块: 类加载时,触发静态代码块的执行(仅一次)。 执行地位:静态属性初始化之后。 作用:可为静态属性赋值,或必要的初始行为。 4)总结: (1

16变量进阶(理解)

旧巷老猫 提交于 2020-02-29 09:58:07
01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 引用的概念 在 Python 中 变量 和 数据 是分开存储的 数据 保存在内存中的一个位置 变量 中保存着数据在内存中的地址 变量 中 记录数据的地址 ,就叫做 引用 使用 id() 函数可以查看变量中保存数据所在的 内存地址 注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是 修改了数据的引用 变量 不再 对之前的数据引用 变量 改为 对新赋值的数据引用 1.2 变量引用 的示例 在 Python 中,变量的名字类似于 便签纸 贴在 数据 上 定义一个整数变量 a ,并且赋值为 1 代码 图示 a = 1 将变量 a 赋值为 2 代码 图示 a = 2 定义一个整数变量 b ,并且将变量 a 的值赋值给 b 代码 图示 b = a 变量 b 是第 2 个贴在数字 2 上的标签 1.3 函数的参数和返回值的传递 在 Python 中,函数的 实参 / 返回值 都是是靠 引用 来传递来的 def test ( num ) : print ( "-" * 50 ) print ( "%d 在函数内的内存地址是 %x" % ( num , id ( num ) ) ) result = 100 print ( "返回值 %d

while 循环|疫情期间日更(10)

此生再无相见时 提交于 2020-02-29 02:02:36
循环的作用,就是让指定的代码重复执行。 while循环的一个常用的应用场景,就是让指定的代码按照指定的次数执行。 while语句,以及下面的缩进看成一个完整的代码。 下面做一个演练: #打印5遍hello python #1.定义一个整数变量,记录循环次数 i = 1 #2.开始循环 while i <= 5 : #1> 希望在循环内执行的代码 print ( "hello python" ) #2>处理计数器 i = i + 1 输出结果: hello python hello python hello python hello python hello python 死循环 由于程序员的原因,忘记在循环内部修改循环的判断条件,导致循环持续执行,程序无法终止。也就是说忘记修改处理计数器。解决死循环的方法就是加上处理计数器。 赋值运算符 python中使用=,可以给变量赋值。 在算数运算时,为了简化代码的编写,python还提供了一系列和算术运算符对应的赋值运算符。 注意:赋值运算符中间不能使用空格。 c-=a c=c-a c=a+b 将a+b的运算结果赋值给c c/=a c=c/a c+=a c=c+a 学习了赋值运算符,我们可以简化很多代码。以上边的打印5个Holle python 为例。 i=i+1 i+=1 python 的计数方法 自然计数法:从1开始,更符合人类的习惯

JAVA中销毁一个对象的方法

谁说胖子不能爱 提交于 2020-02-28 21:22:55
方法一:垃圾回收器 垃圾回收器是Java平台中用的最频繁的一种对象销毁方法。垃圾回收器会全程侦测Java应用程序的运行情况。当反先有些对象成为垃圾时,垃圾回收器就会销毁这些对象,并释放这些对象所占用的内存空间。在这里,程序开发人员需要知道,在哪些情况下垃圾回收器会认为这些对象是垃圾对象。通常情况下,如果发生以下两种情况时,系统会认为这些对象是垃圾对象,需要销毁。 一是将一个NULL值赋值给对象。如用户先建立了一个对象str1。对象用完了之后,再利用赋值语句,将NULL值赋值给这个对象str1,即使用 str1=NULL的方式将NULL值赋值给这个对象。此时这个对象与内存中对象的存储地址之间就失去了联系。此时内存中的对象就好像成为了一个无主的对象,就会被垃圾回收器销毁。不过这也有例外。如现在同一个对象有两个名字,分别为str1与str2。此时若只是将NULL值赋值给str1,那么内存的这个对象仍然有一个主人,即str2。此时这个对象还暂时不会被垃圾回收器回收。除非在代码中讲这个对象所关联的所有对象名字都赋值为NULL。此时这个对象才变为无主的对象,才会被垃圾回收器回收。在Java中定义自己的工具库 二是对象其超出了作用范围,这个这个对象就被认为是垃圾对象,被被垃圾回收器回收并释放内存。其实对象跟变量一样,其也有作用域。当超过这个作用域的话,跟变量一样,这个对象也就无效了

kotlin_委托

强颜欢笑 提交于 2020-02-28 18:44:18
kotlin 文章目录 kotlin 1 类委托 2 委托加强 3 属性委 4 标准委托 4.1 惰性加载:bylazy 4.2 延迟加载:lateinit 5 可观察属性 Observable 6 把属性储存在映射中 委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。 Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。 1 类委托 类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来实现的。 以下实例中派生类 Derived 继承了接口 Base 所有方法,并且委托一个传入的 Base 类的对象来执行这些方法。 fun main(args: Array<String>) { val small = SmallHeadFather() small.wash() } interface Water{ fun wash() } class BigHeadSon:Water{ override fun wash() { println("大头儿子") } } class SmallHeadFather:Water by BigHeadSon() 结果 大头儿子 通过by将小头爸爸的工作给了大头儿子,然后委托大头儿子进行洗的操作。 第二种方法的类委托:更方便和可扩展

Python的程序控制

南楼画角 提交于 2020-02-28 14:52:03
基本结构与顺序结构 Python是一种动态类型的语言,不需要预先声明变量的数据类型,变量的类型和初值在赋值的时被初始化。 基本语句 赋值语句 使用赋值符号(=)将右边的值(表达式)赋给左边变量的语句称为赋值语句。例: >> > name = "Jack" # 为 name 赋值一个字符串 >> > age = "19" # 为 age 赋值一个整数 >> > score = 83.9 # 为 score 赋值一个浮点数 >> > value = 2 + 4j # 为 value 赋值一个复数 复合赋值语句 是用复合运算符(包括算术运算符和位复合运算符)的赋值语句,包括序列赋值、多目标赋值和复合赋值。 序列赋值: >> > x , y = 1 , 1.5 >> > print ( x , y ) 1 1.5 序列赋值可以为多个变量分别赋予不同的值,变量之间用英文逗号隔开。实际上是利用元组和序列解包实现的。 >> > first , second , third , fourth , fifth = "hello" >> > print ( first , second , third , fourth , fifth ) h e l l o Python还可以通过序列赋值实现两个变量之间的值的交换。如: >> > math , english = 80 , 75 >> > math