常量 常量代表是程序运行过程中 不能再次改变的值
常量的作用
1.固定的值 便于程序计算
2.用来代表一个含义
UP==>1 2 3 4分别代表 上下左右四个方向
什么样的值算是常量???
1.固定不变的值 算作常量 可以认为所有基本类型的值 固定不变 是常量
2.特殊的常量 String是一个引用数据类型,它的值很特殊 可以简单的视为常量
3.自己创建的空间 存储一个值 让他固定起来 不能改变
变量
变量指的是 程序执行过程中可以改变的
变量是一个内存空间(小容器)
变量空间在创建(声明)的时候 必须指定数据类型 变量空间的名字
变量空间 里面只能存储一个内容(值 引用)
变量空间内的内容可以改变
创建变量时 需要注意命名的问题
命名的规则 字母(大小写敏感) 数字(0-9不允许开头) 符号(英文符号 _ $) 中文(不推荐)
命名的规约 类名字 首字母大写 如果两个以上的单词 所有首字母都大写 SuperPerson
变量名 首字母小写 如果两个以上的单词 之后的首字母大写 superPerson
遵循驼峰式命名规约 所有名字都需要见名知义 为了增强程序的可读性
变量如何创建/声明
数据类型 变量名字; int a; String b;
需要注意:
变量是一个空间 可以只创建空间 里面不存放内容
变量空间创建后是没有默认的内容 空的
空的变量空间不能拿来使用 编译错误
byte x;//声明一个变量空间 空间的名字是x 空间内要求存储的类型是byte整数
x = 1;//将一个1赋值到x空间内进行存储
计算机底层做了什么事情
1.x是什么? 变量空间 存在哪儿?----栈内存里
2.1是什么? 1是常量 存在哪儿?----常量缓冲区
3.=是什么? =是赋值 做了什么?
计算机的硬件组成
主板 CPU 声卡 显卡 网卡 电源 内存 硬盘
1.硬盘上创建了一个文件 Test.java
2.文件中的内容是我们编写的源代码(跟计算机发送指令)
public class Test{
public static void main(String[] args){
byte x;
x = 1;
}
}
3.将Test.java源文件---->编译---->Test.class
内容 我们看不懂 字节码 留给计算机识别
4.执行---->内存中执行
将硬盘上的Test.class内容 加载 到内存里
5.我们写好的指令 执行内存的空间 赋值 变化。。。。
注释
1.单行注释
//
2.多行注释
/*
*/
3.文档注释
/**
*/
-------------------------------------------------------------------
float e = 3.4F;
从double转化到float会有损失
1 3.4 常量值
存储在常量缓冲区中的
常量值的存储形式肯定不是十进制 是以二进制形式存储
1----> 32bit(int)
3.4--> 64bit(double)
byte a = 1;
1--->32bit
00000000 00000000 00000000 00000001
a--->8bit
00000001
=赋值的时候做了一个自动的决定 自动类型转化
long d = 2147483648L;
-2147483648 2147483647是int类型的取值范围
如果创建的常量值超过以上范围
程序编译检测的时候会认为 数字太大
如果我们真的需要那么大的数字 必须在后面加L告知
字符 字符串
char String
基本 引用
'a' "a" "abc" "" null