黑马程序员——foundation框架(一)

------- android培训java培训、期待与您交流! ----------


字符串比较

#import <Foundation/Foundation.h>
void test(){
    NSString *str = @"abc";
    NSString *str1 =@"ABc";
    
    //取出每个字符的ASCII码值,比较ASCII码值大小
    //compare 默认的区分大小写
    
    //       NSComparisonResult result = [str compare:str1];
    NSComparisonResult result = [str compare:str1 options:NSCaseInsensitiveSearch|NSNumericSearch];
    switch (result) {
        case NSOrderedAscending:
            NSLog(@"str<str1");
            break;
        case NSOrderedDescending:
            NSLog(@"str>str1");
            break;
        case NSOrderedSame:
            NSLog(@"str=str1");
            break;
        default:
            break;
    }

}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSString *str = @"abc";
        NSString *str1 =@"bc";
        NSString *str2 = [NSString stringWithFormat:@"Abc"];
        
        //地址的比较
        
        //判断字符串内容真正是否相等,使用的是
        //isEqualToString
        if ([str isEqualToString:str2]) {
            NSLog(@"相等");
        }else{
        
            NSLog(@"不相等");
        }
        
        
    }
    return 0;
}

检测字符串的前缀和后缀

#import <Foundation/Foundation.h>

void test(){

    NSString *url =@"http://ios.itcast.cn";
    
    //检测一个字符串的前缀是否以http://开头或者https://开头
    //str hasPre
    
    if ( [url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]){
        
        NSLog(@"这是网址");
    }else{
        
        NSLog(@"这不是网址");
    }
    
    //检测字符串的后缀
    //xxx.jpg   判断字符串的后缀是否是“.jpg”
    //xxx.png
    //xxx.gif
    //xxx.jpeg
    
    NSString *imgName = @"xxx.jpg";
    
    if([imgName hasSuffix:@".jpg"]||[imgName hasSuffix:@".png"]||[imgName hasSuffix:@".gif"]){
        
        NSLog(@"这是图片");
    }else{
        
        NSLog(@"这不是图片");
    }
}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //字符串的查找
        //查找某个字符串在另外一个字符串中首次出现的位置
        //如果查找到了,返回
        //如果查找不到,返回的信息:location 特别大的数(NSNotFound)  length 0
        //rangeOfString
        
        NSString *str1 = @"dfdffefefaios";
        NSString* str2 =@"ios";
        
        //range 结构体变量
       NSRange range = [str1 rangeOfString:str2];
        if (range.location!=NSNotFound) {
            
        
        //        .location 表示字符串首次出现的位置
        //        .length 表示字符串出现的的长度
        NSLog(@"%lu,%lu",range.location,range.length);
        }else{
        
            NSLog(@"没有找到这个字符chua");
        }
        
    }
    return 0;
}



字符串的截取和替换

#import <Foundation/Foundation.h>
void test(){
    NSString *str = @"http://www.baidu.com";
    
    //1从 xx位置开始,到最后结束
    NSLog(@"%@",[str substringFromIndex:5]);
    
    //2 从开始位置,xx结束(不包含xx)
    NSLog(@"%@",[str substringToIndex:5]);
    //        NSRange r = {3,4};
    //3 截取范围 range
    NSLog(@"%@",[str substringWithRange:NSMakeRange(3, 4)]);
    
    
}
//字符串截取的练习
void test2 (){
    
    NSString *str = @"<itcast>传智播客IOS学院</itcast>";
    
    NSUInteger loc = [str rangeOfString:@">"].location + 1;//“传”的位置
    NSUInteger len = [str rangeOfString:@"</"].location-loc;
    NSRange r2 = {loc,len};
    NSString *str2 = [str substringWithRange:r2];
    NSLog(@"%@",str2);
    


}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //字符串的替换
        NSString *str =@"adfefdirrpfb.f,gmqergjl";
        
        //把a替换成*
       NSString *newstr = [str stringByReplacingOccurrencesOfString:@"a" withString:@"*"];
        
        NSLog(@"%@",newstr);
        
        //把空格给去掉
        str = @"asddeo doenge dp[a, depx,d deofm";
        
        NSString *str2 =[str stringByReplacingOccurrencesOfString:@" " withString:@""];
        
        NSLog(@"%@",str2);
        
    }
    return 0;
}

NSString的其他用法

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
       //OC的字符串和C的字符串互相转换
        
        char *s = "zhangsanfeng";
        
        NSString *str = [NSString stringWithUTF8String:s];
        
        NSLog(@"%@",str);
        
        NSString *str2 = @"zbz";
        
        //把str2转c得字符串
        const char *s1 = [str2 UTF8String];
        
        printf("%s",s1);
    }
    return 0;
}

NSMutableString的使用

//创建一个可变的字符串
    NSMutableString *str = [NSMutableString string];
    
    //给字符串增加元素
    [ str appendString:@"http://www.baidu.com/%d"];
    
    //删除字符串的元素(按照NSRange格式)
    [str deleteCharactersInRange:NSMakeRange(3, 4)];
    NSLog(@"%@",str);
    
    //插入一个字符串在下标为3的位置
    [str insertString:@"p://" atIndex:3];
    NSLog(@"%@",str);
    
    //用NSRange格式插入一个字符串,位置为(下标为11,长度为5)
    [str replaceCharactersInRange:NSMakeRange(11, 5) withString:@"itcast"];
    NSLog(@"%@",str);

}


NSArray的使用


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //NSArray特点:一旦创建成功,内容不可改变
                    //只能存放OC的对象
        
        //1.创建一个空数组
        NSArray *arr1 = [NSArray array];
        NSLog(@"arr1 = %@",arr1);
        
        //2.创建只有一个元素的数组
        NSArray *arr2 = [NSArray arrayWithObject:@"2"];
         NSLog(@"arr2 = %@",arr2);
        
        //3.创建有多个元素的数组
        NSArray *arr3 = [NSArray arrayWithObjects:@"one",@"two",@1, nil];
         NSLog(@"arr3 = %@",arr3);
        
        //4.调用对象方法,创建数组
        NSArray *arr4 = [[NSArray alloc] initWithObjects:@"three",@"four", nil];
         NSLog(@"arr4 = %@",arr4);
        
        //5.用一个数组可以创建一个数组
        NSArray *arr5 = [NSArray arrayWithArray:arr3];
         NSLog(@"arr5 = %@",arr5);
        
    }
    return 0;
}


NSArray数组的遍历

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSArray *arr = @[@"one",@"two",@"three",@"four"];
        
        //对数组进行遍历
        for (int i = 0; i<arr.count; i++) {
            NSLog(@"%@",arr[i]);
        }
        //普通的方式,通过下标访问
        
        //快速枚举法 for循环的增强模式
        for (NSString *str in arr) {
            NSLog(@"%@",str);
        }
        
        //使用block的方式,进行访问           数组元素            元素下标            是否停止
        [arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            if (idx == 2) {
                *stop= YES;
            }else{
            NSLog(@"idx = %ld,obj = %@",idx,obj);
            }
            }];
        
    }
    return 0;
}

NSMutableArray的基本使用
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //数组的使用
        //创建数组
        //空数组
        NSMutableArray *arr =[NSMutableArray array];
        
            //创建的时候初始化一个元素
        NSMutableArray *arr2 = [NSMutableArray arrayWithObject:@"one"];
        
        //创建的时候初始化多个元素
        NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"one",@"two", nil];
        
        //创建一个数组,并且制定长度
        NSMutableArray *arr4 = [NSMutableArray arrayWithCapacity:5];
        
        NSLog(@"%@",arr4);
        
        //添加元素
        [arr addObject:@"fengjie"];
        
        
        [arr insertObject:@"zbz" atIndex:1];
        NSLog(@"%@",arr);
        
        //删除元素
        
        //根据对象内容删除
//        [arr removeObject:@"zbz"];
        NSLog(@"%@",arr);
        
        //根据对象下标删除
        [arr removeObjectAtIndex:1];
        NSLog(@"%@",arr);
        
        [arr removeAllObjects];
        NSLog(@"%@",arr);
        
        //修改元素
        [arr3 replaceObjectAtIndex:1 withObject:@"four"];
        
        NSLog(@"%@",arr3);
        
        arr3[1] = @"five";
        NSLog(@"%@",arr3);
        
        //查找元素
        BOOL isSerach = [arr3 containsObject:@"one"];
        
        NSLog(@"%d",isSerach);
        
        //交换元素
        NSMutableArray *arr5 = [NSMutableArray arrayWithObjects:@1,@2,@3,@4,@5, nil];
        [arr5 exchangeObjectAtIndex:0 withObjectAtIndex:4];
        NSLog(@"%@",arr5);
        
    }
    return 0;
}


NSDictionary的使用

//不可变的,一旦创建,内容就不能添加/删除
        NSDictionary *dir = [NSDictionary dictionary ];
        
        NSDictionary *dir2 = [NSDictionary dictionaryWithObject:@"张三" forKey:@"zs"];
        
        //创建一个字典,前面的是value值,后面是key值,两个一组
        NSDictionary *dir3 = [NSDictionary dictionaryWithObjectsAndKeys:
                              @"value1",@"k1",@"value2",@"k2", nil];
        
        NSLog(@"%@1",dir2);
        
        //快速创建一个字典
        //key值不能重复:
        //如果重复了,不会报错,
        //如果重复了,最后添加不会保存到字典中
        NSDictionary *dir4 = @{@"zs":@"zhangsan",@"ls":@"list",@"bz":@"bangzhang"};
        
        NSLog(@"%@1",dir4);
        
        //获取字典的长度
        NSLog(@"%lu",dir4.count);
        
        //根据key值取出value值
        
        NSLog(@"%@",[dir4 objectForKey:@"zs"]);
        
        //字典的遍历问题
        
        for (NSString* key in dir4) {
            
            NSLog(@"k =%@,value = %@",key,[dir4 objectForKey:key]);
            
        }
        
        [dir4 enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
            
            NSLog(@"%@ = %@",key,obj);
        }];

NSDictionary的简写

//用简写形式定义一个字典
    NSDictionary *dict = @{@"zbz":@"zhangbozhi",@"cgx":@"chengguanxi",@"xzmly":@"hello"
                           };
    
    //用简写形式,获取key对应的value
    NSLog(@"%@",dict[@"zbz"]);


NSMutableDictionary的使用

//可变字典的创建
        NSMutableDictionary *dict = [NSMutableDictionary dictionary];
        
        NSMutableDictionary *dict2 = [NSMutableDictionary dictionaryWithCapacity:3];
        
        //给可变字典添加键值对
        [dict setValue:@"lisi" forKey:@"ls"];
        [dict setValue:@"zhaosi" forKey:@"zs"];
        
        [dict setValue:@"liuneng" forKey:@"ln"];
        
        NSLog(@"%@",dict);
        
        //删除
        [dict removeAllObjects];
        
        //修改
        [dict setObject:@"zhaoshi" forKey:@"ls"];
        
        dict[@"ls"] = @"xxx";
        
        NSLog(@"%@",dict);
        
        //查找
       NSArray *arr = [dict allKeys];
        
        [arr containsObject:@"ls"];



智慧医药系统(smart-medicine)是款采用SpringBoot架构构建的Java Web应用程序。其界面设计简洁而富有现代感,核心特色在于融合了当前前沿的生成式人工智能技术——具体接入了阿里云的通义千问大型语言模型,以此实现智能医疗咨询功能,从而增强系统的技术先进性与实用价值。该系统主要定位为医学知识查询与辅助学习平台,整体功能结构清晰、易于掌握,既适合编程初学者进行技术学习,也可作为院校课程设计或毕业项目的参考实现。 中医舌诊作为传统医学的重要诊断手段,依据舌象的颜色、形状及苔质等特征来辨析生理状况与病理变化。近年来,随着计算科学的进步,人工智能技术逐步渗透到这传统领域,形成了跨学科的研究与应用方向。所述的中医舌诊系统正是这方向的实践产物,它运用AI算法对舌象进行自动化分析。系统以SpringBoot为基础框架,该框架依托Java语言,致力于简化Spring应用程序的初始化与开发流程,其突出优势在于能高效构建独立、可投入生产的应用,尤其契合微服务架构与云原生环境,大幅降低了开发者在配置方面的负担。 系统中整合的通义千问大语言模型属于生成式人工智能范畴,通过海量数据训练获得模拟人类语言的能力,可在限定领域内生成连贯文本,为用户提供近似专业医生的交互式咨询。该技术的引入有助于提升诊断过程的自动化水平与结果致性。 在设计与体验层面,本系统强调逻辑明晰与操作简便,旨在降低用户的学习门槛,尤其适合中医知识的入门教学。整体交互模式接近百科全书式查询,功能模块精炼聚焦,因而非常适用于教育场景,例如学术项目展示或毕业设计答辩。通过直观的实践界面,使用者能够更深入地理解中医舌诊的理论与方法。 此外,系统界面遵循简约大气的设计原则,兼顾视觉美感与交互流畅性,以提升用户的专注度与使用意愿。结合AI的数据处理能力,系统可实现对舌象特征的快速提取与实时分析,这不仅为传统诊断方法增添了客观量化维度,也拓展了中医知识传播的途径。借助网络平台,该系统能够突破地域限制,使更多用户便捷地获取专业化的中医健康参考,从而推动传统医学在现代社会的应用与普及。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
【掺铒光纤放大器(EDFA)模型】掺铒光纤放大器(EDFA)分析模型的模拟研究(Matlab代码实现)内容概要:本文介绍了掺铒光纤放大器(EDFA)分析模型的模拟研究,并提供了基于Matlab的代码实现方案。通过对EDFA的工作原理、增益特性、噪声系数等关键性能指标进行数学建模与仿真分析,帮助研究人员深入理解其在光通信系统中的作用机制。文档还列举了多个相关科研方向的技术支持内容,涵盖智能优化算法、路径规划、无人机应用、通信与信号处理、电力系统管理等多个领域,展示了Matlab在科学研究与工程仿真中的广泛应用能力。此外,文中附带网盘链接,便于获取完整的代码资源与开发工具包。; 适合人群:具备定光学通信或电子信息背景,熟悉Matlab编程,从事科研或工程仿真的研究生、高校教师及技术研发人员。; 使用场景及目标:①用于光通信系统中EDFA性能的理论分析与仿真验证;②支持科研人员快速构建和测试EDFA模型,提升研究效率;③为教学实验、毕业设计及学术论文复现提供可靠的技术参考与代码基础。; 阅读建议:建议读者结合光通信基础知识,按照文档结构逐步运行并调试Matlab代码,重点关注模型参数设置与仿真结果分析,同时可利用提供的网盘资源拓展学习其他相关课题,深化对系统级仿真的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值