#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {
// NSNumber 数字对象:
// NSNumber格式和NSString创建类似,只是后面的初始化函数要有针对性,这是框架里面内置的
NSNumber *intNumber = [[NSNumber alloc] initWithInt:18];
NSNumber *floatNumber = [[NSNumber alloc] initWithFloat:18.22];
NSLog(@"%@",intNumber);
NSLog(@"%@",floatNumber);
// 也可以把数字对象转换成基本数值型,intvalue这些也是内置的方法
int int1 = [intNumber intValue];
float float1 = [floatNumber floatValue];
NSLog(@"%d",int1);
NSLog(@"%1.f",float1); // NSString 字符串对象:
// 创建字符串常量对象
NSString *str1 = @"hello augus";
// 创建空字符串对象
NSString *str2 = [[NSString alloc] init];
NSString *str3 = [NSString string];
NSLog(@"%@",str3);
// 快速创建一个字符串对象
// NSString *str4 = [[NSString alloc] initWithString:@"andy"];
// NSString *str5 = [NSString stringWithString:@"tom"];
// 创建格式化的字符串对象
NSString *str6 = [[NSString alloc] initWithFormat:@"%d",10];
NSString *str7 = [NSString stringWithFormat:@"%.1f",10.8];
NSLog(@"%@,%@",str6,str7);
// 比较两个参数的内容值是否相同
if ([str1 isEqualToString:str2]) {
NSLog(@"相等");
}
// 判断两个对象变量是否是同一个,即指向同一个地址
if (str1 == str2) {
NSLog(@"相同");
}
// 比较大小
if ([str1 caseInsensitiveCompare:str2]) {
NSLog(@"%@",str1);
}
// 字符串长度
NSLog(@"%ld",[str1 length]);
// 字符串大写、小写、首字母大写
NSLog(@"%@",[str1 uppercaseString]);
NSLog(@"%@",[str1 lowercaseString]);
NSLog(@"%@",[str1 capitalizedString]);
// 分割成数组,以空格分隔
NSArray *arr = [str1 componentsSeparatedByString:@" "];
NSUInteger count = [arr count];
NSLog(@"%ld",count);
for (int i=0; i<count; i++) {
NSString * arrObj = [arr objectAtIndex:i];
NSLog(@"%@-",arrObj);
}
// 剪切字符串,从开始到2(不包含2);从2开始(包含2)到最后
NSString * str8 = [str1 substringToIndex:2];
NSString * str9 = [str1 substringFromIndex:2];
NSLog(@"%@------%@",str8,str9);
// 从什么范围开始剪切,和下面是等价的,range是内置的方法
// NSRange 是一个结构体,可以用使用NSStringFromRange和NSRangeFromString进行与字符串之间的转换
NSRange range = {4,3};
range.location = 4;//可省略
range.length = 3;//可省略
NSString *str10 = [str1 substringWithRange:range];
NSLog(@"%@",str10);
// 把两个字符连接
NSString *str11 = [str1 stringByAppendingString:str2];
NSString *str12 = [str1 stringByAppendingFormat:@" %@",str11];
NSString *str13 = [[NSString alloc] initWithFormat:@"%@ and %@",str1,str2];
NSRange range1 = [str1 rangeOfString:@"hello"];//在str1中搜索查看hello这个字符串是否存在
if (range1.location != NSNotFound) {
NSLog(@"YES");
}
NSLog(@"%@----%@------%@-----%@",str11,str12,str13,NSStringFromRange(range1));
// NSMutableString创建的对象是可变变量,可以增减替换操作
NSMutableString *mutstring1 = [[NSMutableString alloc] initWithFormat:@"hello"];
[mutstring1 insertString:@"world" atIndex:5];
NSLog(@"%@",mutstring1);
NSRange range2 = {1,3};
[mutstring1 replaceCharactersInRange:range2 withString:@"eee"];//结构体需要先定义
NSLog(@"%@",mutstring1);
[mutstring1 deleteCharactersInRange:range2];
NSLog(@"%@",mutstring1);
// 字符串判断
BOOL value1 = [str1 hasPrefix:@"www"];//判断是否以www开头,值为YES或者NO
BOOL value2 = [str1 hasSuffix:@".png"];//判断以什么结尾
NSLog(@"%d-----and-----%d",value1,value2);//可以用%d打印出bool值,0和1表示
// 把内容写入到文件的方法wirteToFile, 从文件中读取内容的方法stringWithContentOfFile。这两个方法有个&error参数,如果正常,则error==nil,否则会把错误信息记录到error中
}
return 0;
}

oc随笔四:NSString、NSNumber的更多相关文章

  1. OC第二节 —— NSString和NSMutableString

    1.为什么需要NSString对象        答:在OC中创建字符串时,一般不使用C的方法,    因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,    在Cocoa中NSStri ...

  2. OC基础:NSString NSNumber 分类: ios学习 OC 2015-06-17 17:55 77人阅读 评论(0) 收藏

    OC中的基本数据类型 NSString  在64位系统下,相当于long,在非64位系统下,想当于int. CGFloat   在64位系统下,相当于double,在非64位系统之下,想当与float ...

  3. OC第四课

    主要内容:NSString.NSArray.NSNumber 一.苹果公司的帮助文档(API) 学会查看API对于后续的编程有很好的帮助 进入方法: Xcode ->Help -> Doc ...

  4. iOS开发-OC语言 (四)数组

    知识点 1.NSArray 2.NSMutableArray 1.数组的基本用法: 2.数组的遍历 3.数组排序 ===========   NSArray  不可变数组  ============= ...

  5. NSString NSNumber 相互转化

    NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init]; NSNumber *firstNum = [NSNumber n ...

  6. [OC Foundation框架 - 12] NSNumber

    1.概念 NSArray,NSDictionary只能放OC对象,不能放入基本数据类型 必须使用包装类NSNumber,把基本数据类型包装成OC对象 不支持自动包装解包   void number() ...

  7. C 和 OC 字符串转换 NSString 和 char * 转换 const char* 与 char *

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { char *s = "He ...

  8. OC之字符串 NSString与NSMutableString

    一.NSString 不可变字符串的操作1)将字符串常量对象直接赋值给字符串引用 NSString *str1=@"hello"; 字符串对象的输出格式:NSLog(@" ...

  9. oc随笔五:NSArray

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

随机推荐

  1. uva12486 Space Elevator(数位dp)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 题目链接:https://uva.onlinejudge.org/index.ph ...

  2. linux下面安装配置LAMP环境

    以centos下面为例.初学者.东西基本都是各个地方找来的.自己手写了一遍.应该印象会很深刻 首先切换到超级管理员模式 1.安装php 一路选择y就行了 安装一些php的扩展 yum -y insta ...

  3. 如何使用JSONP

    1.使用$.getJSON() $.getJSON(" http://跨域的dns/document!searchJSONResult.action?name1="+value1+ ...

  4. Go 解析JSON

    JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基础,具有自我描述性且易于让人阅读.尽管JSON是JavaScript的一个子集,但JSON是独立于 ...

  5. MySQL查询指定时间的数据

    user_event :用户事件表 create_time :表中存储时间的字段 #获取当月数据 SELECT * FROM user_event WHERE DATE_FORMAT(create_t ...

  6. mysql日志文件相关的配置【2】

    1.二进制日志是什么? mysql 的二进制日志用于记录数据库上做的变更. 2.二进制日志什么时间写到磁盘 1.总的来说二进制日志会在释放锁之前就写入磁盘.也就是说在commit完成之前:client ...

  7. build.prop修改详细说明

    用RE进入/system/挂载读写,找到build.prop复制到/sdcarrd进行修改比较保险.也可以挂载读写后,直接选择用文本编辑器打开,进行编辑.乱改有风险,修改需谨慎.1.# begin b ...

  8. Qt浅谈之四十五QSplitter实现自由伸缩滑动窗口

    一.简介 最近看到一篇Qt实现伸缩滑动的窗口的文章,但其代码不完整.便在此重新书写了完整的代码,并开源出来.窗口的中央有滑动条可以动态改变子窗口的大小,隐藏的按钮可以快速伸缩子窗口.其效果图如下: 二 ...

  9. 【转】Android开源项目发现---ListView篇(持续更新)

    原文网址:http://blog.csdn.net/krislight/article/details/20211045 资料转载地址:https://github.com/Trinea/androi ...

  10. C(m,n)%P

    program1 n!%P(P为质数) 我们发现n! mod P的计算过程是以P为周期的的,举例如下: n = 10, P = 3 n! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 ...