Java
特点及构成
- Java特点
- 面向对象三大特点:继承,封装,多态高性能,分布式,多线程
- 继承
- 封装
- 多态
- 动态性:由反射实现
- 修饰符不强调先后顺序
- JDK,JRE,JVM
- JDK:Java开发者工具
- JRE:Java运行环境
- JVM:Java虚拟机
运行过程
- 编译与解释
- 编译:对文件整体翻译为另一种语言(无执行,输出另一语言代码)
- 解释:对文件逐句翻译并逐句执行(有执行,输出运行结果)
- Java执行过程
- 源文件(.java)➡JVM➡字节码(.class)➡类装载器➡字节码校验器➡解释器
( 编译 ) ( 运行 )
- 编译:(CMD) javac 文件名.java (编译成 .class文件)
- 运行:(CMD) java 文件名.class(运行并输出结果)
数据类型
- 基本数据类型:byte,short,int,long,float,double,char,String,boolean
- 引用数据类型:类,接口,数组
- 进制类型:
- 二进制:0b
- 八进制:0
- 十六进制:0x
运算符
- 运算符
- a++(先赋值后+1)++a(先+1后赋值)
- 位运算
- 与(&):全一为一
- 或( | ):有一为一
- 异或(^):同零异一
- 取反(~)
- <<(左移)>>(右移)
- 条件运算符
- (" " + int + int)时后方变量当字符串处理
- (int + int + " ")时正常运算
- 三元运算符
- x ? y :z( x 为 true 时,结果为 y ,反之为 z )
流程控制
- 用户交互Scanner
- next():必须存在有效字符串,有效字符前空白自动去除,有效字符后空白做结束符
- nextLine():以回车为结束符
- 选择结构
- if...else if...else if...else...
- switch(比较变量){
case 变量值:
执行体;
break;
case 变量值:
执行体;
break;
...
default:
执行体; }
- 循环结构
- while(表达式){...} //表达式为true时执行,先判断后执行
- do{...}while(表达式) //表达式为true时执行,先执行后判断(至少执行一次)
- for(变量初始化;表达式;变量更新){...}
- 增强for循环 //用于遍历数组或集合
for(int x : 变量){...}
- 关键字
- break; //跳出当前循环,循环不再执行
- continue; //跳过某次循环,执行下次循环
方法/函数——执行一个功能的语句的集合
- 实参:调用时传入参数
形参:建造方法时所需外部传递参数
- 值传递:实际参数复制一份传递到函数中,函数中参数和实际参数互不干扰
引用传递:将实际参数的地址传入到函数中,函数中参数和实际参数为同一参数
- 重载——同一类中,方法名相同,参数列表不同(参数类型,个数,排列顺序等)
重写——子类重写父类,参数列表相同,执行体不同,访问权限不降
super用于在子类中调用父类的被重写方法
- 可变参数
- 声明:参数类型... 参数名
- 规则:一个方法只能有一个,且必须做最后一个参数声明
- 递归
- 递归头:表示什么时候结束递归
- 递归体:表示递归的具体执行方式
- 执行过程为栈结构
浙公网安备 33010602011771号