变量与常量
留个笔记,方便以后复习看~
常量
变量
常量
常量代表是程序运行过程中 不能再次改变的值
常量的作用
1.固定的值 代表计算过程中经常用到的值
便于程序计算
圆周率 3.1415926.....
2.用来代表一个含义
UP==>1 2 3 4分别代表 上下左右四个方向
什么样的值算是常量???
1.固定不变的值 算作常量
1 3.14 'a' true
可以认为所有基本类型的值 固定不变 是常量
2.特殊的常量
"abc"--->String
String是一个引用数据类型,它的值很特殊 可以简单的视为常量
3.自己创建的空间 存储一个值 让他固定起来 不能改变
final int UP = 1;
变量
变量指的是 程序执行过程中可以改变的
变量是一个内存空间(小容器)
变量空间在创建(声明)的时候 必须指定数据类型 变量空间的名字
变量空间 里面只能存储一个内容(值 引用)
变量空间内的内容可以改变
创建变量是 需要注意命名的问题
命名的规则
字母(大小写敏感) 数字(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
public class Test{
public static void main(String[] args){
byte a = 1;
short b = 2;
int c = 3;//-2147483648 2147483647
long d = 2147483648L;
float e = 3.4F;
double f = 4.5;
char g = 'a';
boolean h = true;
String i = "abc";
}
}
知识回顾
基本数据类型 8个
整型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
引用数据类型
数组[]
类(抽象类)class
接口interface
枚举enum
注解@interface