• 欢迎来到本博客,希望可以y一起学习与分享

java 基础

Java benz 1年前 (2020-05-04) 29次浏览 0个评论 扫描二维码

Java语言跨平台原理

  • A:什么是跨平台性
  • B:Java语言跨平台原理
    • 只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
  • C:Java语言跨平台图解
    • write once ,run anywhere!(一处编译,到处运行)

JRE和JDK的概述

JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。
JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。

我们想要运行一个已有的Java程序,那么只需安装 JRE 即可。
我们想要开发一个全新的Java程序,那么必须安装 JDK 。

java架构图
 

JDK&JRE&JVM关系示意图

三者关系: JDK > JRE > JVM

计算机存储单位转换

字节是我们常见的计算机中小存储单元。计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性, 我们可以查看文件的字节大小。
8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。
位(bit):一个数字0或者一个数字1,代表一位。
字节(Byte):每逢8位是一个字节,这是数据存储的最小单位。

1 Byte = 8 bit

1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB

数据类型分类.

基本数据类型
整数型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean

引用数据类型
字符串、数组、类、接口、Lambda

注意事项:
1. 字符串不是基本类型,而是引用类型。
2. 浮点型可能只是一个近似值,并非精确的值。
3. 数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。
4. 浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。

 

//难点

1.数据类型的转换;数据类型运算时自动提升,ascii表记住48->0;65->A;97->a,char可以转为int,string就是string

2.bool就是bool,不能转为0、1

3.编译器的常量优化

4.循环语句的区别
for 和 while 的小区别: 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继 续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消 失,能够提高内存的使用效率。

在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。

死循环标准格式

while(true){

循环体

}

5.什么是方法重载,注意事项

println()是通过方法的重载

6.数组

Java中的内存划分

只有一个数组的内存图

private与get/set方法的妙用

构造方法

定义一个标准的类

Scanner类的使用

匿名类

Random类的使用

泛型、自动装箱、自动拆箱

对于ArrayList来说,有一个尖括号代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。

如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”。

基本类型 包装类(引用类型,包装类都位于java.lang包下)
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char Character 【特殊】
boolean Boolean

从JDK 1.5+开始,支持自动装箱、自动拆箱。

自动装箱:基本类型 –> 包装类型
自动拆箱:包装类型 –> 基本类型

ArrayList的使用

字符串常量池

String类

字符获取

字符串的截取

字符转换

分割字符串

静态关键字

静态static关键字概述

静态的内存图
 

静态代码块

Arrays类

Math数学类

继承

继承的基本概念
 

方法覆盖重写的应用场景

Java继承的三个特点
 

super关键字

super与this的内存图
 

抽象方法

抽象的概念

接口

小结

在Java 9+版本中,接口的内容可以有:

1. 成员变量其实是常量,格式:
[public] [static] [final] 数据类型 常量名称 = 数据值;
注意:
常量必须进行赋值,而且一旦赋值不能改变。
常量名称完全大写,用下划线进行分隔。

2. 接口中最重要的就是抽象方法,格式:
[public] [abstract] 返回值类型 方法名称(参数列表);
注意:实现类必须覆盖重写接口所有的抽象方法,除非实现类是抽象类。

3. 从Java 8开始,接口里允许定义默认方法,格式:
[public] default 返回值类型 方法名称(参数列表) { 方法体 }
注意:默认方法也可以被覆盖重写

4. 从Java 8开始,接口里允许定义静态方法,格式:
[public] static 返回值类型 方法名称(参数列表) { 方法体 }
注意:应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法

5. 从Java 9开始,接口里允许定义私有很乏,格式:
普通私有方法:private 返回值类型 方法名称(参数列表) { 方法体 }
静态私有方法:private static 返回值类型 方法名称(参数列表) { 方法体 }
注意:private的方法只有接口自己才能调用,不能被实现类或别人使用。

多态

多态的概述

使用多态的好处

向上转型与向下转型

对象的上下转型

对象类型判断:instanceof

final关键字

修饰符权限

内部类


文章 java 基础 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!