/**********************************************************/
//定义三个字符串对象
NSString *s1 = @"张三";
NSString *s2 = @"李四";
NSString *s3 = @"王五";
NSString *s1 = @"张三";
NSString *s2 = @"李四";
NSString *s3 = @"王五";
/*************
数组创建 ***************************************/
//通过alloc创建
NSArray *array1 = [[NSArray alloc]initWithObjects:s1, s2, s3 , nil];
//通过类方法创建
NSArray *array2 = [NSArray arrayWithObjects:s1, s2, s3, nil];
// NSLog(@"array1 is %@, array2 is %@",array1, array2);
NSArray *array1 = [[NSArray alloc]initWithObjects:s1, s2, s3 , nil];
//通过类方法创建
NSArray *array2 = [NSArray arrayWithObjects:s1, s2, s3, nil];
// NSLog(@"array1 is %@, array2 is %@",array1, array2);
/**********************************************************/
/********
NSArray的常用方法******************************/
/**********************************************************/
//获取下标为0的对象
NSString *str1 = [array1 objectAtIndex:0];
NSLog(@"%@",str1); //结果:张三
//获取数组中元素的个数:
NSUInteger count = [array1 count];
NSLog(@"%ld",count); //结果:3
//判断是否包含某个对象:
BOOL isContain = [array1 containsObject:@"张三"];
NSLog(@"%d",isContain); //结果:1
//对象在数组中的索引位置
NSUInteger index = [array2 indexOfObject:@"李四"];
NSLog(@"%ld",index); //结果:1
//连接数组中的字符串
NSString *str = [array2 componentsJoinedByString:@","];
NSLog(@"%@",str); //结果:张三,李四,王五
//获取最后一个元素对象
NSString *lastString = [array2 lastObject];
NSLog(@"%@",lastString); //结果:王五
NSString *str1 = [array1 objectAtIndex:0];
NSLog(@"%@",str1); //结果:张三
//获取数组中元素的个数:
NSUInteger count = [array1 count];
NSLog(@"%ld",count); //结果:3
//判断是否包含某个对象:
BOOL isContain = [array1 containsObject:@"张三"];
NSLog(@"%d",isContain); //结果:1
//对象在数组中的索引位置
NSUInteger index = [array2 indexOfObject:@"李四"];
NSLog(@"%ld",index); //结果:1
//连接数组中的字符串
NSString *str = [array2 componentsJoinedByString:@","];
NSLog(@"%@",str); //结果:张三,李四,王五
//获取最后一个元素对象
NSString *lastString = [array2 lastObject];
NSLog(@"%@",lastString); //结果:王五
/******** xcode 4.4
以后,对数组的创建和访问,语法上做了修改***********/
//将三个数组对象s1,s2,s3装入数组
NSArray *array3 = @[s1, s2, s3];
// NSLog(@"%@",array3);
//通过下标获取元素
NSString *s4 = array3[2];
NSArray *array3 = @[s1, s2, s3];
// NSLog(@"%@",array3);
//通过下标获取元素
NSString *s4 = array3[2];
NSLog(@"%@",s4);
//结果:王五
/**********************************************************/
/*************
NSMutableArray 可变数组
********************/
//NSMutableArray是可变数组,数组中存储空间是可以动态修改的
//NSMutableArray继承于NSArray,NSArray的方法都可以使用
//1.1、====创建可变数组,设定5个存储空间,空间可以自动调整=========
NSMutableArray *array1 = [[NSMutableArray alloc]initWithCapacity:5];
//1.2、====初始化3个元素装入数组==============================
NSString *s1 = @"a";
NSString *s2 = @"b";
NSString *s3 = @"c";
NSMutableArray *array2 = [[NSMutableArray alloc]initWithObjects:s1,s2,s3, nil];
//2、=======添加元素=========================================
[array1 addObject:s1];
[array1 addObject:s2];
[array1 addObject:s3];
//3、======指定位置插入元素===================================
[array1 insertObject:@"赵六" atIndex:1];
//4、======替换元素==========================================
//将位置为0的元素替换为“张三”
[array1 replaceObjectAtIndex:0 withObject:@"张三"];
//索引1和索引2上的元素调换
[array1 exchangeObjectAtIndex:1 withObjectAtIndex:2];
//5、======添加元素==========================================
//将数组array2中所有元素全部添加到array1中
[array1 addObjectsFromArray:array2];
//6、======删除元素==========================================
//删除指定位置的元素
[array1 removeObjectAtIndex:0];
//删除指定的对象
[array1 removeObject:@"张三"];
//删除最后一个元素
[array1 removeLastObject];
//删除所有
[array1 removeAllObjects];
/****************
遍历数组
**********************************/
//常规遍历(循环取出所有元素):
for (int i = 0; i < [array2 count]; i++) {
NSString *ss1 = [array2 objectAtIndex:i];
NSLog(@"%@",ss1);
}
//快速遍历(快速遍历所有元素):
for (NSString *ss2 in array2) {
NSLog(@"%@",ss2);
}
/**************
11111111111111111111 **********************************/
/*
循环录入班里5位学生的成绩,将成绩保存到数组中,然后求5位学生成绩的平均分
*/
循环录入班里5位学生的成绩,将成绩保存到数组中,然后求5位学生成绩的平均分
*/
NSMutableArray *score = [[NSMutableArray
alloc]initWithCapacity:5];
CGFloat sum =
0;//总成绩
for (int
i =
1; i <=
5; i++) {
NSLog(@"请输入第%d个学生的成绩:",i);
char *c =
alloca(9);
scanf("%s",c);
NSString *a = [NSString
stringWithCString:c
encoding:NSUTF8StringEncoding];
[score
addObject:a];
sum += [a
floatValue];
}
CGFloat avg = sum / [score
count];
NSLog(@"5位学生的平均成绩为:%.2f",avg);
/**************
222222222222222222222 **********************************/
/*
循环录入6个数值放入数组,然后求其中的最大值
*/
NSMutableArray *number = [[NSMutableArray alloc]initWithCapacity:5];
CGFloat max = 0;//最大值
for (int i = 1; i <= 6; i++) {
NSLog(@"请输入第%d个数:",i);
char *c1 = alloca(9);
scanf("%s",c1);
NSString *a1 = [NSString stringWithCString:c1 encoding:NSUTF8StringEncoding];
[number addObject:a1];
int b = [a1 floatValue];
/*把第1个输入的数直接赋值给max,保证即使输入的数都小于0,也一样能找到他们的最大值
*/
if (i == 1) {
max = b;
}
if (b > max) {
max = b;
}
}
NSLog(@"6个数的最大值为:%.2f",max);
循环录入6个数值放入数组,然后求其中的最大值
*/
NSMutableArray *number = [[NSMutableArray alloc]initWithCapacity:5];
CGFloat max = 0;//最大值
for (int i = 1; i <= 6; i++) {
NSLog(@"请输入第%d个数:",i);
char *c1 = alloca(9);
scanf("%s",c1);
NSString *a1 = [NSString stringWithCString:c1 encoding:NSUTF8StringEncoding];
[number addObject:a1];
int b = [a1 floatValue];
/*把第1个输入的数直接赋值给max,保证即使输入的数都小于0,也一样能找到他们的最大值
*/
if (i == 1) {
max = b;
}
if (b > max) {
max = b;
}
}
NSLog(@"6个数的最大值为:%.2f",max);
/**************
33333333333333333333 **********************************/
/*
1.构建一个数组,含有100个 1~100 的整数,并用不同的方式将它们遍历出来
*/
//构建一个数组
NSMutableArray *array1 = [[NSMutableArray alloc]initWithCapacity:100];
for (int i = 1; i <= 100; i++) {
//将整型i转化为字符串
NSString *str = [NSString stringWithFormat:@"%d",i];
[array1 addObject:str];
}
//遍历数组
//普通遍历
for (int i = 0; i < [array1 count]; i++) {
NSLog(@"%@",array1[i]);
}
//快速遍历
for (NSString *str in array1) {
NSLog(@"%@",str);
1.构建一个数组,含有100个 1~100 的整数,并用不同的方式将它们遍历出来
*/
//构建一个数组
NSMutableArray *array1 = [[NSMutableArray alloc]initWithCapacity:100];
for (int i = 1; i <= 100; i++) {
//将整型i转化为字符串
NSString *str = [NSString stringWithFormat:@"%d",i];
[array1 addObject:str];
}
//遍历数组
//普通遍历
for (int i = 0; i < [array1 count]; i++) {
NSLog(@"%@",array1[i]);
}
//快速遍历
for (NSString *str in array1) {
NSLog(@"%@",str);
}