Java_数据结构与算法_数据结构与问题求解_01 Java基础知识

没有学好数据结构的程序员不是一个好的程序员。

只有心里熟练掌握数据结构,才能做到人序合一。

最近打算重新梳理巩固一下自己数据结构的知识,如果有写错的地方请大家见谅,欢迎指出虚心接收批评。

该系列博文参考的书籍是《数据结构与问题求解》第四版。

在正式学习数据结构之前,我们有必要掌握基础的Java知识。

--------------------------------------------------------------

Java的八大基本类型:

byte、short、int、long、float、double、char、boolean

其中,byte、short、int、long表示整型,按此序列排序byte占8位,每上升一级位数乘2。注意整型之间的运算会自动转换成int类型。所以例如byte a + byte b = byte c编译的时候会报错,必须将a 和 b 的结果强转成byte类型。

float、double为浮点类型。其中float是32位,double是64位。

为了表示Unicode标准,char类型需要占用16位。所以在Java语言中,char类型可以直接表示中文。

boolean只有一位,0表示false,1表示true。

--------------------------------------------------------------

基本类型的声明和初始化

Java是一个强类型语言,所以在声明变量的时候必须指明变量类型。

变量名必须是标识符,标识符可以由字母、数字和下划线以及美元符号组成,同时区分大小写。标识符不能以数字开头也不允许使用保留字,main虽然不是Java中的关键字,但是在Java语言中有特殊的含义,变量名应该避免使用此名字。

--------------------------------------------------------------

Java关键字与保留字

---------------------------------

保留字:const  、goto

---------------------------------

关键字:

public          用于修饰类,方法与属性。表示公有的,可跨包访问。

protected    受保护的,只有当前包或子类可以查看。

private         私有的,表示只有当前类可以查看。

class             用于声明一个类

interface       用于声明一个接口

abstract        表示抽象的。用于声明类和方法。抽象方法不能有{},只有在抽象类和接口中可以使用此关键字。接口中所有的方法都默认加abstract关键字,Java 8 default方法除外。

implements  表示实现某个接口。可用在抽象类和普通类中。抽象类中使用该关键字可以不实现接口声明的方法,而普通类中必须实现接口中声明的方法。

extends         表示继承的关系。接口可以继承接口,并且是多继承,类可以继承类,不管是普通类还是抽象类均可继承。不过在Java语言中,类的继承是单继承。类不可以继承接口,只能实现接口。

new                用于创建对象。

import            引入包的关键字

package         定义包的关键字,表明当前类属于哪个包

byte、short、int、long、float、double、char、boolean Java基本数据类型

void、false、true、false、if、else、while、for、switch、case、default、do、break、continue、return、instanceof、static、final 、synchronize、try、catch、finally、throw、throws使用的比较多这里不做解释了

this表示当前对象。谁调用了this,那么this就表示谁。

super        表示对父类对象的引用

native       用来修饰方法,被native修饰的方法不能有方法体,表示这个方法是用其他语言如C/C++实现的,并生成了.dll文件。JVM通过JNI技术与.dll交互完成native功能。需要注意的是,native不能与abstract连用。

strictfp      表示精确浮点。可用于类、接口或方法,使用该关键字修饰一个方法时,会要求该方法中所有的浮点数表达式都严格遵循FP-strict的限制,符合IEEE-754规范,所以会保证代码中的浮点数运算结果不管在什么环境中时得到的数据都是一致的。 

transient    只能用于修饰变量。被该关键字修饰的变量在对象持久化时,该值不会被保存。Java中Serializable接口默认会持久化所有变量,那么有些没用或者涉及到安全性的数据都会被持久化,如此便有可能会影响效率与安全性,所以需要使用该关键字进行控制。

volatile        本人还不是特别理解该关键字的原理和使用场景,带理解完之后将会补充,也希望大家能够补充个


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值