常量

定义:常量就是在程序中固定不变的值,是不能改变的数据

常量类型:整型常量、浮点数常量、布尔常量、字符常量、字符串常量

1.整型常量(整数常量):(1)二进制——0b或0B开头,后面是0和1的数字序列

(2)八进制——0开头,后面是0到7之间的数字序列

(3)十进制——0-9之间的数字序列

(4)十六进制——0x或0X开头,后面是0-9、A-F的数字序列

2.浮点数常量(小数):两种分类:(1)单精度浮点数(float):以f或F结尾

(2)双精度浮点数(double):以d或D结尾

3.字符常量:用于表示一个字符,一个字符常量可以是英文字母,数字,标点符号,以及由转义序列表示的特殊字符 例子:‘a’ ‘1’

4.字符串常量:字符串常量: 由一对双引号括起来的多个字符的序列,如"a",“I Love u”

以下为转载内容

字符串在本质上是多个字符组成的字符数组,C语言规定,在每个字符串常量的结尾,系统会自动加一个字符 '\0' ,作为该字符串的结束标识符,根据是否是 '\0' 判断字符串是否结束。

PS: '\0' 是系统自动加上的,不是人为添加的。

比如字符串“a”,看起来它只有1个字符,但是结尾有 '\0' ,所以这个字符串在内存中占2个字节。

int main(void)
{
  printf("%d \x20", sizeof(" ")); //空格占1个字符,所以字符串所占长度为2
  printf("%d \x20", sizeof("a")); //a占1个字符,所以字符串所占长度为2
  printf("%d \x20", sizeof("你好")); //每个中文占2个字符,所以字符串所占长度为5
  return 0;
}

5.布尔变量:true和flase

6.null常量:只有一个值null,表示对象的引用为空

补充:十进制和二进制之间的关系

十进制转二进制 十进制转换成二进制就是一个除以2取余数的过程。把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到的数就是转换结果。

十进制数据6三次除以2得到的余数依次是0、1、1,将所有余数倒序排列是110,所以十进制的6转换成二进制,结果是110。

二进制转十进制 二进制转化成十进制要从右到左用二进制位上的每个数乘以2的相应次方。例如,将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次方,第n位的数乘以2的n-1次方,然后把所有相乘后的结果相加,得到的结果就是转换后的十进制。

例如,把二进制数0110 0100转换为十进制,转换方式如下: 0 * 2^0 + 0 * 2^1  + 1 * 2^2 + 0 * 2^3 + 0 * 2^4 + 1 * 2^5 + 1 * 2^6 + 0 * 2^7 = 100 由于0乘以多少都是0,因此上述表达式也可以简写为: 1 * 2^2 + 1 * 2^5 + 1 * 2^6 = 100 得到的结果100就是二进制数0110 0100转化后的十进制数。

变量

在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在内存单元中,每个内存单元都用一个标识符标识,这些用于标识内存单元的标识符就称为变量,内存单元中存储的数据就是变量的值。

定义变量的语法:语法:

(1)数据类型  变量名称 = 数据值;//声明变量的同时进行初始化 例子:int x = 10;

(2)数据类型 变量名称;//声明变量         变量名称 = 数据值;//初始化变量 例子:     int y;     y = 9;

变量的数据类型

1.整数类型变量:整数类型分为4种不同的类型,分别是字节型(byte)、短整型(short)、整型(int)和长整型(long)【在为一个long类型的变量赋值时,所赋值的后面要加上字母L(或小写l),说明赋值为long类型。如果赋的值未超出int型的取值范围,则可以省略字母L(或小写l)】

2.浮点数类型变量:在Java中,一个小数会被默认为double类型的值,因此在为一个float类型的变量赋值时,在所赋值的后面一定要加上字母F(或者小写f),而为double类型的变量赋值时,可以在所赋值的后面加上字母D(或小写d),也可以不加。

3.字符类型变量:在Java中,字符类型变量用char表示,用于存储一个单一字符。Java中每个char类型的字符变量都会占用2个字节。在给char类型的变量赋值时,需要用一对英文半角格式的单引号(' ')把字符括起来,如'a'。

字符编码系统ASCII

4.布尔类型变量 :在Java中,使用boolean定义布尔类型变量,布尔类型变量只有true和false两个值。定义布尔类型变量,具体示例如下: boolean flag = false;     // 定义一个boolean类型的变量flag,初始值为false flag = true;          // 改变变量flag的值为true

变量的类型转换:

容量大小: ①byte<short<int<long<float<double; ②         char<int<long<float<double;

1.自动类型转换 :自动类型转换也叫隐式类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明,由编译器自动完成。自动类型转换必须同时满足两个条件,第一是两种数据类型彼此兼容,第二是目标类型的取值范围大于源类型的取值范围。

强制类型转换格式:目标类型  变量 = (目标类型)值 将变量num赋值给变量b时,进行强制类型转换,代码如下: byte b = (byte) num;

容量大小: ①byte<short<int<long<float<double;

②          char<int<long<float<double;

总结: 小容量向大容量转换为自动(隐式)类型转换。 大容量向小容量转换为强制(显式)类型转换。 值得注意的是byte和char ,short和char都不会存在隐式转换,相互之间只能进行强制类型转换。

变量的作用域:

成员变量:在类体内定义的变量称为成员变量,它的作用域是整个类,也就是说在这个类中都可以访问到定义的这个成员变量。

局部变量:在一个方法或方法内代码块中定义的变量称为局部变量,局部变量在方法或代码块被执行时创建,在方法或代码块结束时被销毁。局部变量在进行取值前必须被初始化,否则会编译错误。

常量的定义与使用与变量的定义与使用相关推荐

  1. 结构体的定义与结构体变量的定义

    结构体是用来存放一系列变量的集合或容器.结构体变量是一种复合型变量,每一个结构体变量包含结构体中的所有变量,即是一个变量集合. #include <stdio.h>/*struct是结构体 ...

  2. oracle中变量前加冒号_oracle变量的定义和使用【转】

    在程序中定义变量.常量和参数时,则必须要为它们指定PL/SQL数据类型.在编写PL/SQL程序时,可以使用标量(Scalar)类型.复合(Composite)类型.参照(Reference)类型和LO ...

  3. Python3:变量的定义

    1.简介 学习一门语言从当前的变量定义开始,来源于菜鸟教程:菜鸟教程中变量的定义 2.定义数字类型的变量 # 2.定义数字类型的变量 intNum=1 # 整数默认为int floatNum=1.1 ...

  4. 函数和变量的定义和声明

    函数和变量的定义和声明 一.函数的定义和声明 二.变量的定义和声明 一.函数的定义和声明 1.函数声明,无需实现该函数的功能.函数声明只是一个空壳,不会有特定的函数实现. 2.函数定义,必须实现该函数 ...

  5. 十:变量的定义和声明的区别?

    1. 变量的声明: 声明是用来告诉编译器变量的名称和类型,而不分配内存. 变量的声明有两重含义: 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的.声明可以出现多 ...

  6. C语言——变量的定义与声明

    1.变量的定义(只有一次) (1) 什么是变量: 变量的本质就是要在内存的某个位置开辟空间,用来保存数据: (2)变量定义举例说明: 变量的定义相当于对一个喜欢的人表白只能有一次. (3)为什么变量都 ...

  7. c语言定义64位的变量,李洪强-C语言9-C语言的数据,变量和常量

    一.数据 图片文字等都是数据,在计算机中以0和1存储. (一)分类 数据分为静态数据和动态数据. ①. 静态数据:一些永久性的的数据,一般存储在硬盘中,只要硬盘没坏数据都是存在的.一般以文件的形式存储 ...

  8. java常量和变量的定义

    java基础语法 3.1.关键字总结表 ​ 3.2.常量 ​ 常量的意思是在程序执行的过程中不能改变的量 java常量的分类 常量分类 说明 举例 字符串常量 用字符串括起来的多个字符 "h ...

  9. 【 Makefile 编程基础之三】详解 Makefile 变量的定义规则使用!

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/gcc-makefile/770.html ☞ ...

最新文章

  1. JS-DOM Element方法和属性
  2. 【iOS】【项目全局动态埋点】Runtime+Aspects(hook)
  3. buu [BJDCTF 2nd]rsa1
  4. [codevs 1915] 分配问题
  5. 阿里大数据分析与应用(part6)--数据大屏DataV
  6. phpstorm config include paths for swoole
  7. 00004-括号匹配问题-牛客网-要考虑各种情况
  8. 【声明】前方不设坑位,不收费!~ 我为NET狂官方学习计划
  9. 【语音识别】日语语音识别系统Julius(v4.4)的基于DNN的识别(5月8号:识别结果更新)
  10. python 余弦值,Python求向量的余弦值操作代码示例
  11. B区考研学校排名计算机,b区(b区考研学校排名)
  12. 寂寞的最初,爱情不过如此
  13. Enhancing Label Correlation Feedback in Multi-Label Text Classification via Multi-Task Learning
  14. OSM数据分析及图形化显示以及各组员之间的关系Relation的存储
  15. 2012年中国本土IC设计企业排名TOP10
  16. rstudio 修改代码间距_R语言入门:使用RStudio的基本操作
  17. 电脑搜不到wifi?新换的路由器
  18. 计算机屏幕的作用是什么,电脑屏幕分辨率是什么?有什么作用
  19. 几本OpenCV的参考书籍
  20. 学校官网首页 2页网页设计(HTML+CSS+JavaScript)

热门文章

  1. (Math)矩阵求导
  2. 决策模型(二):风险决策法
  3. getchar()的作用
  4. 非常有用的sql脚本
  5. 强化学习gym的使用之Pendulum的训练
  6. 2020北航计算机夏令营机试题目个人理解
  7. sklearn专题五:逻辑回归
  8. 欢迎进入“健康之家”:Delos推出全球首个住宅健康技术平台
  9. 目标检测——day66 Scaled-YOLOv4: Scaling Cross Stage Partial Network
  10. 机器学习从蛋白序列预测蛋白分类(二)