java基础知识
小菜鸟的编程路
这个作者很懒,什么都没留下…
展开
-
JAVA的内存分配图
堆区:以new关键词创建的对象,JDK1.7开始字符串常量池也在堆区中存放栈区:存放栈帧,每次调用产生一个栈帧,栈帧中保存临时变量和参数方法区:类的信息,所有被static修饰的成员,JDK1.7之前字符串常量池在方法区中存放内存分配应该有五个部分:栈,堆,方法区,本地方法栈,寄存器堆内存特点:1.每个对象都有地址值2.每个对象的数据都有默认值3.当无引用指向对象时,会在垃圾回收的时候被回收这幅图表示左边程序运行过程中的内存分析图,主要注意以下两点:1..clas..原创 2020-09-14 21:55:27 · 1204 阅读 · 0 评论 -
JAVA常用API
API概述(1)应用程序编程接口(Application Programming Interface)。其实就是程序员的一本字典(2)就是JDK提供给我们的一些已经定义好的提高编程效率的java类的说明文档,在API中有Java所有类的介绍,这些类的底层代码是封装的,我们不需要关心如何实现,只要学会使用即可(只有JDK1.6有中文版的官方翻译,而JDK1.6以后就没中文版了,只有英文版)引用类型的一般使用步骤1. 导包import 包路径.类名称;如果需要使用的目标类,和当前类原创 2020-09-08 21:31:56 · 554 阅读 · 0 评论 -
面向对象——抽象类和接口
目录抽象类抽象类的由来抽象类和抽象方法的定义格式如何使用抽象类和抽象方法抽象类的特点abstract不能与什么关键字共存接口与抽象类的关系抽象类不定义抽象方法可否接口接口的定义和使用步骤接口中的内容常量抽象方法默认方法静态方法私有方法接口的特点类与接口的关系接口多实现使用接口的注意点类与接口抽象类和接口的区别抽象类抽象类的由来在抽取了子类(狗和狼)的共性之后,父类犬科定义吼叫功能,但是不知道犬科具体..原创 2020-09-08 21:12:51 · 460 阅读 · 0 评论 -
面向对象——三大特性
面向对象封装特性假如将内部的属性直接暴露出来,可以通过对象.属性直接进行操作,那么有可能会存在操作的不合理性,比如年龄直接赋值为负数,性别赋值为比较奇怪的数据,所以可以用方法对外联系,并在方法内进行一定的属性控制封装的本质在于对信息的隐藏,数据被保护在内部,尽可能地隐藏内部的细节,只保留一些对外方法使之与外部发生联系,私有仅仅是封装的一种体现而已,而用户是通过可读可写的方法去访问内部数据,至于内部如何实现的,用户无从了解,提高了安全性A:封装概述是面向对象三大特征之一是面向对象编程.原创 2020-09-08 20:57:56 · 507 阅读 · 0 评论 -
面向对象——异常
异常产生原因Throwable类中定义了3个异常处理的方法String getMessage() 返回此throwable的简短描述。String toString() 返回此throwable的详细消息字符串。void printStackTrace() JVM打印异常对象,默认此方法,打印的异常信息是最全面的对比三个方法分别放在catch里控制台打印的异常信息:e.getMessage:文件的后缀名不对e.toString:java.io.IOException: 文件的后.原创 2020-09-06 19:37:47 · 828 阅读 · 0 评论 -
面向对象——this和super
this的原理哪个对象调用了this所在函数(包含this的函数,this一般都在方法内部调用),那么this就代表哪个对象(这时候在压栈的函数中this会把对象引用所对用的地址值拿过来,跟对象引用名指向堆内存中的具体对象)this的两个用法A: 区分成员变量和局部变量this对象后面跟上.调用的是本类的成员属性和成员方法(一般方法),更多的时候用在成员变量与局部变量重名时B: 调用本类构造方法this对象后面跟上()调用的是本类中的对应参数的构造函数。在构造方法的第一行调用,且只原创 2020-09-06 15:28:39 · 209 阅读 · 0 评论 -
面向对象——面向对象知识
面向过程与面向对象面向过程:强调的是每一个功能的步骤,当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。面向对象:强调的是对象,然后由对象去调用功能,当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具 有该功能的人(物),来帮我做事儿现实生活中面向过程和面向对象就好比是自己洗衣服的过程和让洗衣机洗衣服面向过程:把衣服脱下来-->找一个盆-->放点洗衣粉-->加点水-->浸泡10分钟-->揉一揉-->清洗衣服--&..原创 2020-09-06 15:24:38 · 1011 阅读 · 0 评论 -
java基础知识——JAVA中的函数(方法)
方法的定义简单的说:方法就是完成特定功能的代码块方法的格式权限修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) { 方法体; return 返回值;}return的两个作用:停止当前方法 将后面的返回值还给调用处,返回值跟返回值类型对应定义新方法的明确点写一个方法首先有两点需要明确返回值类型 明确功能结果的数据类型,如果没有返回值,则写void参数列表 明...原创 2020-09-03 16:37:55 · 5748 阅读 · 0 评论 -
java基础知识——排序算法
目录冒泡排序算法选择排序算法二分(折半)查找算法冒泡排序算法图示如下:代码实现:/** * 冒泡排序 */public class Test01 { public static void main(String[] args) { int [] data = {77,55,66,33,44,11}; //由小到大 //从前向后两两比较,如果前面的数大于后面的数就交换 //对于n个数的数组来说.原创 2020-09-03 16:28:52 · 204 阅读 · 0 评论 -
java基础知识——java中的数组
目录数组的由来数组的定义数组的特点数组初始化动态初始化动态初始化内存示意图静态初始化数组初始化方式的使用建议访问数组数组访问时两个常见的小问题数组遍历数组在方法中的作用数组扩容JNI技术了解二维数组动态初始化静态初始化二维数组遍历数组的由来假如说一个班有一百个学生,每个变量只能存储一个数据,那么记录每个学生的成绩就要一百个变量,显得太麻烦,所以产生了数组数组的定义数组:存储同一种数据类型的多个元素的容器。..原创 2020-09-03 16:23:19 · 475 阅读 · 0 评论 -
java基础知识——程序流程控制
流程控制分类顺序结构,选择结构,循环结构顺序结构从上到下执行,依次执行选择结构两种选择结构:if swichIf选择结构格式1:满足条件,执行{}内部语句,不满足跳过{}里面的执行语句,相当于对条件进行一次判断格式2:else表示否则,如果不满足上面if的条件,其他范围都属于else,相当于对条件进行两次判断if....else..就是三元运算符的简写形式:举例int a=1,b;if(a>1){b=100;}else{b=200;}.原创 2020-09-03 16:04:43 · 233 阅读 · 0 评论 -
java基础知识——运算符
概念:对常量和变量进行操作的符号运算符分类算术运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符优先级:算数运算符>关系运算符>逻辑运算符算术运算符算数运算符 含义 + 正号 - 负号 + 加 - 减 * 乘 / 除(即算数中整数的结果) % 取模(即算术中的求余数) ++ 自增(前) ++ 自增(后) – 自减(前) – 自减(后) /:除法原创 2020-09-03 15:51:24 · 908 阅读 · 0 评论 -
java基础知识——基础语法
用于解释说明程序的文字注释其实不用怎么记,之后都用ctrl+/(单行注释)和ctrl+shift+/(多行注释)快捷键就可以//:单行注释/* */:多行注释/** */:文档注释:可以通过javadoc.exe命令提取Java文件中的文档注释注释的内容不会被编译到class文件当中,只是给程序员看源文件方便原创 2020-09-03 15:03:22 · 512 阅读 · 0 评论 -
java基础知识——java基础起步知识
JDK,JRE,JVM的关系JDK包含JRE 和开发工具包JRE 包含 核心类库和JVM简而言之:JDK开发完成的Java程序,交给JRE运行,由JRE里面的Java虚拟机保证我们程序的跨平台Java跨平台原理平台:指的是操作系统(Windows,Linux,Mac)跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine),java虚拟机可以看作是操作系统跟java程序之间的桥梁,原创 2020-09-03 14:51:46 · 388 阅读 · 0 评论 -
java基础知识——计算机入门知识
计算机概述计算机包括硬件(hardware)和软件(software)两部分。硬件包括计算机中可以看得见的物理部分。而软件提供看不见的指令。这些指令控制硬件并且使得硬件完成特定的任务。而我们软件开发人员就是编写这些指令去控制硬件帮我们做事计算机硬件总线是搭建在主板上的那些金属线,主板是一个连接计算机各个部分的电路板中央处理器(CPU)CPU是计算机的大脑,它包括两个部分:运算器和控制器,运算器是用于完成数值运算(+、-、*、/)和逻辑运算(比较),而控制器是是对程序流程进行流程控制原创 2020-09-03 11:34:05 · 494 阅读 · 0 评论