Java基础

  • JAVA基础
  • Java是强类型语言
  • Java数据类型
  • 类型转换
  • 变量
  • 常量
  • 运算符
  • 包机制
  • JavaDoc
  • JAVA流程控制
  • 用户交互Scanner
  • 顺序结构
  • 选择结构
  • 循环结构
  • break & continue & goto
  • Java方法
  • 方法的定义及调用
  • 方法重载
  • 命令行传参
  • 可变参数
  • 数组
  • 数组概述
  • 数组声明
  • 数组使用
  • Arrays类
  • 稀疏数组
  • 面向对象编程
  • 异常机制


JAVA基础

Java是强类型语言

  • 要求变量的使用要严格符合规定,所有变量都必须先定义才能使用。

Java数据类型

  1. 基本类型
    数值类型、Boolean类型
  2. 引用类型
    类、接口、数组

类型转换

低—>高
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)
接口不能被实例化,接口中没有构造方法
必须要重写接口中的方法。

内部类
内部类就是在一个类的内部再定义一个类。

  1. 成员内部类
  2. 静态内部类
  3. 局部内部类
  4. 匿名内部类

异常机制

检查性异常
运行时异常
错误

异常处理框架(把异常当做一个对象处理)

  • 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 区别

throw 只是向外抛出异常实例
throws 声明了可以让调用者可以捕捉到那些异常

自定义异常
用的比较少