赋值

常用类

拟墨画扇 提交于 2020-02-25 12:47:56
String类 String 概述 String 声明为 final 的,不可被继承 String 实现了 Serialzable 接口,表示字符串是支持序列化的;实现了 Comparable 接口,表示 String 可以比较大小 String 内部定义了 final char[] value 用于存储字符串数据 通过字面量的方式给一个字符串赋值,此时的字符串值声明在字符串常量池中 字符串常量池中是不会存储相同内容的字符串的 String 的不可变性 6. 当字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的 value 进行赋值 7. 当对现有的字符串进行连接操作时候,也需要重新指定内存区域赋值,不能使用原有的 value 进行赋值 8. 当调用 String 的 replace() 方法修改指定字符或字符串时,也需要重新指定内存区域赋值,不饿能使用原有的 value 进行赋值 String 实例化的不同方式 9. 通过字面量定义的方式 10. 通过 new + 构造器 的方式 //通过字面量定义的方式: //此时的s1和s2的数据javaEE声明在方法区中的字符串常量池中。 String s1 = "javaEE" ; String s2 = "javaEE" ; //通过new + 构造器的方式: //此时的s3和s4保存的地址值

值类型和引用类型

谁说胖子不能爱 提交于 2020-02-24 22:49:26
值类型和引用类型的区别 1. 值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的 地址。 2.将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身。 3. 值类型存取速度较快,引用类型存取速度较慢。 4. 值类型从System.ValueType类派生,引用类型从System.Object派生,其中,System.ValueType又是从System.Object 派生出来的,枚举从System.Enum抽象类派生,而System.Enum抽象类从System.ValueType派生出来的,所以枚举也是一个 值类型。 5.值类型不可能包含 null 值: 6.每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。 栈和堆的区别 栈就是编译期间就分配好的内存空间,堆是程序运行期间动态分配的内存空间 .net中哪些是值类类型,哪些是引用类型? 以结构体和类说明值类型和引用类型的区别 结构体--值类型,类--引用类型 区别:类当中默认的有一个无参数的构造方法(构造函数),当在类中写一个有参数的构造函数,默认无参数的构造函数被干掉了 类当中写构造函数参数列表中参数个数可以不确定,除了无参的构造函数之外,有参的构造函数也可以有多个重载 在结构中默认的也有一个无参数的构造函数

day08

亡梦爱人 提交于 2020-02-24 21:39:53
封装 当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要到 属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值 加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。 同时,我们需要避免用户再使用"对象.属性"的方式对属性进行赋值。则需要将属性声明为私有的(private)–>此时,针对于属性就体现了封装性。 我们程序设计追求“高内聚,低耦合”。 高内聚 :类的内部数据操作细节自己完成,不允许外部干涉; 低耦合 :仅对外暴露少量的方法用于使用。 隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。 举一个例子:我们去写一个Person类,包含了name和age属性 public class PersonTest { public static void main ( String [ ] args ) { Person p = new Person ( ) ; p . name = "张三" ; } } class Person { String name ; int age ; } 现在我们对其封装 public class

C++类的六个特殊成员函数

有些话、适合烂在心里 提交于 2020-02-24 21:07:36
1.设置六个函数的参数,先让函数运行起来 // // Created by liuhao on 20-1-1. // //================================================================================= #include <iostream> //using namespace std; class Stu { private: std::string name = "无名氏 "; int age = 0; int *d = nullptr; public: Stu() { std::cout << name << age << " 执行了无参构造函数!" << std::endl; }; Stu(int a) { std::cout << name << age << " 执行了有参构造函数!" << std::endl; }; Stu(const Stu &s) { std::cout << name << age << " 执行了拷贝构造函数!" << std::endl; }; Stu &operator=(const Stu &s) { std::cout << name << age << " 执行了拷贝赋值运算符函数!" << std::endl; }; Stu(Stu &&s) {

java基础(数组)

旧街凉风 提交于 2020-02-24 16:52:37
数组 文章目录 数组 1.创建数组 2.数组的特点 3.Arrays常用方法 tostring() sort() copyOf() 1.创建数组 我们都知道基本变量只能存储一个值,那要存很多值呢?java中有很多种方式,数组便是其中之一。 首先数组的创建方式有三种: 第一种方式 属于动态创建,声明并创建内存空间,等待赋值。 第二种方式属于静态创建,声明并创建内存空间,并赋值。 第三种方式也是静态创建,声明并直接赋值,创建内存空间。 下图是动态数组的创建过程 **注意:**数组的下标是从0开始,例如: int[] arr = new int[5];是从arr[0]到arr[4] 2.数组的特点 数组一旦创建,长度不可变 数组元素都为同一类型,可以理解为存储一组数据的容器 数组可以通过下标按顺序访问,下标从0开始,最大下标 a.length - 1 允许0长度的数组 String[] s = new String[0]; 内存空间连续分配,顺序遍历性能高,但新增、删除数据繁琐,性能低 3.Arrays常用方法 tostring() Arrays.toString(arr) #打印数组的内容,观察数组元素的值 public class Test_Array { public static void main(String[] args) { int[] arr = {3,6,2,8,9}

数组与数组能否直接赋值

感情迁移 提交于 2020-02-24 14:43:43
数组之间是不可以直接赋值的,要直接赋值的话,也只能是利用循环,一个一个的赋值 ,不过你所要实现的可以通过其他方法来实现,比如取地址运算,把数组a的首地址赋给B数组,不过这要通过指针来实现,还有一种简单点的方法就是拷贝运算,你可以利用c语言库里面已经定义好的函数直接实现你所要实现的功能,实现方法如下: #include < string.h > #include < stdio.h > void main() { char a[100]={"asdsadsa"},b[100]; strcpy(b,a); printf("%s\n",b); } 来源: https://www.cnblogs.com/-lyric/p/5096034.html

html标签的赋值与取值

不羁岁月 提交于 2020-02-24 09:53:35
现在有一个Add.ascx 和一个Add.aspx页面,Add.ascx中有一个html标签,如果标签有默认值的话在Add.ascx.cs的Page_Load中有Request.Form["标签ID"]就可以取到。 下面说赋值,因为我的标签是有默认值的,所以也就不能用<%=%>了,于是我就在页面上加了个服务器隐藏控件,先在后台把数据赋给隐藏控件,再在页面写个JS脚本,隐藏控件我也写了默认值的想用它的ValueChanged事件貌似是hidden标签没这个事件所以它不起作用,只好写在了Add.aspx页面的body的onload事件里面了。 来源: https://www.cnblogs.com/tony312ws/archive/2011/08/17/2142994.html

结构体与对象的联系与区别

别来无恙 提交于 2020-02-24 07:09:21
结构体与对象的联系与区别 1.结构体是一种值类型,而类是引用类型。值类型用于存储数据的值,引用类型用于存储对实际数据的引用。 那么结构体就是当成值来使用的,类则通过引用来对实际数据操作。 2.结构使用栈存储(Stack Allocation),而类使用堆存储(Heap Allocation) 栈的空间相对较小.但是存储在栈中的数据访问效率相对较高. 堆的空间相对较大.但是存储在堆中的数据的访问效率相对较低. 3.类是反映现实事物的一种抽象,而结构体的作用只是一种包含了具体不同类别数据的一种包装,结构体不具备类的继承多态特性 4.结构体赋值是 直接赋值的值. 而对象的指针 赋值的是对象的地址 如何选择结构还是类 1. 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些 2. 结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。 3. 在表现抽象和多级别的对象层次时,类是最好的选择 4. 大多数情况下该类型只是一些数据时,结构时最佳的选择 --------------------- 作者:转角遇到bug 来源:CSDN 原文:https://blog.csdn.net/qq_40280582/article/details/80739873 版权声明:本文为博主原创文章

js对象

十年热恋 提交于 2020-02-24 04:14:16
对象 定义 无序的键值对的集合 创建对象的两种方式 字面量: var student = {};建了一个空对象 内置构造函数 var student = new Object(); 对象的赋值和取值 取值 对象名.属性名 ------如果存在,返回响应值;如果不存在,undefined 对象名.方法名------直接获取,返回函数体,对象名.方法名(),即调用这个方法 赋值(类似数组) 对象名.属性名-----存在,直接覆盖,不存在,新建属性,在赋值 操作对象的两种语法 点语法 对象名.属性名: 简单方便,不支持变量 中括号语法: 对象名[‘属性名’] 灵活,支持字符串和变量 对象名[变量名] :通过变量值找到属性名,然后再去对象里面查找对应的值 对象的遍历 for(var k in obj){……} k键(属性名) obj[k] 值(属性值) 批量创建对象 工厂函数 本质就是一个函数,将创建对象的代码进行封装成函数 特点:创建出来的类型都时Object类型 function createObject()({ var obj = {……}; return onj; } 注意点:1.返回值—调用时通过传过来的实参对对象进行具体的赋值 对象的方法中,this指的是当前的对象 自定义构造函数 特征:需要结合new使用,创建出来的对象有自己的类型 构造函数中new的作用 建立一个新对象

part3-1 Python列表和元组(列表和元组常用方法使用,序列封包和解包)

萝らか妹 提交于 2020-02-23 07:51:49
Python中内置的三种常用数据结构:列表(list)、元组(tuple)和字典(dict)。这三种数据结构可用于保存多个数据项,可以保存大量数据。列表和元组是按顺序存放元素,每个元素有自己的索引,可通过索引访问元素,两者的区别在于,元组是不可修改的,列表可以修改。字典以 key-value(键值对)形式保存数据。这三种数据结构是编程中必不可少的内容。一、序列介绍序列是指一种包含多项数据的数据结构,序列包含的多个数据项(也叫成员)按顺序排列,可通过索引来访问成员。常见的序列类型有:字符串、列表、元组。字符串和元组序列类型是不可变的,一旦创建就不能修改其所包含的成员。列表是可变序列,程序可以修改列表序列中的元素。在实际运用时,如果保存固定个数的数据项,而不需要修改时,就应该使用元组。列表创建:使用方括号,元素之间用英文逗号分隔。也可将可迭代对象传递给内置函数list()来创建。元组创建:使用圆括号,元素之间用英文逗号分隔。也可将可迭代对象传递给内置函数tuple()来创建。二、 列表和元组的通用方法只要不涉及到改变元素的操作,列表和元组的用法是通用的。1、 通过索引使用元素列表和元组的索引都是从0开始,第1个元素的索引为0,第2个元素的索引为1,......,以此类推;还可以使用负数索引,倒数第1个元素的索引为-1,倒数第2个元素的索引为-2,......,以此类推