1.基本数据类型及打印
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
int a=100;
float b=12.34;
NSString *c=@"hello world";
NSDate *date=[NSDate date];
NSLog(@"%d\n",a);
NSLog(@"%f\n",b);
NSLog(@"%@\n",c);
NSLog(@"%@\n",date);
}
return 0;
}
输出:
2020-05-13 16:59:10.204527+0800 EX003[2802:159979] 100
2020-05-13 16:59:10.204839+0800 EX003[2802:159979] 12.340000
2020-05-13 16:59:10.204899+0800 EX003[2802:159979] hello world
2020-05-13 16:59:10.204937+0800 EX003[2802:159979] Wed May 13 16:59:10 2020
2.枚举类型
int main(int argc, const char * argv[]) {
@autoreleasepool {
enum Mycolor{red,black,blue};//常规定义枚举变量
enum {pink,yellow,green} car1,car2;//匿名定义枚举变量
enum Mycolor box1=black;
car1=pink;
NSLog(@"%d",box1);//输出1,实际枚举的值都是整数,从0开始
NSLog(@"%d",car1);
switch (car1) {
case 0:
NSLog(@"the car is pink");
break;
case 1:
NSLog(@"the car is yellow");
break;
case 2:
NSLog(@"the car is green");
break;
default:
NSLog(@"unkown color");
}
}
return 0;
}
输出:
2020-05-13 17:08:01.552215+0800 EX003[2854:163890] 1
2020-05-13 17:08:01.552503+0800 EX003[2854:163890] 0
2020-05-13 17:08:01.552529+0800 EX003[2854:163890] the car is pink
3.BOOL类型
#import <Foundation/Foundation.h>
BOOL judge(int a,int b){
if (a>b) {
NSLog(@"%d is bigger then %d\n",a,b);
return true;
}else{
NSLog(@"%d is smaller then %d\n",a,b);
return false;
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
if (judge(1,3)) {
NSLog(@"hello world");
}else{
NSLog(@"hate world");
}
}
return 0;
}
输出:
2020-05-13 17:14:29.959361+0800 EX003[2911:167448] 1 is smaller then 3
2020-05-13 17:14:29.959651+0800 EX003[2911:167448] hate world
4.类型转换
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
float a=123.45;
NSString *umber=@"100";
int b=120;
int c=a;
float d=b;
int e='e';
NSLog(@"%d\n",c);
NSLog(@"%f\n",d);
NSLog(@"%d\n",e);
NSLog(@"%f\n",(float)e);
}
return 0;
}
5.数组定义及使用
#import <Foundation/Foundation.h>
#define ARR_LENGTH 5;
int main(int argc, const char * argv[]) {
@autoreleasepool {
int myArray[]={1,2,3};//自动判断数组长度
for (int i=0,length=sizeof(myArray)/sizeof(myArray[0]);i<length; i++) {
NSLog(@"%d \t",myArray[i]);
}
NSLog(@"-----\n");
const int arr_length=5;
NSString *myArray1[arr_length];
myArray1[0]=@"zhangsan";
myArray1[1]=@"lisi";
myArray1[2]=@"wanger";
myArray1[3]=@"mafei";
myArray1[4]=@"laoren";
for (int i=0; i<arr_length;i++) {
NSLog(@"%@ \t",myArray1[i]);
}
NSLog(@"-----\n");
int array2[arr_length]={3,5,7};//定义为5,但实际为3,后面两个值不可靠
for (int i=0,length=sizeof(array2)/sizeof(array2[0]); i<length; i++) {//oc依然没有提供数组长度的方法或者属性
NSLog(@"%d\t",array2[i]);
}
}
return 0;
}
输出:
2020-05-13 18:17:24.782025+0800 EX003[3487:198983] 1
2020-05-13 18:17:24.782311+0800 EX003[3487:198983] 2
2020-05-13 18:17:24.782338+0800 EX003[3487:198983] 3
2020-05-13 18:17:24.782358+0800 EX003[3487:198983] -----
2020-05-13 18:17:24.782404+0800 EX003[3487:198983] zhangsan
2020-05-13 18:17:24.782428+0800 EX003[3487:198983] lisi
2020-05-13 18:17:24.782447+0800 EX003[3487:198983] wanger
2020-05-13 18:17:24.782465+0800 EX003[3487:198983] mafei
2020-05-13 18:17:24.782483+0800 EX003[3487:198983] laoren
2020-05-13 18:17:24.782499+0800 EX003[3487:198983] -----
2020-05-13 18:17:24.782533+0800 EX003[3487:198983] 3
2020-05-13 18:17:24.782569+0800 EX003[3487:198983] 5
2020-05-13 18:17:24.782591+0800 EX003[3487:198983] 7
2020-05-13 18:17:24.782625+0800 EX003[3487:198983] 0
2020-05-13 18:17:24.782648+0800 EX003[3487:198983] 0
6.多维数组
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
int length1=3;
int length2=2;
int multiArray1[length1][length1];
int multiArray2[][2]={{3,4},{7,5},{9,8}};//确实第一个数组长度参数,由于有第二维长度,系统自动推断第一维长度
for (int i=1; i<length1+1; i++) {
for (int j=1; j<length2+1; j++) {
multiArray1[length1][length2]=i*j;
NSLog(@"%d \t",multiArray1[length1][length2]);
}
NSLog(@"----");
}
NSLog(@"========");
for (int i=0,length=sizeof(multiArray2)/sizeof(multiArray2[0]); i<length; i++) {
for (int j=0,length3=sizeof(multiArray2[i])/sizeof(multiArray2[i][0]); j<length3; j++) {
NSLog(@"%d",multiArray2[i][j]);
}
NSLog(@"----");
}
}
return 0;
}
输出:
2020-05-13 19:31:58.641631+0800 EX003[3964:228572] 1
2020-05-13 19:31:58.641901+0800 EX003[3964:228572] 2
2020-05-13 19:31:58.641930+0800 EX003[3964:228572] ----
2020-05-13 19:31:58.641949+0800 EX003[3964:228572] 2
2020-05-13 19:31:58.641966+0800 EX003[3964:228572] 4
2020-05-13 19:31:58.642041+0800 EX003[3964:228572] ----
2020-05-13 19:31:58.642086+0800 EX003[3964:228572] 3
2020-05-13 19:31:58.642109+0800 EX003[3964:228572] 6
2020-05-13 19:31:58.642130+0800 EX003[3964:228572] ----
2020-05-13 19:31:58.642219+0800 EX003[3964:228572] ========
2020-05-13 19:31:58.642276+0800 EX003[3964:228572] 3
2020-05-13 19:31:58.642325+0800 EX003[3964:228572] 4
2020-05-13 19:31:58.642369+0800 EX003[3964:228572] ----
2020-05-13 19:31:58.642453+0800 EX003[3964:228572] 7
2020-05-13 19:31:58.642542+0800 EX003[3964:228572] 5
2020-05-13 19:31:58.642613+0800 EX003[3964:228572] ----
2020-05-13 19:31:58.642639+0800 EX003[3964:228572] 9
2020-05-13 19:31:58.642659+0800 EX003[3964:228572] 8
2020-05-13 19:31:58.642676+0800 EX003[3964:228572] ----