OC04_NSString,NSUnmberm,NSValue

#import <Foundation/Foundation.h>

#import "Student.h"

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


//    Student *stu =[Student studentWithName:@"娜妞" stuHobby:@"" stuAge:25 stuScore:59.5];

    //取值

//    NSLog(@"%@",stu.stuHobby);

    //字符串

  ///通过字面量的方法来快速创建一个对象

//    NSString *str = @"谁是我";

//    NSLog(@"%@",str);

//    str =@"哈哈";

    

    ///通过alloc,init的方式创建一个字符串;

//    NSString *str= [[NSString alloc]init];

    ///通过便利构造器的方式创建一个字符串

//    NSString *str =[NSString string];//string是类的名

    ///通过自定义的方法创建有内容的字符串

   ///这种创建防止,不推荐使用,但是能用

//    NSString  *str = [[NSString alloc]initWithString:@"我是谁"];

   ///通过遍历构造器创建一个有初始值的

//    NSString *str =[NSString stringWithString:@"速度"];

    ///获取字符串长度用length

//    NSString *str = @"酒店开房";

//    NSLog(@"%ld",str.length);

    ///截取字符串长度;截取长度从第五下标开始,包含第5,下设是5

//    NSString *str = @"成龙的儿子房祖名";

//    NSString *newStr= [str substringFromIndex:5];

//    NSLog(@"%@",newStr);

    

    ///结构体方式写,范围是05;

//    NSRange range ={0,5};

//    newStr = [str substringWithRange:range];

//    NSLog(@"%@",newStr);

    

    ///范围是到第二个,不包含第二个如下:

//    newStr =[str substringToIndex:2];

    

    ///NSRange 是一个结构体,里面包含两部分内容,一个是location,就是范围的起始位置,另外一个是length,长度;

//    newStr =[str substringWithRange:NSMakeRange(2, 5)];

//    NSLog(@"%@",newStr);

    ///万能拼接法,能把任意类型转换成字符串

    //第一种常用拼接

//    NSString *newStr =[NSString stringWithFormat:@"%@%d%@",str,94,@"陈冠希"];

//    NSLog(@"%@",newStr);

    ///第二种拼接方法

//    NSString *newStr =[str stringByAppendingString:@"好开心"];

//    NSLog(@"%@",newStr);

    ///练习

//        NSString *date1 = @"2015 7 20";

//        NSString *date2 =@"2015 7 30";

    //变成2015 7 20-30

    

//    NSString *newStr =[date2 substringWithRange:NSMakeRange(7, 2)];

//    NSString *newStr1 =[NSString stringWithFormat:@"%@-%@",date1,newStr];

//    NSLog(@"%@",newStr1);

    

    

     ///练习2  07-20 09:00 --08-30 17:00

    

//        NSString *date1 =@"2015-07-20 09:00:00";

//        NSString *date2 = @"2015-08-30 17:00:00";

//    

//    NSString *str =[date1  substringWithRange:NSMakeRange(5, 11)];

//    NSString *str1=[date2 substringWithRange:NSMakeRange(5, 11)];

//    NSString *newStr=[NSString stringWithFormat:@"%@--%@",str,str1];

//    NSLog(@"%@",newStr);

//    

    

 ///判断字符串内容是否相等,BOOL类型,0是不相等,0即真;

//    NSString *str = @"哈哈";

//    NSString *str1 =@"哈哈";

//    BOOL result = [str isEqualToString:str1];

//    NSLog(@"%d",result);

    ///练习

//        NSString *date1 =@"2015-10-20";

//        NSString *date2 =@"2016-11-30";

    //如果相等输出NSLog(@"2015-10-20--11-30");

     //如果不相等输出NSLog(@"2015-10-20--2016-11-30");

//    NSString *str =[date1 substringWithRange:NSMakeRange(0, 4)];

//    NSString *str1 =[date2 substringWithRange:NSMakeRange(0, 4)];

//    NSString *str2 =[date2 substringWithRange:NSMakeRange(5, 5)];

//  

//    BOOL result =[date1 isEqualToString:date2];

//    if (result) {

//        NSLog(@"%@",[NSString stringWithFormat:@"%@--%@",date1,str2]);

//    }else{

//        NSLog(@"%@",[NSString stringWithFormat:@"%@--%@",date1,date2]);

//    

//    

//    }

    

///替换,把你更改的字换成你想要换的字,不论你在哪里加这个字,都会变成你更改的字;

//    NSString *str =@"地上鞋两双";

//    NSString *str1= [str stringByReplacingOccurrencesOfString:@"" withString:@""];

//    NSLog(@"%@",str1);

    

  ///    给定一个图片文件名,判断字符串中是否以"png"结尾,如果是就替换成"jpg",如果不是,就拼接"jpg";

    

//    NSString *str =@"jskdfjdfg.png";

//    NSInteger length =str.length;

//    NSString *newStr =[str substringFromIndex:length-3];

//    NSLog(@"%@",newStr);

//    if ([newStr isEqualToString:@".jpg"]) {

//        newStr =[str stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"];

//    }else{

//        newStr= [str stringByAppendingString:@".jpg"];

//    

//    }NSLog(@"%@",newStr);

    

   //可变字符串

    //它是NSString的子类,拥有父类的所有特征还有行为;

    //字面量创建字符串是不可变的,所以可变字符串创建采用常规方式

    //如果操作一个不可变的字符串,都会产生一个新的字符串,而且原字符串不变;

    ///用插入的方法,在可变字符串下能更改,在任意位置加上字符串 DLS;

//    NSMutableString *str =[NSMutableString stringWithString:@"我是谁啊,哈哈哈哈"];

//    [str insertString:@"DLS" atIndex:2];

//    NSLog(@"%@",str);

    

   ///拼接  :appendString

//    [str appendString:@"dls"];

//    NSLog(@"%@",str);

    ///删除 delete  后接 NSMakerange

//    [str deleteCharactersInRange:NSMakeRange(2, 3)];

//    NSLog(@"%@",str);

    ///替换  也厚街NSMakeRange;

//    [str replaceCharactersInRange:NSMakeRange(2, 3) withString:@"你啊"];

//    NSLog(@"%@",str);

    ///分辨可变和不可变字符串的方法:看返回值,比如替换等方法,返回子类型的是NSString*是不可变字符串的方法,返回值是void是可变的方法,可变直接修改自身字符串内容;

    

    

    ///NSMutobleString完成,给定一个图片文件名,判断字符串中时候以"png"结尾,如果是就替换成"jpg",如果不是,就拼接成"jpg";

    

//    NSMutableString *str1 = [NSMutableString stringWithFormat:@"sdfsdfsdf.png"];

//    if ([str1 hasSuffix:@".png"]) {

//        NSInteger length =[str1 length];

//        NSRange range =NSMakeRange(length -3,3);

//        [str1 replaceCharactersInRange:range withString:@"jpg"];

//    }else{

//        [str1 appendFormat:@".jpg"];

//        

//    }NSLog(@"%@",str1);

    

    ///字符串里前缀,后缀

    //hasPreFix,前缀  hasSuffix后缀

    

    ///把字符串里的东西转换成其他类型值,从第一个开始算,输出数字,直到有字符为止,后面的数字就不输出了

//    NSString *str = @"12";

//    NSInteger a = str.integerValue;//整形数值

    

    ///NSNumber的相互转换

    NSNumber *number =@10;

    NSNumber *num = [NSNumber numberWithInteger:100];

    NSInteger a = [num integerValue];//对象类型和基本数据类型的互相转换;

    ///NSValue:结构体和指针转换成对象类型;

    NSRange range = {2,3};

    //转换成NSRange->NSValue

    NSValue *value = [NSValue valueWithRange:range];

    NSLog(@"%@",value);

    //再转换回来

    NSRange newRange =[value rangeValue];

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    return 0;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值