//引入头文件
//c中的引入头文件的方式
//#include <stdio.h>
//#include<Foundation/Foundation.h>//没有报错
#import <Foundation/Foundation.h>//引入头文件
//为什么引入import
//import 和include都是引入头文件,import引入的头文件可以防止重复包含
//include他是使用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题
//2,import 和@class的区别
//3,foundation/Foundation.h是什么东西
// 1)头文件
//2)头文件的位置
//3)文件包含了其他的大量的头文件
// 作用:把Foundation.h引入了,等于把oc的库文件都引过来了
int main(int argc,const char * argv[]) {
@autoreleasepool {
//自动释放词
// insert code here...
//是一个函数
//作用:向控制台输出字符串
NSLog(@"Hello, cjk!");
printf("hello,world\n");
//NSLog很像printf,同样会在console中输出结果,不同的是传递进去的格式化字符是NSString的对象,而不是这种字符串常量
//NSLog可自动换行,会自动输出时间等项目信息
int a =5;
float f1=2.3f;
double d1=3.14;
char ch='x';
char *str="张三丰";
//如果能够运行,说明oc向下兼容c
printf("%d,%.2f,%.2f,%c\n",a, f1,d1,ch);
printf("%s\n",str);
//NSLog格式化输出
NSLog(@"%d,%.2f,%.2f,%c",a, f1,d1,ch);
NSLog(@"-------->%s",str);//不能这么写
//oc中有自己特有的字符串表示方法
//用%@输出字符串
NSString * str1 = @"张三丰";
NSLog(@"%@",str1);
//使用printf能够打印str1?
//不能
}
return 0;
}
//"@"的使用方法
//1) @" "这个符号表示将一个C的字符转化为OC中的字符串对象NSString
//2) @标识符 OC中大部分的关键字都是以@开头的
/*oc和c对比学习
1)文件差异
2)数据类型差异
3)关键字差异
4)流程控制差异
oc中并没有增加新的流程控制
oc中提供一种增强型的for 循环
NSarray *arr=@[@"one",@"two",@"three"];
//oc中增强的for循环
for(NSString *str in arr)|{
NSLog(@"%@",str);
}
oc中函数的定义和声明的差异
c语言中的函数
int Max(int x,y);
int max(int x,int y){
return x>y?x:y;
}
oc中把函数称之为“方法”
+(void)test;
-(void) test;
-(int)max:(int)x andY:(int) y;
oc和c对比学习第二部分
1)oc中新增的数据类型
(1)boolean
作用:用来存放逻辑值 (1,真(非0) 2,假(0)
用来做判断
存储的值: true(真) false(假 0)
boolean flag = true;
if(flag){
NSLog(@"真%d",flag);
}else{
NSLog(@"假%d",flag);}
BOOL
作用:也是用来存储逻辑值
取值: YES(真) NO(假)
BOOL flag2 =YES;
if(flag2){
NSLog(@"真%d",flag);
}else{
NSLog(@"假%d",flag);
}
2)oc中的异常捕捉机制
异常:程序运行时有bug
捕捉机制:排除错误
@try{
如果有异常
}@catch{
捕捉最具体的异常类型
}@finally{不管有没有异常finally内的代码都会被执行
}
*/
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[]){
@autoreleasepool {
//Boolean的使用
//1 真 0 假
Boolean flag = true;
if(flag){
NSLog(@"真%d",flag);
}else{
NSLog(@"假%d",flag);
}
//BOOL类型
BOOL flag2 =YES;
if(flag2){
NSLog(@"BOOL YES真%d",flag);
}else{
NSLog(@"BOOL NO假%d",flag);
}
}
return 0;
}