int

表示整型变量,是一种数据类型,用于定义一个整型变量,不能赋值为null。

int?

表示可以为空的整数类型,它的值可以为null,给变量赋值得时候,给变量(int类型)赋值为null,而不是0。

int??

用于判断并赋值,先判断当前变量是否为null,如果是就可以赋个新值,否则跳过,就是说只能为null时才能赋值

public int? a=null;//定义一个整型变量a,他的值为nullpublic int num()
{return this.a ?? 0;  //判断a是否为null,是赋值,若不是null,则不执行。
}

对于一个类型,如果既可以给它分配一个值,也可以给它分配空引用null(表示没有任何值),我们就说这个类型是可空的。

因此,可空类型可表示一个值,或表示不存在任何值。

还有其他相似的情况。

比如bool?类型

值的情况只有三种,null,false,true,这三种,而bool??的意思和int??类似。

public bool? IsOk=null;//定义一个布尔变量IsOk,他的值为nullpublic int num()
{return this.IsOk?? false;  //判断IsOk是否为null,是赋值,若不是null,则不执行。
}

补充:其它的类型后加问号表示的相同的意思。

int?和int的区别相关推荐

  1. const int * 、int * const、int const* 、const int a(){ } 和int a()const { }的区别和联系

    前言:很多人都把const int * .int * const.int const* 的区别和联系搞混,我自己在学习C++的过程中,也经常性          弄不 清楚,今天特意总结一下,作为学习 ...

  2. int(1) 和 int(10) 有什么区别?资深开发竟然分不清!

    欢迎关注方志朋的博客,回复"666"获面试宝典 困惑 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table x ...

  3. int和Integer的区别在哪里

    int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型  2.Integer变量必须实例化后才能使用,而int变量不需要  3.Integer实际是对象 ...

  4. int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了!

    文章来源:https://sourl.cn/ZVQP6t 困 惑 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table xxx A ...

  5. const int *,const int * const和int const *有什么区别?

    我总是搞砸了如何正确使用<code>const int* , const int * const和int const * . 是否有一组规则定义您可以做什么和不能做什么? 我想知道在分配, ...

  6. java int interger_java面试题之int和Integer的区别

    int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...

  7. C 关于unsigned int compzero = ~0;与unsigned int compzero = 0xFFFF; 的区别!

    C 关于unsigned int compzero = ~0;与unsigned int compzero = 0xFFFF; 的区别! unsigned int zero = 0; unsigned ...

  8. java int == integer_java int与integer的区别

    int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型 ...

  9. const int 和INT const区别

    const int 和INT const区别 2010-04-09 23:26 const int a = 5; int const b = 6; 没区别 指针的时候有区别,引用也有区别 指针的话 1 ...

  10. 二十八、Java中的Int和Integer的区别

    @Author:Runsen @Date:2020/6/3 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

最新文章

  1. 量子CNN不存在梯度消失问题,物理学家已完成理论证明
  2. VMProtect SDK完全避坑指南
  3. VTK:Medical之TissueLens
  4. 赛尔原创 | N-LTP:基于预训练模型的中文自然语言处理平台
  5. #pragma code_seg(INIT)/code_seg(PAGE)
  6. DOCKERFILE参数注解
  7. Django的url反向解析
  8. rvest | 网络爬虫初步——使用CSS选择器
  9. 机床电气课程设计(自己总结)
  10. 关于NLPIR在MAC上的使用
  11. 谈谈我见到的杨钰莹是什么样子
  12. 的计算机基本操作知识,电脑的基本操作知识有哪些
  13. 这一次,让你把深拷贝和浅拷贝刻进骨子里
  14. 总结XSS与CSRF两种跨站攻击
  15. 3 为什么考研?该做那些准备 --绝密,程序员大厂面试求职大揭秘!
  16. uni App+H5 实现人脸识别
  17. Android —MVP架构—登录页面示例
  18. Lingo 对策论(博弈论)模型
  19. 【蓝桥杯】基础练习 01字串 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
  20. HPE DL388GEN9 /windows server 2012r2 重置管理员密码/忘记管理员密码

热门文章

  1. linux 内核加载错误 Invalid module format
  2. ifconfig命令实例
  3. linux centos7 使用 crosstool-ng 构建 交叉编译 工具链 即构建各cpu架构平台的gcc编译器
  4. linux centos7 docker 安装 oracle
  5. BIOS-SMI Introduction
  6. linux 将文件分成两部分,linux 将大文件分成小文件
  7. querystring java_java – 自定义枚举的QueryStringBindable
  8. mongo在哪创建管理员_如何给mongodb管理员权限
  9. 提升权限_Azure权限提升漏洞
  10. php仿tp5实现模型,php手记之05-tp5模型操作数据库