大家好,欢迎来到IT知识分享网。
常量
定义:常量就是在程序中固定不变的值,是不能改变的数据
常量类型:整型常量、浮点数常量、布尔常量、字符常量、字符串常量
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都不会存在隐式转换,相互之间只能进行强制类型转换。
变量的作用域:
成员变量:在类体内定义的变量称为成员变量,它的作用域是整个类,也就是说在这个类中都可以访问到定义的这个成员变量。
局部变量:在一个方法或方法内代码块中定义的变量称为局部变量,局部变量在方法或代码块被执行时创建,在方法或代码块结束时被销毁。局部变量在进行取值前必须被初始化,否则会编译错误。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/156746.html