objective C程序 NSString用法和类的概念

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

       //NSStringoc中字符串处理的类

        //1,创建一个字符串

        NSString *s = @"welcome to itcast";//特殊用法

        //2,输出一个字符串

        NSLog(@"%@",s);

        //NSString是一个类

        NSString*s1 =[NSString new];

        s1 =@"jian le ma";

        NSLog(@"%@",s1);

      //3,创建字符串的第三种用法

        

        //格式化创建字符串(按照指定的格式创建字符串)

        //NSString *imgName = [NSString stringWithFormat:@"xxxxxxxxxx%02d.jpg",i];

        /*for (int i =0; i<10; i++)

        {

           NSString *imgName = [NSString stringWithFormat:@"xxxxxxxxxx%02d.jpg",i];

            NSLog(@"%@",imgName);

        }*/

        //用一个已经存在的字符串创建一个新的字符串

        NSString *s2 = [[NSString alloc] initWithString :s1 ];

        NSLog(@"s2 = %@",s2);

    }

    return 0;

}

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

       //计算NSString字符串的长度

        //1)字符串是纯英文的

        NSString *s1 =@"i donot care";

        NSUInteger len = [s1 length];

        NSLog(@"len = %ld",len);//12

        //不包含‘\0’

        

       // 2)字符串是纯中文

        //oc字符串中中英文都是一个字符串

        NSString *s2 =@"我不关心";//4

        len = [s2 length];

        

        //3)中英文混合

        NSString *s3 =@"班长!abc";//6

        len = [s3 length];

        NSLog(@"len = %ld",len);

        

        //C语言UTF-8编码中一个汉字占三个字节

        char *s ="我不关心";

       // char *s ="abc";

      //int len1 =strlen(s);

        printf("len = %ld",strlen(s));//3    //12

    }

    return 0;

}


类方法:

 +开头的方法(定义的过程和对象方法一致,只不过+开头)

 类方法的调用:

 [类名 方法名];

 

 对比学习:

 Dog

 -(void)run;

 想调用run方法,dog * dog = [Dog new];   [dog run];

 

 Dogr

 +voidrun;类方法

 想调用run方法,  [Dog run];

 

#import <Foundation/Foundation.h>


@interface Car : NSObject

{

    @public

    int _speed;

}

-(void)run;

+(void)run;

+(void)run:(int)speed;


@end

@implementation Car

-(void)run{

    //对象方法中可以调用其他的对象方法

    //1)当前对象方法中创建对象(可以是当前类的也可以是其他类的对象),使用新创建的对象调用对象方法

    //2)可以使用self

    //3)对象可以作为方法的参数传递过来,可以使用传递过来的对象调用方法

    NSLog(@"车正在以%d码的速度跑",_speed);

}

+(void)run{

    //在类方法中不允许访问实例变量

 //NSLog(@"车正在以%d码的速度跑",_speed);

    NSLog(@"车正在跑");

//在类方法中可以调用其他方法

    //1)可以直接使用本类类名(其他类名)调用

    [Car run:250];

    //2)可以使用self

    [self run:100];

}

+(void)run:(int)speed{

   NSLog(@"车正在以%d码的速度跑",speed);

}

@end

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        Car * car = [Car new];

        car->_speed=200;

        [car run];

        

        [Car run];//类方法

        [Car run:230];

    }

    return 0;

}


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        

        

        //创建对象

        Car *car1 = [Car new];

        car1->_speed = 100;

        [car1 start];

        //[Car new]  实质上是对象的存储空间

        //匿名类(匿名对象)时候用

        

        //匿名类的第一种使用方法

        //1,使用匿名类访问实例变量 (能,但只能正确访问一次)

        //以后再访问,实际上是访问新的空间了

        [Car new]->_speed = 250;

        NSLog(@"_speed = %d",[Car new]->_speed = 250);//0

        

        //2,使用匿名的类,可以调用方法

        [[Car new] stop];   //可以

        

        [[Car alloc] init];  //等价于[Car new];

        //使用alloc init的方式调用stop方法

        [[[Car alloc] init] stop];

    }

    return 0;

}

  

        Person *p = [[Person alloc] init];

        //创建一个车

        Car *car = [Car new];

        car->_speed = 80;

        

        [p goHome:car];

        //1,匿名类作为方法的参数使用

        [p goHome:[Car new]];

        //匿名类调用方法,参数又是匿名类

        [[Person new] goHome:[Car new]];





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值