一、编译与反编译
编译:
将源文件(.java)转换成字节码文件(.class)的过程称为编译
反编译:
将字节码文件(.class)转换回源文件(.java)的过程称为反编译
cmd反编译命令
jad: 1,把需要反编译的.class文件放到jad工具所在文件夹中 2,打开cmd 3,在cmd中切换到jad工具所在目录 4,使用命令 jad -s java FileName.class , 如果.class文件中存在中文则输入 jad -s java -8 FileName.class
frontEndPlus: 1,打开 frontendplus.exe 2,点击左上角File-->DeCompile Class File 选择.class文件 /* 如果文件中有中文,需要点击 Configuration--> Decompiler Options, 在convert Unicode strings into ANSI strings 选项前面打钩然后再反编译就可以了 */ 3,点击File--> Save source As 保存.java文件
二、数据
谈到数据,我们需要解决3个方面的问题:
1)数据的来源和展示-》前端处理
数据来源:通过前端页面的表单来收集用户填写的数据
数据展示:后端处理过的数据需要展示在前端页面给用户查询
2)数据的处理 -》后端处理
前端收集的数据与数据库中存储的数据形式可能不一样,那么需要在后端对前端传送来的数据进行形式转换,在存储到数据库中
从数据库中查询出来的数据,需要在后端进行形式转换,再传送到前端进行展示
3)数据的存储和管理 -》数据库处理
数据库专门用来存储和管理数据
在程序中,有些数据需要临时存储,不需要存储在数据库中,这时候就可以使用变量、数组、集合、文件(I/o流)等形式来存储
不管是变量、数组、集合、文件,还是数据库,都是用来存储数据的,都可以看成一个容器,这个容器可以理解为装水的杯子,吃饭的碗
三、变量
变量:存储数据的空间(装数据的容器)
计算机内存中会有很多变量,计算机会给每一个变量分配一个内存地址区分不同的变量,计算机识别这些内存地址很方便很容易,但是对程序员识别和区分变量不太友好,我们就给变量取名,给变量取名也不能随心所欲地取名,需要遵守一定的规则
变量命名规则:
1)变量名由字母数字下划线美元符号组成
2)变量名不能使用数字开头,不建议使用美元符号开头。123abc变量不能使用的 $abc变量不建议使用
3)变量不能使用java关键字(具有特殊含义的单词称之为关键字,java关键字大概有五十个)
4)变量名严格区分大小写
5)变量名取名时要做到见名知意(看见变量名称,就知道变量中存储的数据表示的含义)
6)变量名采用小驼峰命名法(变量名由多个英文单词组成时,第一个单词的首字母小写,其余单词的首字母大写)
7)当我们准备好了容器之后,需要向容器中添加数据,数据有不同表现形式,我们将其称之为数据类型,在java中数据类型有如下几种:
四、基本数据类型
数值类型
整型
byte:占用1个字节
short:占用2个字节
int:占用4个字节
long:占用八个字节
浮点型
float:占用4个字节
double:占用8个字节
非数值类型
布尔类型
boolean true false
字符类型
char,字符类型需要使用英文单引号括起来,单引号里只能写一个英文符号或者一个中文汉字
五、引用数据类型
(3个)
数组、类、接口
变量(容器)准备好了,数据也分好类型了,接下来要做的是将数据存储在容器中,这个操作是有一定步骤的
变量使用方式一:
第一步:声明变量
数据类型 变量名;
第一步:赋值
变量名=数据;
第三步:操作变量
直接操作变量就是变量中的数据
变量使用方式二:
第一步:声明变量并赋值
第二步:操作变量
说明:变量是一个容器,这个容器中只能存储一个指定类型的数据,存储的数据是可以修改的
常量:使用final修饰的变量称之为常量
(1)常量通常大写
(2)不同字符下划线分割
(3)只能被赋值一次,通常定义时对其初始化
学习到现在,我们可以实现将一个数据存储在变量中,但是数据存储的操作是在程序运行之前就完成的,能不能在程序运行的过程中,通过键盘输入数据,然后再输出,可以使用Java中提供的一个类Scanner来实现 Scanner的使用: 第一步:导包 第二步:创建Scanner对象 第三步:获取数据
数据类型转换:
自动类型转换:将小范围类型的数据(变量)存储到大范围类型的变量中,可以直接存储,存储的数据没有问题,不会改变它的值
强制类型转换:将大范围类型的数据(变量)存储到小范围类型的变量中,不能直接存储,需要告诉变量要转换的类型,存储的数据可能不变,有可能会有变化
int a=-129;
byte b=(byte)a;
a=-129
b=127