常量的定义与使用与变量的定义与使用

常量

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

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

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都不会存在隐式转换,相互之间只能进行强制类型转换。

变量的作用域:

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

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

  • 15
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅龙龙lsx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值