java 基础复习
- 格式:doc
- 大小:74.50 KB
- 文档页数:20
复习
JAVA三大版本
JAVAEE:企业版,web(网站)
JAVASE:基础版,桌面应用
JAVAME:微型版,嵌入式开发,移动开发
JVM、JRE、JDK、OOP、OO
JVM:java虚拟机,运行java程序
JRE:java运行时环境,包含JVM、API(应用程序接口)类库
JDK:java开发工具箱,包含JRE、工具软件
OOP:面向对象编程
OO:面向对象
Java的编译和运行命令
编译命令:javac 格式:javac 文件名.java
运行命令:java 格式:java 文件名
配置环境变量
Path:配置JDK安装目录下的bin文件夹 作用:为了使用bin目录下的exe文件作为命令时,简化命令输入
Classpath:配置class文件所在的目录 作用:使用java运行程序时,默认情况下会到当前目录下查找要运行的class文件,如果配置了classpath则会到classpath配置的目录下查找class文件;配置.英文格式的句号:表示当前目录
注释
//单行注释
/* 多行注释 */
/** 文档注释 */
使用javadoc命令可用导出帮助文档,在Eclipse中,当光标位于类、属性、方法上时,如果该类、属性、方法会自动弹出窗口提示文档注释的内容 关键字
具有特殊意义的单词或者单词的组合
class public private protected interface byte short int long float double char boolean
extends implements try catch finally throw throws if else switch while do for continue break
return true false
标识符
类名、变量名、方法名
命名规则:
字母、数字、_、$、¥
不能以数字开头
不能单独使用关键字
见名知意
驼峰命名法
数据类型
值类型
数值类型
整型:byte short int long
byte b = 1;
long l = 11111111111L
浮点型:float double
float f = 1.0F;
double d = 1.0D;
算术表达式中默认情况下,得到的结果是int类型,如果表达式中出现比int大的数据类型,计算之后的结果就是最大的那个数据类型
short s = 1;
short s1 = s +1;//编译错误
s+=1;
System.out.println(s);
字符型:char 在java中占用2个字节,可用存储一个汉字,因为java使用的是Unicode编码的 常量值:使用单引号括起来,除了转义字符外,只能且必须括住一个字符
转义字符:通过反斜杠进行转义 \n \t \r \\ \‟ \”
布尔型:boolean
引用类型:除了基本数据类型,都是引用类型
String :常量使用双引号括起来 String s1 = “abc”;
Stirng s2 = “abc”;
String s3 = new String(“abc”);
s1==s2 true
s1==s3 false
s1.equals(s2) true
s1.equals(s3) true
变量和常量
变量:在程序运行的过程可以改变的量
数据类型 变量名;
变量名 = 值;
数据类型 变量名 = 值;
常量:在程序运行的过程不能改变的量
final 数据类型 变量名;
变量名 = 值;
final 数据类型 变量名 = 值;
数据类型转换
条件一:数据类型要兼容
自动类型转换
大数据类型 变量 = 小数据类型值;
强制类型转换
小数据类型 变量 = (小数据类型)大数据类型值;
算数运算符
+ - * / % ++ --
关系运算符
> < == != >= <=
char c1 =‟a‟;
char c2 = „b‟;
System.out.println(c1>c2);
System.out.println(c1>1000);
逻辑运算符 && || ! ^ & |
&&:短路效应,左边操作数为false时,会出现短路(就是不再执行&&右边的第一个表达式) 因为当左边操作数为false时,就可以确定该逻辑表达式的值一定是false的,所以没必要再次执行&&右边的表达式了
||:短路效应,左边操作数为true时,会出现短路(就是不再执行||右边所有的表达式) 因为当左边操作数为true时,就可以确定该逻辑表达式的值一定是true的,所以没必要再次执行||右边的表达式了
& 和 |:没有短路效应
false && true || true 结果:true
int i = 0;
(i == 0) || (i++ == 1) && (++i ==1)
表达式的结果:true
i的值:0
位运算符
& | ~ ^ << >> >>>
1111001 1010111
& 当对应位有一个为0 结果为0 全为1 结果为1
| 当对应位有一个为1 结果为1 全为0 结果为0
~ 操作位为0 结果为1
^ 对应位不同时结果为1 对应位相同时结果为0
<< 符号位不动,其它位依次左移,后面补0
>> 符号位不动,其它位依次右移,前面补最高位
>>> 所有二进制位依次右移,前面补0
赋值运算符
= += -= 。。。
变量 += 值; //存在自动类型转换
变量 = 变量 + 值;
条件运算符
? : 布尔表达式 ? 值表达式1 : 值表达式2
流程控制
if-else
if(布尔表达式){ }//if后只跟一条语句时,可以省略{}
if(布尔表达式){ } else {}
if(布尔表达式) 两条语句 else{}
; 空语句
switch
switch(值表达式){
default :
System.out.println(“default”);
case 值1:
System.out.println(“值1”);
case 值2:
System.out.println(“值2”); case 值3:
System.out.println(“值3”);
break;
case 值4:
System.out.println(“值4”);
}//值表达式的结果类型:byte short int char String(1.7) 枚举(enum)
break:解释switch结构
while
while(布尔表达式){
//循环体
}
break:结束一层循环
先判断布尔表达式的值,然后根据布尔表达式的结果来决定是否执行循环体
do-while
do{
//循环体
}while(布尔表达式);
先执行一次循环体,在判断布尔表达式的结果
for
for(声明条件变量 ; 条件表达式 ; 修改条件变量){
//循环体
}
先执行声明条件变量(只会执行一次),再执行条件表达式进行判断,执行循环体,执行修改条件变量,执行条件表达式
增强for
for(数据类型 变量名 : 数组 | Collection){
// 变量里存储的就是从后面数组或集合中的一个元素(对象)
} 死循环
条件表达式的结果永远为true
break
用在switch中:结束switch结构
用在循环结构中:结束一层循环
continue
用在循环中:结束本次(一次)循环,进入下一次循环
类和对象
声明类:访问修饰符 class 类名{} //访问修饰符只能写public 或者不写
public class :一个类(源)文件中,只能有一个,且类名必须和文件名完全相同
class : 一个类文件中可以有多个,编译后每一个类的声明都会产生一个class(字节码)文件
创建对象:new 类名();
1、 ClassLoader(类加载器)将class 文件加载到内存
2、 【静态资源就已经被初始化或执行(静态属性、方法、静态块)】
3、 在堆内存中划出一块内存空间,用于存储对象的属性方法等信息
4、 先将属性和方法的引用创建到堆内存中、然后执行代码块、最后执行构造方法
方法
声明方法:【访问修饰符】 返回值类型 方法名(【参数列表】){ }
参数:形式参数,简称形参;本质:声明变量; 作用:当方法被调用时,接收外部传入的数据
方法的调用:对象.方法名(【实参列表】);
静态方法的调用:类名.方法名(【实参列表】);//也可用使用对象调用
构造方法
声明构造方法:【访问修饰符】 类名(【形参列表】){}
默认情况下,如果没有显示的编写构造方法,系统会默认提供一个无参构造方法;如果编写了,系统就不在提供