黑马程序员_总结跳转语句、枚举类型、结构体类型、类以及值类型和引用类型的区别
2013-11-02 17:52
363 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
跳转语句
1. continue---结束本次循环,执行下一次循环
2. break----退出循环结构
3. goto---将程序的执行跳转到指定语句处
4. return---作为方法的结束,向方法返回一个值
枚举类型
枚举类型属于值类型
语法:
[访问修饰符] enum 枚举名
{
枚举值1,
枚举值2,
……….
//枚举值之间使用逗号间隔,最后一个枚举值可以不使用逗号
}
使用举例:
public enum Gender
{
男,
女
}
Gender gender = Gender.男;
枚举的好处:可以防止用户的错误输入
枚举值其实是对应着整型数值的,枚举值从0开始,后面的值依次增加1,也可以给枚举值赋整数值,如上例,Gender.男等于0,Gender.女等于1,如果给Gender.男赋值为10,那么Gender.女的值为11。
虽然枚举的值对应整数值,但如果转换的话需要进行强制转换:
1. int number=(int)Gender.男;//此时number=0;
2. int number=1; Gender gen=(Gender)number;//gen的值是女
结构体:
结构体属于值类型
语法:
[访问修饰符] struct 结构体名
{
结构体成员;
}
使用举例:
public struct Person
{
public string name;
public int age;
public char gender;
}
Person per = new Person();
per.name = "张三";
结构体的构造函数:必须对每一个成员都要赋值
面向对象----类
1. 程序员的世界:万物皆对象
2. 类:是对象的模子,确定对象将拥有的特征(属性)和行为(方法)
3. 类是对象的类型
4. 类的定义:
[访问修饰符] class 类名
{
成员;//属性和方法
}
使用举例:
public class Person
{
public string _name;
public int _age;
public char _gender;
public void Walk()//方法
{
Console.WriteLine("我是人类,我会直立行走");
}
}
Person person = new Person();
5. 构造函数:构造函数的名称与类名相同
[访问修饰符] 类名()
{
成员的初始化;//有了构造函数后,实现了代码重用,使得实例化对象更方便
}
例如:
Public Person()
{
}
写一个类的时候,如果不写构造函数,系统会默认有一个无参数的构造函数,如果在类中写了一个有参数的构造函数,默认的无参数的构造函数将被覆盖掉。
当构造函数重载后,类在实例化时,会根据提供参数的个数自动调用相应的构造函数,来完成初始化。
值类型和引用类型的区别
1. 将一个值类型变量赋值给另一个值类型变量时,将复制变量包含的值;引用类型的变量的赋值是只复制对对象的引用,而不复制对象本身
2. 值类型不可能派生出新的类型,所有的值类型均隐式的派生自System,ValueType。但与引用类型相同的是结构体也可以实现接口。
3. 值类型不可能包含空值null,但引用类型可以为空。
4. 每种值类型都有一个隐式的默认的构造函数来初始化该类型的变量
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
跳转语句
1. continue---结束本次循环,执行下一次循环
2. break----退出循环结构
3. goto---将程序的执行跳转到指定语句处
4. return---作为方法的结束,向方法返回一个值
枚举类型
枚举类型属于值类型
语法:
[访问修饰符] enum 枚举名
{
枚举值1,
枚举值2,
……….
//枚举值之间使用逗号间隔,最后一个枚举值可以不使用逗号
}
使用举例:
public enum Gender
{
男,
女
}
Gender gender = Gender.男;
枚举的好处:可以防止用户的错误输入
枚举值其实是对应着整型数值的,枚举值从0开始,后面的值依次增加1,也可以给枚举值赋整数值,如上例,Gender.男等于0,Gender.女等于1,如果给Gender.男赋值为10,那么Gender.女的值为11。
虽然枚举的值对应整数值,但如果转换的话需要进行强制转换:
1. int number=(int)Gender.男;//此时number=0;
2. int number=1; Gender gen=(Gender)number;//gen的值是女
结构体:
结构体属于值类型
语法:
[访问修饰符] struct 结构体名
{
结构体成员;
}
使用举例:
public struct Person
{
public string name;
public int age;
public char gender;
}
Person per = new Person();
per.name = "张三";
结构体的构造函数:必须对每一个成员都要赋值
面向对象----类
1. 程序员的世界:万物皆对象
2. 类:是对象的模子,确定对象将拥有的特征(属性)和行为(方法)
3. 类是对象的类型
4. 类的定义:
[访问修饰符] class 类名
{
成员;//属性和方法
}
使用举例:
public class Person
{
public string _name;
public int _age;
public char _gender;
public void Walk()//方法
{
Console.WriteLine("我是人类,我会直立行走");
}
}
Person person = new Person();
5. 构造函数:构造函数的名称与类名相同
[访问修饰符] 类名()
{
成员的初始化;//有了构造函数后,实现了代码重用,使得实例化对象更方便
}
例如:
Public Person()
{
}
写一个类的时候,如果不写构造函数,系统会默认有一个无参数的构造函数,如果在类中写了一个有参数的构造函数,默认的无参数的构造函数将被覆盖掉。
当构造函数重载后,类在实例化时,会根据提供参数的个数自动调用相应的构造函数,来完成初始化。
值类型和引用类型的区别
1. 将一个值类型变量赋值给另一个值类型变量时,将复制变量包含的值;引用类型的变量的赋值是只复制对对象的引用,而不复制对象本身
2. 值类型不可能派生出新的类型,所有的值类型均隐式的派生自System,ValueType。但与引用类型相同的是结构体也可以实现接口。
3. 值类型不可能包含空值null,但引用类型可以为空。
4. 每种值类型都有一个隐式的默认的构造函数来初始化该类型的变量
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- java基础总结三(引用类型使用格式、if语句、循环语句)
- 值类型和引用类型的区别以及都包含哪些
- 黑马程序员之c#学习笔记:C#值类型和引用类型区别
- 读thinking in java的收获(一)——java中的引用,c++引用与c指针的区别与联系以及java的数据类型
- 黑马程序员_java中特殊的引用类型(对第十三课String类和包装类总结)
- C# 循环结构while,do-while和for的区别以及跳转语句
- 关于java基础类型与引用类型内存存储问题,以及string.intern()方法(String两种创建方式的区别)
- 黑马程序员——C#枚举 结构体 this关键字 base关键字 值类型 引用类型 装箱和拆箱
- 关于值类型和引用类型的区别和总结
- 黑马程序员——C语言小结------宏定义以及基本数据类型总结
- 再谈CLR:值类型按照引用传递(以及与装箱拆箱的区别)
- 变量,常量,引用类型,值类型,枚举类型, 值类型和引用类型的简单区别,类型转换,装箱与拆箱
- 培训第三天,引用数据类型,用Scanner类和Random类为例。以及条件判断语句和循环语句。
- 读<<CLR via C#>>总结(3) 值类型和引用类型的区别
- C# 值类型和引用类型 以及作为方法参数的区别
- 黑马程序员_iOS开发C语言基础之枚举类型和数据类型总结
- js的引用类型和类型转换以及js的语句
- 黑马程序员--张孝祥Java高新技术-JDK1.5新特性(二)【基本数据类型的自动拆箱与装箱,枚举】以及享元设计模式
- csharp004值类型引用类型区别,以及装箱拆箱以及转换相关