JAVA--从基础到
从今天开始学习JAVA,建立此文主要就是想记录和分享自己学习过程中的点滴,并希望自己能够坚持下去。
20180520
1、程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
2、java可以做什么?可以把java分为两种典型的类型:一种是安装和运行在本机上的桌面程序,另一种是通过浏览器访问的面向Internet的应用程序。
3、java之父:詹姆斯·高斯林
20180521
1、开发JAVA程序的步骤
- 编写源程序——用java语言描述的后缀名为“.java”的文件,
- 编译——通过编译器,将源程序进行翻译,生成以“.class”为后缀名的字节码文件;
- 运行——在java平台上运行字节码就可以看到运行结果。
2、JDK——用来开发java程序
JDK的安装目录下有以下重要的文件夹及文件:
- bin目录:存放编译、运行java程序的可执行文件
- jre目录:存放java运行环境文件
- lib目录:存放java的类库文件
- src.rar文件:构成java平台核心api的所有类的源文件
3、有了JDK的支持,使用记事本就可以编写java程序,以下是编写及运行的步骤和方法
- 用记事本编写代码,并保存为.java后缀的文件
- 使用命令提示符切换到编写文件的文件夹,支持中文文件夹
- 利用“javac”来执行,如:C:\Users\Administrator\Desktop>javac Helloworld.java
- 完成上一步骤后会生成一个字节码文件:Helloworld.class
- 最后在命令提示符中运行此文件:C:\Users\Administrator\Desktop>java Helloworld 就会输出结果
4、HelloWorld代码的分析:
public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!"); } }
1) 编写程序框架
public class HelloWorld{}
- HelloWorld为类的名称,它要和程序文件的名称一模一样。
- 类名前要用public(公共的)和class(类)两个修饰词来修饰,他们的先后顺序不能改变,中间要用空格分隔
- 所有属于该类的代码都放在后面跟着的大括号内
2) 编写main()方法的框架
public static void main(String[] args){}
- main()方法是java程序的入口,程序要从一个固定的位置开始执行,是所有java程序的起始点
- 把计算机执行的指令放在main方法后面的花括号内
- 一个程序只能有一个main()方法
- 方法前面的修饰词,顺序也不能改变,并以空格分隔
- 方法小括号内String[] args 也是必不可少
3) 编写代码
System.out.println("HelloWorld!");
- println 打印一行
- println打印后自动换行,print打印后不自动换行
20180522
1、java编码规范:编码规范可以增加代码的可读性,使软件开发和维护更加方便
- 类名必须使用public修饰
- 一行只能写一条语句
- 用{}括起来的部分通常表示程序的某一层次的结构。“{”一般放在这一结构开始行的最末,“}”与该结构的第一个字母对其,并单独占一行
- 低一层次的语句或注释应该比高一层次的语句或注释缩进若干个空格后再书写,使程序更加清晰,增加程序的可读性
2、java虚拟机与跨平台原理
- java是可跨平台语言
- java为每个计算机系统提供 了一个称为java虚拟机的环境
- java虚拟机可运行java字节码的虚拟计算机系统,
- java虚拟机依附在具体操作系统上,本身具有一套虚拟机指令,在软件层面实现
- java虚拟机形成一个抽象层,将底层硬件平台,操作系统,与编译过的代码联系起来

就像利用windows中利用命令提示符来运行java程序一样,首先运行.java程序,编译一个.class文件,最后再运行.class文件,最后输出结果。
20180524
1、类不可以随便命名:public修饰的类名必须与Java文件同名
2、void不可少:main()方法中的void不可少
3、java对英文字母大小写敏感:关键字的大写和小写是不一样的
4、;符号是必须要有的:一个完整的语句都要以 ;结尾
5、编译和反编译,一般反编译工具有jad,FrontEnd等
jad反编译的方法
- 将jad.exe和需要反编译的.class文件放到指定目录下
- 进入命令提示符DOS窗口下,使用jad的格式:>jad -s java 反编译文件名.class
FrontEnd反编译的方法
直接在软件中打开需要反编译的文件,==>“Save Sourse AS”即可
20180526
1、java常用数据类型
| 数据类型 | 说明 | 举例 |
| int | 整型 | 用于存储整数,如学员人数、某公司的员工编号、一年的天数等等;每个数值占4个字节 |
| double | 双精度浮点数 | 用于存储带有小数点的数字,如商品的价格等等;每个数值占8个字节 |
| char | 字符型 | 用于存储单个字符, |
| String | 字符串类型 | 用于存储一串字符 |
不同类型的数据需要用不同大小的内存空间来存储
2、声明变量
根据数据类型在内存中申请一块空间
语法:数据类型 变量名;
3、给变量赋值
将数据存储至对应的内存空间
语法:变量名 = 值;
4、声明变量和变量赋值可以在一行内表示
语法:数据类型 变量名 = 值;
值得注意的是:变量都必须声明和赋值后才能使用,因此想要使用一个变量,变量的声明和赋值必不可少
5、变量名命名规则
- 变量名可包含的内容:数字,字母,特殊字符("_","%");
- 变量名不可以以数字开头,可以以字母,和以上两种特殊字符开头
- 变量名不可以使用java关键字
特殊说明:变量名中不可以有星号,空格,百分号,加号,连字符等等其他的特殊字符。变量名没有长度限制,但是对于字母有大小写的区分,尽量用有意义的变量名来命名,有助于后期维护和阅读
6、常量
常量代表程序运行过程中不能改变的值,常量也是需要定义的,需要使用final(最终的,不可更改的)关键字,常量名要大写,多个单词之间用下划线分隔
语法:final 数据类型 常量名 = 值;
例如 :final double PI = 3.14;
final char MALE = 'M',FEMALE = 'F'; //可以一行定义多个常量
final int STUDENT_MAX_NUM = 50;
7、赋值运算符
“=” 的功能是将等号右边表达式的结果赋给等号左边的变量
8、算数运算符
+ - * / %取余
20180529
1、条件运算符
条件运算符是Java中唯一一个需要三个操作数的运算符,所以又称三目运算符或三元运算符,
语法:条件?表达式1:表达式2
在语法中,首先对条件进行判断,如果条件结果为true,返回表达式1的值,如果条件结果为false,返回表达式2的值
20180603 选择结构
1、if选择结构是根据条件判断之后再做处理的一种语法结构,
语法:
if(条件){
代码块 //条件成立后要执行的代码,可以是一条语句,也可以是一组语句;条件是一个表达式,表达式的值是true或false
}
2、if-else选择结构
语法:如果xx,就xx,否则xx
if(条件){
//代码块
}else{
//代码块
}
3、多重if选择结构
语法:
if(条件1){
//代码块1 //条件1成立时,执行此代码,后直接跳出循环
}else if(条件2){
//代码块2 //条件1不成立,条件2成立时候,执行此代码,后直接跳出循环
}else{
//代码块3 //条件1,条件2,都不成立时候,执行此代码,后直接跳出循环
}
几点说明:如果条件直接存在连续关系,则else if块的顺序不是随意排列的,如果条件之间只是简单的互斥关系,则代码块的顺序随意。
4、嵌套 if选择结构
语法:
if(条件1){
if(条件2){ //相匹配的一对应该左对齐,,内层if对外层要有一定的缩进
//代码块1
}else{ //相匹配的一对应该左对齐
//代码块2
}
}else{
//代码块3
}
只有当满足外层if选择结构的条件时,才会判断内层if的条件,else总是与它前面最近的那个缺少else的if配对
5、switch选择结构
语法:先计算并获得switch后面小括号的表达式或变量的值,然后将计算结果顺序与每个case后的常量比较,当二者相等时,执行这个case块中的代码,当遇到break时候,就跳出switch选择结构,执行swtich结构之后的代码,
switch(表达式){ //表达式是一个值,可以是int,short,byte,char,枚举,String类型表达式,
case 常量1: //case后面跟着的常量,必须跟swtich中的表达式是同一个类型,通常是一个固定的值,case可以有多个,顺序可以改变,但是每个case后的常量的值必须各不相同,
//代码块1;
break
case 常量2:
//代码块2;
break
default: //表示默认,即其他情况都不满足,default后面要紧跟冒号,可以省略
//代码块n;
break
}
几点说明,
1)switch选择结构的条件只能是等值的判断,而且只能是整型或字符型的等值判断
2)如果执行完一个case并没有退出,则会继续执行接下来的case并不需要判断
20180607
数组
1、在java中,数组是一个变量,用与将相同数据类型的数据存储在内存中。
2、数组的存储方式是,在定义数组的时候,在内存空间划出一连串的空间。
3、数组的基本要求:
标识符;数组元素;数组下标;元素类型。
4、几点说明:
- 数组只有一个名称
- 数组元素在数组里顺序排列编号,第一个元素的编号规定为0;
- 数组里每个元素都可以通过下标来访问,每一个元素对应一个下标
- 数组的大小(长度)是数组可容纳元素的最大数量,在定义一个数组的同时也定义了它的大小。
5、使用数组的步骤
声明数组=》分配空间=》赋值=》对数据进行处理
6、语法:
1)声明数组:数组名可以是任意合法的变量名
数据类型 [ ] 数组名;
数据类型 数组名[];
2)分配空间:可以用new关键字来给数组分配空间,一旦声明了数组的大小就不能再修改,即数组的长度是固定的。
数组名 = new 数据类型 [数组长度];显然数组长度是一个大于0的整数
3)将声明数组和分配空间合并
数据类型 [ ] 数组名 = new 数据类型 [数组长度];
4)赋值:一般在赋值时候可以与for语句配合使用,
数组名[下标值] = xxxx;
5)声明数组,分配空间,和赋值合并:此时不需要分配空间数量,但是要一次性赋值多少数组大小就是多少不能再改变
数据类型 [ ] 数组名 = {值1,值2,~~~~,值n};
数据类型 [ ] 数组名 = new 数据类型 [] {值1,值2,~~~~,值n}};
7、数组排序
语法:
Arrays.sort(数组名);
Arrays是Java中提供的一个类,而sort()是该类的一个方法。通过此方法后数组内的元素会升序排序。
import java.util.Arrays;

浙公网安备 33010602011771号