Java历史
JAVA之父:詹姆斯*高斯林
JAVA第一个版本:1995年发布jdk1.0
JAVA1.2版本中将JAVA分为
JAVASE
JAVAME
JAVAEE
JDK安装都安装了什么
JDK,JRE
JDK配置环境变量
选择此电脑点击鼠标右键 -- 属性 -- 高级系统设置 -- 环境变量 -- 系统变量中
新建2个变量
JAVA_HOME
属性名:JAVA_HOME
属性值:jdk的安装路径
CLASSPATH
属性名:CLASSPATH
属性值:.
修改1个变量
Path:
修改属性值:
方案1:
给原属性值前,加入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
方案2:
给原属性值后,加入;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
注释的作用
1,解释说明
2,注销掉无用,但是暂时由无法删除的代码
变量
作用:
记录一个可以被改变的数据
使用:
声明
语法:数据类型 变量名;
赋值
语法:变量名 = 值;
特殊情况:声明并赋值
数据类型 变量名 = 值;
使用
直接使用变量名
数据类型
分类
基本数据类型
整数
byte
short
int
long
小数
float
double
布尔
boolean
取值:
true
false
字符
char
引用数据类型
字符串
String
方法:
equals:判断字符串内容是否相同
所有类的对象
分支语句
判断所给定的条件是否满足,根据判断的结果对应执行不同的语句
分类:
if
语法:
if(条件表达式1){
当条件表达式1为true,执行此处代码
}else if(条件表达式2){
当条件表达式2为true,执行此处代码
}else if(条件表达式3){
当条件表达式3为true,执行此处代码
}
...
else if(条件表达式n){
当条件表达式n为true,执行此处代码
}else{
当以上条件表达式都为false,执行此处代码
}
注意:
1,else if可以有多个
2,else if,else可有可无
3,有if才会有else if或else
switch
语法:
switch(变量){
case 常量1:
当变量值等于常量1时,执行此处代码
break;
case 常量2:
当变量值等于常量2时,执行此处代码
break;
...
case 常量n:
当变量值等于常量n时,执行此处代码
break;
default:
当变量值不等于以上常量时,执行此处代码
break;
}
注意:
break在switch中表示跳出当前代码块
如果case没有配合的break,那么代码将运行到其他case的break或switch结束
if与switch的区别
if可以判断区间
switch只能判断值相等
循环语句
重复多次执行某一段特定代码
分类:
while
语法:
while(条件表达式){
循环体
}
执行流程:先判断条件表达式,当条件表达式值为true执行循环体1次,然后继续判断表达式,条件表达式值为false,结束循环
do while
语法:
do{
循环体
}while(条件表达式);
执行流程:
先执行一次循环体,在判断条件表达式,当条件表达式值为true执行循环体1次,然后继续判断表达式,条件表达式值为false,结束循环
for
语法:
for(表达式1;条件表达式2;表达式3){
循环体4
}
表达式的作用:
表达式1:初始化变量(给变量第一次赋值)
条件表达式2:循环条件
表达式3:改变表达式1中的变量的值
执行流程:
1,2,4,3,2,4,3,2,4,3,...2
方法
封装特定功能的代码,便于使用
方法的定义
语法:
访问权限修饰符 修饰符 返回值类型 方法名(形参列表){
方法体
return xxx;
}
注意:
访问权限修饰符:
公共权限 public ,public 可以修饰属性、构造方法和普通方法。
被 public 修饰的成员,可以在任何一个类中被调用,是权限最大的访问权
限修饰符。
受保护权限 protected,protected 可修饰属性、构造方法、普通
方法,能在定义它们的类中以及同包的类中调用被 protected 修饰的成员。
如果有不同包中的类想调用它们,那么这个类必须是这些成员所属类的子类
(继承关系)。
默认权限 default,不写任何权限关键字就代表使用默认权限,属
性、构造方法、普通方法都能使用默认权限。**默认权限也称为同包权限。
同包权限的元素只能在定义它们的类中以及同包的类中被调用。
私有权限 private,private 可以修饰属性、构造方法、普通方法。
被 private 修饰的类成员只能在定义它们的类中使用,在其他类中都不能访
问。对于封装良好的程序而言,一般将属性私有化,提供公有的 get 和 set
方法,供其他类调用。
修饰符: final (最终的),static (静态)。
final :可以修饰成员方法成员变量,类。
final 修饰的特点:修饰方法:表示该方法为最终方法,不能被重
写。修饰变量:表明该变量是常量,不能被再次赋值。修饰类:表明该类是
最终类,不能被继承。String 就是一个 final 修饰的最终类。
final 修饰局部变量:如果变量是基本数据类型: final 修饰指
的是基本类型的数据值不能发生改变。如果变量是引用类型: final 修饰
指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改
变的。
static :可以修饰成员方法,成员变量。
static 修饰的特点:被类的所有对象所共享(这是我们判断是否
使用静态关键字的条件)。可以通过类名来调用,也可以通过对象名来调用
(推荐使用类名调用)
返回值类型:有返回值就写返回值的数据类型,没有就写 void
方法名:自定义,符合小驼峰命名法就可以
形参列表:可有可无,但是如果方法在定义时有形参列表,调用方法
时就要传入实参列表,并且实参与形参,长度一致,类型一致,顺序一致
return:单独使用表示结束方法
return xxx:结束方法并返回xxx对应的数据
如果方法使用分支语句作为结束,要保证每个分支都有返回值
方法的调用
语法:
方法名(实参列表);
或:
数据类型 变量名 = 方法名(实参列表);
注意:有返回值的方法才能用
特殊情况:
多重调用:方法中A中调用方法B,方法B中调用方法C...
递归:
方法A中调用方法A
重载:
同一个类中,方法名相同,形参列表不同
数组
用来存放一组数据类型相同的数据
数组的使用:
声明:
语法:
数据类型[] 数组名;
创建:
动态
语法:
数组名 = new 数据类型[数组长度];
或
数组名 = new 数据类型[]{值1,值2,值3,....};
该情况下,数组的长度就是在创建时数据的个数
特殊情况:
声明并赋值
静态
要求:必须在声明时使用静态创建
语法:
数据类型[] 数组名 = {值1,值2,值3,...};
该情况下,数组的长度就是在创建时数据的个数
操作:
查
语法:数组名[下标]
如果将查询到的数据赋值给变量
数据类型 变量名 = 数组名[下标];
如果将查询到的数据打印到控制台
System.out.println(数组名[下标]);
如果将查询到的数据赋值给变量,在将变量打印
数据类型 变量名 = 数组名[下标];
System.out.println(变量名);
改
语法:
数组名[下标] = 值;
获取数组长度
语法:数组名.length
注意:
基本数据类型默认为0
引用数据类型默认为null