1.Java特性:准动态强类型解释性语言
解释型和编译型的区别:
编译型语言:通过指定的编译器,一次性把源码编译成一个指定平台可以执行的机器码,运行速度较快一些
解释型语言:使用专门的解释器对源码进行动态解释(运行多少就解释多少),不会生成新文件,运行速度慢
程序基础
强制规则:
1).严格区分大小写,只能用字母、数字、下划线、$,且数字不能开头
2).不能使用关键字和保留字
非强制规则:尽量用驼峰命名法,见名知义
2.Java中的数据类型:基本数据类型和引用数据类型
基本数据类型(8种):
数值型:
整数类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)
浮点类型:float(4字节)、double(8字节)
字符型:char(1字节)
布尔型:boolean
引用数据类型(3种):数组、类类型、接口
3.变量、常量
变量分类:
按作用域分:
局部变量:方法体中声明的变量,没有默认值,必须赋值才能使用
成员变量(属性、字段):类体中,没有static修饰的变量
类变量(静态变量):类体中,用static修饰的变量
注:静态和成员都是有默认值的,可以直接使用;
如果局部和静态/成员变量同名,则局部优先级最高
常量:字面量和final修饰的变量
4.运算符
==是关系运算,意义为全等,如果是基本数据类型就比较值,引用数据类型就比较地址
位运算符:
>>:右移运算符(考虑符号位,就是再怎么移动,符号位不变,正数就是正数,负数就是负数)
如 8>>2 的结果为2 (X>>n=x/2^n)
32 16 8 4 2 1 如果是正数,左边补0,如果是负数,左边补1
5.流程控制
条件:
if、if-else、if-else if-else
switch (int 类型/char类型){
case int类型1/char类型1:
执行语句;
break;
...
default:
执行语句;
}
注:switch中的每个case必须加break,否则会有case穿透现象
循环:
单循环:for(初始化数据;循环(终止)条件;步长){循环体;}
嵌套循环:可以简单理解为外层为行,内层为列
真假循环:
while(boolean 表达式){循环体;} 执行0-N次
do{循环体;}while(boolean 表达式); 执行1-N次
注:break和continue的区别
break:结束距离最近的循环
continue:跳过当前循环,继续执行下一个循环,即i++
6.方法:
作用:代码的复用
方法的声明:
[修饰符列表] 返回值类型 方法名 (参数列表){方法体};
方法的分类与调用:
main()方法:程序的入口,由JVM调用
静态方法:用static修饰的方法,并且通过类名.静态方法名(参数)调用
成员方法:没有static修饰的方法,通过对象.方法名(参数)调用
构造方法:用于创建对象
overload:重载
方法名相同,参数列表不同的方法,叫重载
参数列表不同的情况:个数不同,类型不同,类型不同的基础上顺序不同