第一阶段学习总结

Java 的数据类型分为两大类

基本类型(primitive type):

整数:byte 1字节

​ short 2字节

​ int(默认)4字节

​ long 8字节

浮点数:float 4字节

​ double(默认)8字节

金融计算用的浮点数为BigDecimal

字符: char 2字节

​ ascii占1个字节

​ utf-8占3个字节

​ Unicode占两个字节

​ \u0000转译字符

​ \b退格键

​ \n换行

​ \r回车

​ \t制表

布尔值: boolean 1字节

​ if(a):表示如果a=true

引用类型(reference type):

接口

数组

进制

0b二进制

0x十六进制

0八进制

八进制的10是8

十六进制的10是16

# 类型转换

小数的优先级一定大于整数

由低到高

byte,short,char->int->long->float->double

运算中,不同类型的数据先转换为同一类型,然后进行运算

强制类型转换-------低转高

自动类型转换--------高转低 (低)高

变量

变量

type varName[=value];

java 是一种强类型语言,每个变量必须声明其类型

Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

type varName [=value][ {,varName[=value]}];

//数据类型 变量名=值;可以使用逗号隔开来声明多个同类型变量

注意事项

每个变量名都有类型,类型可以是基本类型,也可以是引用类型

变量名必须是合法的标识符

变量声明是一条完整的语句,因此每个变量名都必须以分号结束

变量作用域

类变量 写在static 后面的变量

实例变量:把static去掉

局部变量:在方法里面

变量名命名规范

所有变量、方法、类名:见名知意

类成员变量:首字母小写和驼峰原则:除了第一个单词以外的其余单词首字母大写:monthSalary

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线:MAX_VALUE(单词比较多,加下划线)

类名:首字母大写和驼峰原则:Man,GoodMan

方法名:首字母小写和驼峰原则:run().runRun()

基本运算符

算术运算符 + - * / ++ – %

取余运算叫模运算:%

赋值运算符:=

逻辑运算符 :&&与 ||或 !非

位运算符: & |^ ~ >> <<

关系运算符:==:等于 !=instanceof > < >= <= !=

条件运算符 ?:

扩展运算符:+= -= *= /=

包机制

包机制:

​ 域名倒写

​ 防止命名冲突

​ package

​ import

为了更好地组织类,JAVA提供了包机制,用于区别类名的命名空间

包语句的语法格式为:

packag pkg1[.pkg2[.pkg3…]];

JAVA Doc

javadoc命令是用来生成自己API文档的

参数信息

@author:作者名

@version版本号

@since 指明需要最早使用的jdk版本

@return 返回值情况

@param 参数名

@throws 异常抛出情况

public class HelloWorld{
	/**
	*@author kuangshen
	*@param  args no
	*@since 1.0
	*@throws null
	*/
	public static void main(String[]args){
		System.out.println("hello");
	}
}

image-20210201194214183

流程控制

​ Scanner: 用户交互Systemin

​ 顺序结构:程序默认的结构,自上而下执行

​ 选择结构:if 但选择结构

​ if -else双选择结构

​ if-else if -else 多选择结构

​ switch :jdk支持了字符串

​ case穿透现象

​ break

​ default默认

​ 循环结构: while:尽量避免死循环

​ do…while

​ for

​ for each:增强for循环

break&continue :break:跳出循环

​ continue:终止当次循环,进行下一次循环

​ return:结束方法的运行

​ 带标签的continue

方法

方法的定义:

修饰符 返回值  方法名(参数名){
return 返回值;
}

方法的调用:

​ 方法名

​ 对象.方法

方法重载:

​ 名字相同,参数列表不同

命令行传参:给main方法传递参数

public class HelloWorld{
	/**
	*@author kuangshen
	*@param  args no
	*@since 1.0
	*@throws null
	*/
	public static void main(String[]args){
		for(int i = 0;i< args.length;i++){
			System.out.println(args[i]);
	}
		}
		
	}

image-20210201201927348

可变长参数:…必须放在最后一个参数

递归: 自己调用自己,给自己一个出口

​ 面试常常问 必须会

数组

数组的定义:

​ new int[5]

​ {1,2,3,4,5}

​ 必须是同一个类型

数组的使用:

通过下标拿到值

ArrayIndexoutofBounds:数组下标越界

增强for循环遍历

二维数组:

int[][]

Arrays工具类

排序算法:

冒泡排序

选择排序

插入排序

快速排序

归并排序

希尔排序

堆排序

基数排序

面向对象

类与对象:

​ 类是对象的抽象:模板Class

​ 对象是类的具体

构造方法:

​ 构造的重载:

​ 默认的无参构造

​ 如果手动定义了有参构造就必须要手动再加一个无参构造

​ 单例模式,需要构造器私有

new对象:

​ 栈存放引用

​ 堆存放具体的对象

封装:属性私有,get,set

继承:

​ extends

​ Object

​ 子类拥有父类的全部特性

​ 方法重写

​ this

​ super

​ java 是单继承,只能继承一个父类

多态:

​ 父类的引用指向子类的对象 Person person = new Student();

​ instanceof关键字,如果匹配,可以进行类型之间的转换

修饰符:

​ public

​ protected

​ private

​ static

​ final

​ abstract

接口:

​ interface

​ 约束,只能定义方法名

​ 子类实现接口,必须重写其中的方法

​ 只有一个方法的接口叫做函数式接口,可以使用lambda表达式简化

​ 接口比抽象类更抽象

​ 一个类可以实现多个接口

内部类:

​ 局部内部类

​ 静态内部类

​ 匿名内部类(重点)

异常

Throwable:

​ Exception:

​ 运行时异常:

​ 1/0

​ ClassNotFound

​ NullPoint(空指针)

​ UnKownType

​ 下标越界异常

​ 检查型异常

​ Error:

​ AWT错误

​ JVM错误:

​ StackOverFlow:栈溢出

​ OutOfMemory:内存溢出

五个关键字:

​ try

​ catch(){}(先小后到)

​ finally{}

​ throw:方法内部手动抛出异常

​ throws:方法抛出异常(方法外部)

自定义异常:

​ 继承Exception类即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值