- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 黑马-C语言-结构体
结构体定义: 一个整体由多种元素数据构成的自定义类型 结构体的关键字是struct,e.g. struct Student (首字母一般为大写) {int age;char name [10];}; 说明定义了一种Student类型的数据,里边的元素有2种。 1.结构体定义变量: struct Student {int age;char name
2015-07-08 15:46:55
361
原创 黑马-C语言-宏定义
1宏定义介绍: 1>定义常量,便于修改(不可在后面加上分号)。 2>.所有预处理指令都是以符号“#”开头. 3>可以出线在代码的任何位置。 2.宏定义初始化 # define pai 3.14 (在文件中会把所有的pai在编译之前改为3.14) 注:首字母一般大写,在程序中#define中定义的名字(既没有用引号,也不是其它名字的一部分)都将用相应的替换文本替换,其中名字与普通
2015-07-08 15:22:53
425
原创 黑马-C语言-枚举
1.枚举 概念:枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。 1.枚举定义:enum 枚举名 {元素1,元素2。。。。};(枚举名首字母一般大写) e.g.: enum Sex {Sexman,Sexwoman}; (首个元素位置为0,依次类推。如果Sexwoman位置赋值为5那如果后面还有元
2015-07-08 14:33:43
360
原创 黑马-C语言-指针
e.g.: int a = 10; int *p; p = &a; printf(“%d”, *p); 注释: int *p中 *p和p的差别:简单的说*P是数值,p是地址。 *p可以当作变量来用,*的作用就是取后面地址的p的数值。 p是当作地址来使用。可以用在scanf函数中:scanf(“%d”,p) *p++是地址会变化 取当前值,然后在移动地。 (*p)++ 是数值
2015-07-08 14:02:29
424
原创 黑马-C语言-流程控制,循环结构
1.流程控制 e.g. if (条件1) {} else if(条件2) {} else {} if语句规则:如果满足条件1,则执行第一个大括号里的内容,如不满足则程序向下执行。 注:如果if(条件);则是执行分号,不会执行下边的语句。 switch(数值)//是整形常量,字符型常量,枚举类型,或是赋值的变量 { case数值1://不可以是变量 执行动作
2015-07-08 11:48:10
404
原创 黑马-C语言-关系,逻辑运算
1.关系运算作用: 默认情况下我们在程序中写的每一句正确的代码都会被执行,但是很多时候我们想在某一个条件成立的情况下才执行某一段代码。 关系表达式: 1>C语言中用“非0”表示逻辑真的,用“0”表示逻辑假的。 2>关系运算符一般包括”,=,==,!=“,C语言中运算都会有返回值”0“或者”1“。 注:关系运算不同与赋值顺序是从坐向右的。 e.g. : 9>8,关系式为真,表达式的值
2015-07-08 11:44:40
972
原创 黑马-C语言-函数,变量,及变量作用范围
C语言字UNIX的编译顺序: 1.输入源代码-》2.文本编译器-》3.源代码(name.c)-》4.编译器-》5.可执行文件(a.out)-》6.输入a.out C语言的赋值顺序是从右向左(a = b = 5是5先赋值给b然后赋值给a) 2.变量(64位系统):
2015-07-07 20:09:33
655
原创 黑马-OC语法-内存管理
定义 内存管理:基本类型数据(int、char、float、double、struct、enum等是存在栈里)由操作系统自己释放,而OC对象由程序员自己释放,不释放的花程 序结束时由系统释放(堆),内存使用由4个字节的引用计数器来控制,当计数器为0时,对象被回收,当使用alloc、new来创建一个新对象时,新对象 的引用计数器默认就是1。 僵尸对象:所占内存已经被回收的对象。(僵尸对象不能
2015-07-07 18:54:40
450
原创 黑马-OC-Foundation-NSNumber常见对象类
NSNumber:是将基本类型封装为对象NSNumber,方便使用。 1.对象创建 int age = 100; NSNumber *i = [NSNumber numberWithInt:age]; 2.还原基本数据类型 int in = [i intValue]; 注:bool float char都可以封装。 e.g.: void text () { NS
2015-07-07 16:14:12
308
原创 黑马-OC-Foundation-NSSet常用对象类
NSSET是单值对象集合,并且集合中是无序的,在NSSet中某个特定的对象只能出线一次,NSSet对象经常用于检查某个对象是否存在。 1.NSSet和NSArray的对比 1> 共同点 都是集合,都能存放多个OC对象 只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举) 本身都不可变,都有一
2015-07-07 15:38:47
421
原创 黑马-OC-Foundation-NSDictionary常用对象类
NSDictionary :是由键值对组成的数据集合,通过Key查找对应的value,key通常是字符串对象,在一个字典对象里,key的值必须是唯一的。字典对象的键和值不可以为空,如果需要在字典对象中表示一个空值,可以使用NSNull对象。 1.对象的创建 NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack"
2015-07-07 14:59:52
288
原创 黑马-OC-Foundation-NSArray常用对象类
NSArray是一组有序的对象集合。(NSSet,NSDictoary,NSdate也都是集合类,但是都是无序的) NSArray 不能存放基本类型数据,只能存放对象实例。 NSArray 对象创建后就不能被修改子类是NSMutableArray,子类可以修改。 1. 这个array永远是空数组 NSArray *array = [NS
2015-07-07 14:19:47
344
原创 黑马-OC-Foundation-NSString常用对象类
NSString类是用于处理字符串对象的类。(子类:NSMutableString) 注:NSString创建的字符串不能修改,而子类可以修改. NSString:在OC中以@开头。 e.g. ;( 一般都会有一个类方法跟对象方法配对) //创建字符串 NSString *str = @“计算机”; //快速创建字符串 NSString str1 = [
2015-07-07 14:16:42
320
原创 Foundation框架定义
框架是由许多类,方法,函数以及文档按照一定的规则顺序组织起来的集合,以便与程序员,迅速的开发程序,其中所有类都继承NSObject。
2015-07-07 11:56:03
330
原创 黑马-OC语法-Foundation-常用结构体
常用的结构体大概有以下几个: (一般都是用CG开头的) NSRange(表示范围)(位置和长度)(location length) NSPoint\CGPoint NSSize\CGSize NSRect\CGRect (CGPint CGSize) 一般都是有2种方法(e.g.:CGPointMake或者NSMakePoint,一般用前者) e.g.: void
2015-07-07 11:41:29
333
原创 黑马-OC语法-自定义构造方法和分类
自定义构造方法: 1>一定是对象方法,一定以“-“开头。 2>返回值是以id类型。 3>方法名一般以init开头 e.g.: (1) - (id)init { if ( self = [super init] ) return self; } 方法重写 (2) - (id) initWithName : @“Rose”
2015-07-05 20:57:06
356
原创 黑马-OC语法-@property和@synthesize
@property :可以自动生成成员变量的getter和setter声明。 e.g. : @property int age ;(自动生成 _age变量) @property NSString *name; @synthesize 为成员变量方法的实现 e.g.: @synthesize age = _age; 默认会访问_这个变量 @syn
2015-07-05 20:44:22
340
原创 黑马-OC语法-self(关键字),“.”语法,声明对象等默认类型
Self关键字: 1. self指向了方法调用者。(或者是对象调用者) 1> self出现在对象方法中,self就代表对象。 2> self出线在类方法中,self就代表类。 2.在对象方法中利用“self->成员变量名”访问当前对象内部的变量。 3.[self 方法名] 可以调用其它对象方法,类方法。 “点”语法“: 本质是方法调用。 e.g. : p.
2015-07-05 20:18:43
310
原创 黑马-OC语法-多态
多态: 1.对象具有多种形态,要有集成才能有多态. 2.多态会动态检测对象的真实类型 e.g. Animal(父类指针) *a = [Dog new];//电脑会自动检测A是属于dog类型还是Anmial类型,优先从本类型中找方法调用。 注:如果函数参数中使用的是父类类型,可以传入父类和子类对象。 e.g. void feed (Ani
2015-07-01 22:42:45
216
原创 黑马-OC语法-继承
继承可以能拥有父类里面所有的成员变量和方法. 好处: 1.可以避免重复代码 2.建立类之间的关系 注意点: 1.根类:NSObject 2.子类和父类不能拥有相同名称的成员变量. 3.子类可以重写父类的方法,并且优先从子类中寻找,如果找不到再去父类中找. \使用场合: 1.当2个类拥有相同属性与方法的时候,就将相同元素放到一个父类中. 2.当后类拥有前类的部分属性和方法
2015-07-01 22:31:45
305
原创 黑马-OC语法-封装
OC封装作用:提供一个方法给外界设置属性值(可以在方法里提供过滤,其实就是Set方法) 命名规范: 1.方法名必须以set开头。 2.Set后跟上成员变量的名称,成员变量的字母必须是大写。 3.Set方法返回值一定是void。 4.一定要接受一个参数,而且参数类型跟成员变量类型一致(set方法里的变量一定要以下划线"_"开头)。 5.形参
2015-07-01 22:01:32
273
原创 黑马-类名类型 *指针名称 = 【类名 new】和消息机制
OC语言中在申明完成员变量与方法实现后在mian函数中要创建新对象,对象或类调用方法的话要“发送消息”。 e.g. 类名如叫Car int mian () { Car *c = [Car new];// 固定写法“定义指针变量c 指向Car类型会创建一个新对象,并且会返回新对象本
2015-07-01 21:57:36
1744
原创 黑马-OC类和方法笔记
完整的申明一个OC函数有2步 1>.要有类的声明与定义和其方法的申明 2> 声明方法的实现 (1)方法声明的固定格式 (Car举例) @interface Car (规定类的首字母大写) { // 对象的属性(成员变量初始都是0) } -(void) run //
2015-06-30 21:22:29
329
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人