一.什么是常量:
1.固定的值,都可以算作常量。
如1,‘a’,3.14,true,可以认为基本类型的值均为常量;
2.自己定义的常量。
自己创建空间,存储一个值,让他固定起来,
如 后面学到的 final int a=11;
3.特殊的常量。
String str="abc";
String是一个类,属于引用数据类型,创建字符串变量后,值不能修改,可以当作常量来使用;
二.常量有什么用:
1.参与过程运算。
作为固定的值,参与过程运算,使过程更加简便,如Π=3,14;
2.代表特殊的含义。
如在制作小游戏的过程中,1,2,3,4可用来对应up,down,right,left
三.什么是变量:
1.变量
变量是指在程序执行过程中可以改变的量;
变量空间里的内容可以改变;
变量只能存储一个值;
变量是一个内存空间(类似小容器);
2.变量的声明(创建):
数据类型+变量名
如 int a(告诉计算机,我要开辟一个空间 a,存储 一个 整数);
3.变量命名简单回顾:
变量名可由数字,字母,下划线,美元符($)组成;
数字不能当作命名的开头;字母区分大小写;
4.变量名与类名的区分:
举一个例子就很好解释了.
例如: 类名: Test PracticeEnglish
变量名: super superMan
四。底层实现
我们提出以下问题:计算机底层做了哪些事情?
a是什么?a是变量名,存储在哪儿?
1是什么?1是常量,存储在哪儿?
=是什么:
1.计算机硬件:
主板,cpu, 显卡,网卡,声卡,电池,硬盘,内存:
2.硬盘,内存:
举例:
public class practice{
public static void main(String [] args){
int a;
a=1;
}
}
(1)硬盘存储:
硬盘会存储“.java”的源文件和“.class”的字节码文件。
首先根据 javac practice.java 指令,Java编译器在硬盘中将源文件编译为字节码文件,
(2)JVM开辟内存条
接着,JVM会在内存中开辟部分空间用于运行;
(3)执行字节码文件
由类加载器(ClassLeader)将字节码文件信息搬运到JVM开辟的内存中;
之后,在栈内存中执行,根据 先进后出 原则,
public static void main(String [] args):main方法先入栈,(最后出栈)
int a;开辟空间a,存储int类型整数(前面说变量类似于一个容器);
将常量 1 存储在常量池中(转化为二进制存储,由于是int型,共有32bit ),再复制到栈内存中;
五.数据类型的默认值
double:8个字节,浮点型默认为double型,因其精度较高,被广泛使用;
float:4个字节
int :4个字节
byte:1个字节
为什么同样是字节数多的转向字节数少的,int 可以转向byte,double却不可以转向float?
1,整数二进制存储
前面说过,这些常量存储在栈内存的方法区,而且是以计算机能看懂的二进制形式存储的,
如 1: 0 0000000 00000000 00000000 00000001(int,32bit);
存储在byte类型的空间内,只能舍去前面的 0 0000001(byte,8bit),而如果超过byte的范围,即前面舍去的部分不均为零,不可以自动转换;;
2,小数二进制存储
而浮点型3.14二进制存储形式:
0 000000000 0000000...(第一位表示符号(正或负),第二到十位表示整数部分,其余均表示小数部分),不同于整数的二进制表示方式;
六.注释
单行注释;//(增强代码可读性)
多行注释;/* */(增强代码可读性)
文本注释:/** */(放在类或方法的前面解释其作用,可单独生成为某个文件);
七.忠告
1.代码要有层次感;
2.命名规范;
3.注释要详细,并尽可能的多;
写了好久,自己也收获了好多知识,回头再理理吧!