Java基础
JAVA基础
Java是强类型语言
- 要求变量的使用要严格符合规定,所有变量都必须先定义才能使用。
Java数据类型
- 基本类型
数值类型、Boolean类型 - 引用类型
类、接口、数组
类型转换
低—>高
byte,short,char—>int—>long—>float—>double
强制类型转换
(新类型)变量名 高–>低
自动类型转换
低–>高
JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
变量
程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
常量
final 变量类型 变量名 = 变量值
常量不可更改
运算符
算术、赋值、关系、逻辑、位、条件、扩展赋值运算符
包机制
包的本质就是文件夹
为了更好的组织类,用于区别类名的命名空间。
一般利用公司域名的倒置作为包名
import 包名
推荐阅读:《阿里巴巴JAVA开发手册》
JavaDoc
javadoc命令是用来生成自己API文档的
参数信息
@author 作者名
@version 版本号
@since 指定需要最低使用的JDK版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
JAVA流程控制
用户交互Scanner
java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
(alt+enter自动补全)
Scanner s = new Scanner(System.in);
s.close();
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要 使用hasNext()与hasNextLine()判断是否还有输入的数据。
顺序结构
基本结构,一句一句的执行
选择结构
- if 单选泽结构
- if 双选择结构
- if 多选择结构
- 嵌套的if结构
- switch多选择结构
循环结构
- while 循环
- do…while循环
- for 循环
支持迭代的一种通用结构,是最有效、最灵活的循环结构
100.for //快捷键
break & continue & goto
break&continue和其他语言一个意思
goto在Java中是一个保留字,但在语言中并没有用到它;Java没有goto。但是,Java也能完成一些类似于跳转的操作,主要是依靠:标签
goto使用格式:goto + 标签
标签语法:标签名:……(跟随语句)
Java方法
方法即函数
是语句的集合,它们在一起执行一个功能。
方法的定义及调用
修饰符 返回值类型 方法名(参数类型 参数名){
方法体
return 返回值;
}
方法重载
重载就是在一个类中,有相同的函数名称,但是形数不同(个数不同、或类型不同、参数排列顺序不同)
仅返回值类型不同不足以成为方法的重载
命令行传参
传参数给main()方法
可变参数
在方法声明中,在指定参数类型后加一个省略号(…)
public void test(int... i){
}
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。
数组
数组概述
数组是相同类型数据的有序集合
数组声明
dataType[] arrayRefVar;//首选方法
dataType arrayRefVar[]; //效果相同,但不是首选方法
使用new操作符来创建数组
dataType[] arrayRefVar = new dataType[arraySize];
array.length
数组使用
array[n]
Arrays类
java.util.Arrays
稀疏数组
压缩存储
面向对象编程
以类的方式组织代码,以对象的组织数据
- 封装
- 隐藏数据
- 隐藏操作代码细节
- 统一接口
- 增加可维护性
- 继承
- 多态
接口可以多继承,抽象类只能单继承(implements)
接口不能被实例化,接口中没有构造方法
必须要重写接口中的方法。
内部类
内部类就是在一个类的内部再定义一个类。
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
异常机制
检查性异常
运行时异常
错误
异常处理框架(把异常当做一个对象处理)
- try
- catch
- finally
- throw
- throws
int a = 1;
int b = 0;
try{
system.out.println(a/b);
}catch(arithmeticException e){
system.out.println("程序出现异常");
}finally{
system.out.println("finally");
}
ctrl+alt+t 自动补全try
throw 只是向外抛出异常实例
throws 声明了可以让调用者可以捕捉到那些异常
自定义异常
用的比较少