常量与变量有什么区别?超详细概述让你分清两者!

常量

概述
为什么需要有常量? 例如生活当中一周有7天,数学中π等等。
常量: 在程序的执行过程中,其值不会发生改变的量

常量的分类
1.字面值常量 12 2.5 false “helloworld”
2.自定义常量

字面值常量的分类

整型常量
二进制 由0,1组成,由0b开头 0110_0011也可以使用下划线分割数字
八进制 由0~7组成,由0开头 37
十进制 由0~9组成,默认就是十进制
十六进制 由0~9,A,B,C,D,E,F 组成,由0x开头

计算器可以实现四种进制的转换
Integer类可以实现计算机能够表示范围内(36进制)的进制转换 0~9 A-Z
自己手动计算可以计算任意范围的进制转换
注意: 默认整型常量是 int 类型

小数常量
0.2F float类型的小数常量
0.2D double类型的小数常量
注意: 默认小数常量是double类型

布尔常量
只能取两个值 : true false

字符常量

字符的概念
计算机中可以由单个键位输入或者多个键位输入组合而成的一个显示数据就是一个字符,字符的本质就是数字。
字节的概念
字节的本质也是数字,字节是数据传输的最基本单位
1byte = 8bit
1kb = 1024byte
1mb = 1024kb
1gb = 1024mb
1tb = 1024gb

字符的分类
1.非空白字符: a 中 你好
2.空白字符: tab 空格 换行 分页 回车

计算机如何表示字符?

其实计算机只能够看懂二进制,字符本质应该还是二进制,也就是说计算机用二进制来表示所有的字符,那么计算又是如何利用二进制来表示字符呢?

下面我们来分析这个问题:
1bit 可以取值0和1,2的1次方,能够表示两种状态,也就是可以表示2个字符
2bit 可以取值 00, 10, 11, 01,2的2次方,能够表示四种状态,也就是可以表示4个字符
3bit 也就是2的3次方,能够表示8种状态,也就是可以表示8个字符
那么8bit也就是2的8次方,能够表示256种状态,也就是可以表示256个字符
由于1byte = 8bit,所以1byte就可以表示256个字符,这也就是ASCII码表的表示范围
我们知道1byte并不能够把中文字符或者其他国家的字符表示完全,1个字节不足以表示全世界所有的字符,所以需要扩大范围,那么我们可以考虑使用2个字节来表示所有的字符,2个字节占16位,也就是2的16次方,所以2个字节可以表示65536个字符,这就是GBK码表的表示范围,大家应该也听说过UTF-8,这个编码表在表示中文的时候会使用三个字节表示中文
而Java中所有支持的字符都是使用Unicode编码来表示,Unicode编码使用2个字节表示一个字符,所以字符常量的取值范围是 0~65535

常见的字符

普通字符
0 48
A 65
a 97
转义字符
\n 换行
\r 分页
\t 表示制表符
’ 表示 ’
\ 表示
" 表示 "

1.字符常量由 ’ ’ 包裹
2.里面只能够有一个字符
3.转义字符可以由两个或者多个字符组成,但是第一个必须是\

字符串常量
1.由双引号包裹
2.里面可以有一个字符也可以有多个字符
3.字符串里面可以是空串

null常量
表示的是引用类型的常量

注意:

	1.System.out.println();输出的都是数值的十进制
	2.默认整型常量默认是 int 类型,并且只能够是int类型
	3.默认小数类型就是 double 类型
	4.字符的数量不会超过65535
	5.windows系统的换行符是 \r\n Linux\n mac\R 
	6.计算机最多能表示36进制 (Integer类可以轻易地实现进制转换)

变量

概述

变量: 在程序的执行过程当中,其值可以发生改变的量,类似于数学的未知数X
变量的本质 : 就是一个地址

变量的定义

变量的三要素:
1.声明
2.赋值
3.使用

例如:
int x; // 向计算机申请4个字节的内存空间
x = 10; // 将x这个变量名称解析为地址,然后将常量10存储到这个地址对应的空间中去
System.out.println(x); // 通过地址读取地址中保存数据10,输出到控制台

注意:

1.变量一定要先声明再赋值再使用
2.变量不能够重复定义
3.变量不能够连续定义 int a = b = c = 10; 
4.建议一行只写一条语句

代码示例

public class VariableDemo {
	public static void main(String[] args){
		// 1.变量一定要先声明再赋值再使用
		int x;
		x = 100;
		System.out.println(x);
		
		// 2.变量不能够重复定义
		int y = 100;
		System.out.println(y);
		
		x = 300;
		y = 200;
		System.out.println(x);
		System.out.println(y);
		
		// 3.变量不能够连续定义 int a = b = c = 10; 
		// int a = b = c = 10; 
		// int a,b,c = 10; // 自动将a和类型结合,b和类型结合,c和类型结合
		// int a; int b; int c = 10;
		// System.out.println(a);
		// System.out.println(b);
		// System.out.println(c);
		
		int a = 10, b = 20, c = 30;
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		
		// 4.建议一行只写一条语句
		int m = 10; 
		int n = 20; 
		int k = 30;
		System.out.println(m);
		System.out.println(n);
		System.out.println(k);
	}
}
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值