#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);
///结构体方式写,范围是0到5;
// 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;
}