Objective-C基础之基本数据类型
Objective-C是C语言的超集,故基本类型是一样的,所以学过C语言的朋友,在面对Objective-C时也不会太陌生,毕竟数据类型是一样的,只不过对数据的处理方法不一样,那么我们就来一起学习下基本数据类型,为整个Objective-C的学习打好基础
整个数据类型如下图所示
可以看到基本的数据类型包括 ×××,字符型,浮点型,枚举型,此篇博文就主要概述这四种类型
1.×××
整型包括如下几种具体的类型
short int
int
long int
long long
最常用的就是int了,其余三种我们平时用得少,但并不是不用,
short int在内存中占16位,取值范围是-2的15次方到2得15次方,
int类型在内存中占32位,取值范围是-2的31次方到2的31次方,
long int在内存中占64位,取值范围是-2的63次方到2得63次方。
long long和long int 差不多,也是内存占64位,取值范围是-2的63次方到2得63次方。
Objective-C还允许在整型前面添加unsigned关键字,将他们变成无符号整型,而且最大值比没有unsigned还要打一倍,比如short int 的取值范围是-32768-32767 那么unsigned的取值范围是0-65535
2.字符型
字符型代表的单个字符,这个没什么要讲的了,因为学过编程的都见过并且用过,Objective-C中得字符类型只占一个字节,所以字符类型并不支持中文(中文是2个字节)
另外我们常用的转移字符也属于字符型的范畴
常用的如下
\b 退格符
\n 换行符
\r 回车符
\t 制表符
\" 双引号
\' 单引号
\\ 反斜线
这里Objective-C和C有一个区别就是Objective-C的字符类型是单引号括起来,C语言的字符类型是双引号括起来,
3.浮点型
浮点类型有三种:float,double和long double。一般情况下,float占4字节,double占8字节,long double占16字节
除非另有说明,否则,Objective-C 编译器将所有浮点常量均看作 double 值。要清楚地表示 float 常量,需要再数字的尾部添加一个 f 或 F,例如:12.8f
4.枚举型
枚举值也是编程中常用的一种数据结构,他表示变量中包含几种可能的值,例如太阳系行星的变量值有金星,水星,木星,火星,土星,地球,天王星,海王星,像这种就可以定义为枚举
具体使用方法如下
enum season {spring,summer,fall,winter};
enum season myLove=summer;
第一行表示申明一个枚举类型 ,season,它的值只包括 spring,summer,fall,winter四种,第二行的意思是,创建一个season的值,给它赋值为summer,
5.输出格式字符
Objective-C中,有一个输出的函数叫NSlog(),表示输出字符串和其他数据类型,并且可以用到“%”占位符,解释其参数。使用方法如以下代码:
int a = 56;
NSLog(@"==%d==" , a);
NSLog(@"==%9d==" , a); // 输出整数占9位
NSLog(@"==%-9d==" , a); // 输出整数占9位,并且左对齐
NSLog(@"==%o==" , a); // 输出8进制数
NSLog(@"==%x==" , a); // 输出16进制数
long b = 12;
NSLog(@"%ld" , b); // 输出long int型的整数
NSLog(@"%lx" , b); // 以16进制输出long int型的整数
double d1 = 2.3;
NSLog(@"==%f==" , d1); // 以小数形式输出浮点数
NSLog(@"==%e==" , d1); // 以指数形式输出浮点数
NSLog(@"==%g==" , d1); // 以最简形式输出浮点数
NSLog(@"==%9f==" , d1); // 以小数形式输出浮点数,并且最少占用9位
NSLog(@"==%9.4f==" , d1); // 以小数形式输出浮点数,至少占用9位,小数点共4位
long double d2 = 2.3;
NSLog(@"==%lf==" , d1); // 以小数形式输出长浮点数
NSLog(@"==%le==" , d1); // 以指数形式输出长浮点数
NSLog(@"==%lg==" , d1); // 以最简形式输出长浮点数
NSLog(@"==%9lf==" , d1); // 以小数形式输出长浮点数,并且最少占用9位
NSLog(@"==%9.4lf==" , d1); // 以小数形式输出长浮点数,至少占用9位,小数点共4位
NSString *str = @"疯狂iOS";
NSLog(@"==%@==" , str); // 输出Objective-C的字符串
NSDate *date = [[NSDate alloc] init];
NSLog(@"==%@==" , date); // 输出Objective-C对象
%f %e %g三个都是表示浮点型的输出占位符,%f表示浮点值,%e表示科学计数法,&g表示使用常用的浮点计数法还是使用科学计数法来显示浮点值。这一决定取决于指数的值:如果该值小于 -4 或大于 5,采用 %e (科学计数法)表示,否则采用 %f (浮点计数法)。
转载于:https://blog.51cto.com/romitlee/1591563
Objective-C基础之基本数据类型相关推荐
- Python基础语法和数据类型最全总结
本文分享自华为云社区<Python最全基础语法和数据类型总结>,原文作者:北山啦 . 人生苦短,我用Python.总结了Python最全基础语法和数据类型总结,一文带你学会Python. ...
- numeric scale mysql_MySQL基础教程1 — 数据类型之数值类型 - numeric
...if (!$dateTimeString) { $dateTimeString = time(); } $numeric = ''; $add_space = false; for($i=0;$ ...
- ArcGIS基础学习:数据类型
ArcGIS基础学习:数据类型 前言 最近喜欢上了学习地理统计的相关内容,准备开始学习,会不定时修改. 第一章 数据类型 一.arcgis数据类型: 1.数字型:整数型.单精度浮点型.双精度浮点型 2 ...
- Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化
Python入门(二)--IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化 我们从今天就开始正式的学习PY交易了,PY交易还行,我们有基础之后学习起来倒不是说 ...
- Practical Python基础1(数据类型,运算,比较符号,字符串,列表,函数等)
Practical Python基础1(数据类型,运算,比较符号,字符串,列表,函数等) Python是一种解释性的高级编程语言.它通常被归类为"脚本语言",被认为类似于Perl. ...
- Verilog HDL基础知识---之数据类型
Verilog HDL基础知识之数据类型 数据类型 物理数据类型 连线型 寄存器型 连线型和寄存器型数据类型的声明 存储器型 抽象数据类型 整型 时间型 实型 参数型 kkkk我来啦 , 接上回写 数 ...
- Java Web学习day26------Redis基础、Redis数据类型、常用指令、jedis、持久化
Redis基础.Redis数据类型.常用指令.jedis.持久化 1. Redis 简介 1.1 NoSQL概念 1.2 Redis概念 1.3 Redis 的下载与安装 1.4 Redis服务器启动 ...
- js打印,基础知识,数据类型
打印,基础知识,数据类型 <!DOCTYPE html> <html><head><meta charset="utf-8" />& ...
- UE4 Material 101学习笔记——01-07 介绍/PBR基础/UV扭曲/数据类型/翻页动画/材质混合/性能优化
UE4 Material 101学习笔记--01-07 介绍/PBR基础/UV扭曲/数据类型/翻页动画/材质混合/性能优化 Lec 01 什么是着色器 What Is A Shader? 1.1 介绍 ...
- 2021年大数据常用语言Scala(六):基础语法学习 数据类型与操作符
数据类型与操作符 scala中的类型以及操作符绝大多数和Java一样,我们主要来学习 与Java不一样的一些用法 scala类型的继承体系 数据类型 基础类型 类型说明 Byte 8位带符号整数 Sh ...
最新文章
- 【转】webgame前台开发总结--虽然是10年的文章,但是也有参考价值
- Dwg图纸属性的读取
- SwipeRefreshLayout
- object detection
- 计算机图形软件---OpenGL简介
- 事件过滤器及不规则窗体
- iOS开发-开发总结(四)
- Kafka集成Kerberos之后如何使用生产者消费者命令
- 关于flymcu烧录stm32芯片超时的问题解决
- Intelligent driver model(IDM)
- 二、爬虫 - 新浪爱问共享资源全下载之功能实现
- 第十六届—振兴杯计算机网络管理员决赛模拟题
- 手机怎么查看视频的MD5
- 使用Chrome调试JavaScript
- 阿里面试经历与感受谈
- 抢票软件不靠谱?不如看看用AI怎么玩转12306
- 2022软科世界大学学术排名
- GitHub:图像分类/目标检测资料
- 【LSTM+embeddingbag】进行文本分类完整代码~
- 适合大学生浏览的网站
热门文章
- redis php方法,PHP操作Redis的基本方法
- php urledcode_攻防世界 php 2 函数urldecode 使用说明
- 华中科技大学计算机系统结构,华中科技大学计算机系统结构考研
- python作用域排序_11道Python常见面试题,80%的人不会
- ajax 连接java,如何使用Ajax连接到Java servlets?
- mysql用户权限与安全实例_mysql用户权限管理实例分析
- oracle analyze 全部表,Oracle analyze table
- linux系统下c语言程序需要改动的地方,如何在Linux系统环境下进行C语言开发
- php基类控制器,控制器基类
- vue element form 自定义校验1(字段校验)