美文网首页
Objective-C 学习笔记(二)变量、常量、运算符

Objective-C 学习笔记(二)变量、常量、运算符

作者: 小道清泓 | 来源:发表于2019-03-20 20:31 被阅读0次

详细教程地址(中文)
详细教程地址(英文)

变量

  • 变量的声明:告诉编译器有一个给定类型和名称的变量。
extern int i; // 声明变量i
int j; // 声明并定义变量j
  • 变量的定义:告诉编译器为变量创建存储的位置和数量。
int i; // 声明并定义变量i
int j = 0; // 声明并定义的同时初始化变量j

i = 1; // 初始化变量i
  • 变量的作用域:
类型 作用域
全局变量 该程序的全部文件
局部变量 只在其声明并定义的方法或函数中使用
静态全局变量 只在当前文件有效
静态局部变量 与局部变量的作用域一致

静态变量或全局变量:采用静态存储方式,存储在静态区,程序一开始便分配空间直到程序结束。
局部变量:采用动态存储方式,存储在堆、栈区,根据使用而去分配或释放空间。

了解更多(简书上看到一位,写得很详细)

常量

  • 概念:常量指程序在执行期间不会改变的固定值。

  • 定义:

/* 使用 #define 预处理命令(#define执行的只是简单的文本替换,所以不需要分号结束)*/
#define PI 3.1415926

/* 使用关键字const */
const float PI = 3.1415926;

在编程时,经常使用大写表示常量。

运算符

  • 示例:
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int a = 5, b = 4;
        
        // 算术运算符
        NSLog(@"%d\n", (a++)+b);    // a = 5, b = 4 --> 9
        NSLog(@"%d\n", a-b);        // a = 6, b = 4 --> 2
        NSLog(@"%d\n", a*(--b));    // a = 6, b = 3 --> 18
        NSLog(@"%d\n", a/b);        // a = 6, b = 3 --> 2
        NSLog(@"%d\n", a%b);        // a = 6, b = 3 --> 0
        
        // 此时a = 6, b = 3
        
        // 关系运算符(非零值均可看成是true)
        NSLog(@"%d\n", a==b);       // a = 6, b = 3 --> 0 false
        NSLog(@"%d\n", a!=b);       // a = 6, b = 3 --> 1 true
        NSLog(@"%d\n", a>b);        // a = 6, b = 3 --> 1 true
        NSLog(@"%d\n", a<b);        // a = 6, b = 3 --> 0 false
        NSLog(@"%d\n", a>=b);       // a = 6, b = 3 --> 1 true
        NSLog(@"%d\n", a<=b);       // a = 6, b = 3 --> 0 false
        
        a = 3; b = 0;
        
        // 逻辑运算符
        NSLog(@"%d\n", a&&b);       // a = 3, b = 0 --> 0 true and false --> false
        NSLog(@"%d\n", a||b);       // a = 3, b = 0 --> 1 true or false --> true
        NSLog(@"%d\n", !a);         // a = 3 --> 0 not true --> false
        NSLog(@"%d\n", !b);         // b = 0 --> 1 not false --> true
        
        a = 3; b = 7;
        
        // 位运算符(注释以二进制表示)
        NSLog(@"%d\n", a&b);        // a = 0011, b = 0111 --> 0011 3
        NSLog(@"%d\n", a|b);        // a = 0011, b = 0111 --> 0111 7
        NSLog(@"%d\n", a^b);        // a = 0011, b = 0111 --> 0100 4
        NSLog(@"%d\n", a<<1);       // a = 0011 --> 0110 6
        NSLog(@"%d\n", a>>1);       // a = 0011 --> 0001 1
    }
    
    return 0;
}
  • 优先级:
分类 运算符 关联性
后缀 () [] -> . ++ -- 左到右
一元 + - ! ~ ++ -- (type)* & sizeof 右到左
相乘 * / % 左到右
相加 + - 左到右
位移 << >> 左到右
关系 <<= >>= 左到右
相等 == != 左到右
按位AND & 左到右
按位XOR ^ 左到右
按位OR | 左到右
逻辑AND && 左到右
逻辑OR || 左到右
条件 ?: 右到左
分配 = += -= *= /= %= >>= <<= &= ^= |= 右到左
逗号 ,

相关文章

  • 我的Swift的学习总结 -->第一周

    为什么要学习Swift 变量和常量 Swift 变量 变量声明 变量的命名规则 如: 常量 运算符 算术运算符 关...

  • Objective-C 学习笔记(二)变量、常量、运算符

    详细教程地址(中文)详细教程地址(英文) 变量 变量的声明:告诉编译器有一个给定类型和名称的变量。 变量的定义:告...

  • swift学习笔记(1) --- 基础部分

    注:学习笔记基于 Swift 5.1 1、常量和变量 (1)声明常量和变量 常量和变量必须在使用前声明,用 let...

  • Go基础系列:5. 常量及运算符

    学到什么 什么是常量? 如何定义常量? 常量和变量有什么不同? 如何使用常量? 有哪些运算符? 如何使用运算符? ...

  • 2.3 算术运算符

    一、学习要求 书籍参考章节: 第3.5章 知识点: 算数运算符 二、参考知识 运算符用于将各种常量、变量组成一个表...

  • python基本语法:变量、常量、表达式和运算符

    一、变量、常量 变量:值可以动态变化的量 常量:值不会发生变化,如 π 、e 二、表达式和运算符 表达式:由变量...

  • [Java教程 10] 运算符之算术运算符

    运算符 运算 对常量和变量进行操作的过程称为运算。 运算符 对常量和变量进行操作的符号称为运算符 操作数 参与运算...

  • 运算符

    运算符:对常量或变量进行操作的符号,叫做运算符表达式:用运算符将多个常量或变量连起来的式子,叫做表达式 运算符分类...

  • Golang学习笔记-变量,常量,运算符

    变量 Go变量命名和C语言一样,由字母、数字、下划线组成,其中首个字符不能为数字,声明变量的形式为: 例如: 如果...

  • Note 3 Swift (1)

    Swift学习笔记 变量与常量 变量 常量 值类型与引用类型 值类型 引用类型 数组与字典 数组 字典

网友评论

      本文标题:Objective-C 学习笔记(二)变量、常量、运算符

      本文链接:https://www.haomeiwen.com/subject/cfntvqtx.html