![](https://img-blog.csdnimg.cn/20201028142404105.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
学习JavaSE第一阶段
文章平均质量分 94
本专栏记录了一名通信人自学JavaSE的过程,特此分享向各位大佬看齐,请多多指教。
发达的范
日拱一卒,功不唐捐
展开
-
14Java的数据流&对象流&打印流
数据流DataInputStream&DataOutputStream主要是为了处理基本数据类型(八大基本数据类型)和字符串保留了数据和数据类型,方便后期直接获取数据类型数据处理时候要保证数据类型顺序一致,读取和写出一致把xxx转成字节数组,使用ByteArrayOutputStream,把数据输出到内存中,然后使用toByteArray方法转成字节数组。这是使用数据输出流DataOutputStream和数据输入流DataInputStream结合字节数组输出流ByteArrayOut原创 2021-05-11 20:38:54 · 152 阅读 · 2 评论 -
30Java的容器&泛型(源码简直不能更精彩)
容器(又名集合)数组也是一种容器,可以放置对象或基本数据类型数据。数组的优势:访问速度快,效率高;数组的劣势:数组容量不灵活,不能改变长度。容器是Java的重要内容,顾名思义,用来装其他对象的对象。接口:定义规范。就是定义不变的东西,接口里面只能定义抽象方法和常量。容器有四大接口:Collection接口:定义了存取一组对象的抽象方法,其子接口Set和List分别定义了存储方式:Set中的数据对象没有顺序且不可重复List中的数据对象有顺序且可以重复Map接口定义了存储原创 2020-10-31 20:10:45 · 151 阅读 · 0 评论 -
29Java的异常机制学习(存疑)
Java的异常这块有几位优秀的博主已经介绍的很详细了,我这里就记录一下我的实现过程和学习过程中遇到的问题。异常(Exception)java的异常是用于处理程序中异常或错误的一种机制。回顾:IDE一般指集成开发环境。集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具.JDK: Java Development Kit java开发工具箱JRE:Java原创 2020-10-28 17:39:30 · 123 阅读 · 0 评论 -
01第一个java程序:HelloWorld!
配置java运行环境安装java运行环境JDK8。下载地址:(选择对应自己电脑的版本下载)。https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html选择安装地址(这个安装地址自己要记住,后面要用),点击安装即可。配置环境变量,进入“此电脑--属性--高级系统设...原创 2020-09-18 15:06:00 · 92 阅读 · 0 评论 -
02新建一个java工程的两种方法
新建一个java工程的两种方法直接使用默认的路径创建打开IDEA默认界面点击New Project此处需要注意的是,Project SDK需要选择前面安装的JDK8的地址,然后Next即可。3.输入Project name、选择Project location,然后点击finish即可。进入主界面,点击src,右键New--Java C...原创 2020-09-18 17:22:00 · 575 阅读 · 0 评论 -
03java基础知识
标识符和关键字eg:public class Hello{ public static void main(String[] args){ String name="fd"; }}这里的class就是类名,main就是方法名。(class类,main方法)所有的标识符都是以字母(A-Z或者a-z),美元符$,或者下划线(_)开始首字母...原创 2020-09-19 21:44:00 · 102 阅读 · 0 评论 -
04java基础知识
变量类变量实例变量局部变量public class Demo{ //类变量 static static double money=3000;//3000默认类型是int,double的优先级高,直自动转换 //类变量从属于Demo类,会随着Demo类存在和消失 //=======================================...原创 2020-09-20 20:55:00 · 90 阅读 · 0 评论 -
05java基础知识
java包机制java包的本质就是文件夹JavaDoc是什么?JavaDoc命令是用来生成自己的API文档,把程序中的注释信生成帮助文档DK8中文帮助文档如何生成JavaDoc文档?方法一:1.进入存放需要生成JavaDoc文档的java程序的文件夹中,然后从当前文件夹使用cmd命令进入控制台:2.然后输入如下命令:javadoc -encoding UT...原创 2020-09-22 14:33:00 · 74 阅读 · 0 评论 -
06java基础知识
1.顺序结构java的基本结构就是顺序结构,除非特别指明,否则就按照代码的顺序从前到后一句一句的执行。2.选择结构if单选择结构if(布尔表达式){//如果布尔表达式为true,将执行这里面的语句}import java.util.Scanner;public class scanner_pro2 { public static void main...原创 2020-09-24 21:45:00 · 80 阅读 · 0 评论 -
07java基础知识
循环结构while 循环do...while循环for循环01 while循环while(布尔表达式){ //执行内容}public class whileDemo { public static void main(String[] args) { int i=0; int sum=0; System.o...原创 2020-09-25 22:14:00 · 95 阅读 · 0 评论 -
08java的方法
什么是方法?可以把方法理解为C语言的函数,为了完成某个功能而编写的代码块,这个代码块可以被调用。方法的命名规则是:首字母小写+驼峰原则下面是java定义的方法:同理:下面是关于方法的一个例子:package MethodDemo;public class Demo01 { public static void main(String[] arg...原创 2020-09-26 16:20:00 · 188 阅读 · 0 评论 -
09java方法的重载&命令行传参
方法重载package MethodDemo;public class Demo03 { public static void main(String[] args) { //验证方法的重载 compile(10, 20); compile(45.1, 20.1); compile(10,200,30.1);...原创 2020-10-01 09:48:00 · 94 阅读 · 0 评论 -
10java可变长参数与递归
可变长参数示例:package MethodDemo;public class Demo05 { public static void main(String[] args) { Demo05 demo05 = new Demo05();//因为写方法时没有写成类方法,所以调用这个方法时要new一个类,通过类调用, demo05.find...原创 2020-10-01 20:55:00 · 95 阅读 · 0 评论 -
11java的一维数组
一维数组数组初始化的三种方式数组的默认初始化 数组是引用类型(除了八大基本数据类型,都是引用类型),他的元素相当于类的实例变量。其中每个元素也按照实例变量的方式倍隐式初始化。静态初始化int[] array={1,2,3};Man[] mans={new Man(1,1),new Man(2,2)};//这是引用类型动态初始化int[] ...原创 2020-10-02 17:22:00 · 78 阅读 · 0 评论 -
12java的多维数组
多维数组多维数组可以看成数组的数组,比二位数组就是一个特殊的数组,其中的每一个元素都是一个一维数组int array[][]=new int[2][3];直接上代码,太精彩了,颠覆了我以前对数组的认知。package MethodDemo;public class Demo09 { public static void main(String[] args) {...原创 2020-10-03 11:27:00 · 84 阅读 · 0 评论 -
13java的Arrays类
Arrays类数组的工具类是java.util.ArraysArrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意:是不用,而不是不能)查看JDK帮助文档package MethodDemo;import java.util.Arrays;public class Demo10 { publ...原创 2020-10-03 15:49:00 · 80 阅读 · 0 评论 -
14java的冒泡排序
冒泡排序以前学习C语言的时候学习过冒泡排序等其他排序,现在根据自己对冒泡的回忆以及理解先分析一下冒泡排序的原理 :主要是理解“冒泡”二字,每冒一个泡就把数组内的元素遍历一次,调整一个数字的位置(如果顺序不对的话),一共需要进行array.length-1次遍历,每次遍历需要进行array.length-i-1次比较(其中i是指第i次遍历)。图1 是第一次遍历的过程,红字是比较的两个...原创 2020-10-03 18:55:00 · 76 阅读 · 0 评论 -
15java稀疏数组
稀疏数组稀疏数组简介:如何表示以下稀疏数组?0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 00 0 0 2 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 ...原创 2020-10-03 21:02:00 · 91 阅读 · 0 评论 -
16java的面向对象编程&基础知识回顾
面向对象编程java的核心思想就是OOP Object-oriented Programming.面向对象的本质就是:以类的方式组织代码,以对象来组织(封装)数据。对红字的解释:解决复杂问题,要首先从宏观把握,分析框架和流程,此时需要面向对象的思路具体到微观操作,也就是具体的实现过程,就需要面向过程的思路总结:宏观---面向对象;微观---面向过程这...原创 2020-10-04 15:43:00 · 90 阅读 · 0 评论 -
17java类与对象&构造器
类与对象的关系类是对象的模板!!!类是对对象的抽象;对象是具体的实例。类是一种抽象的数据类型,它是对某一类事物整体的描述/或定义,并不能代表某一个具体的事物;动物,手机,Person类,Car类............对象是抽象概念的具体实例。能够体现出特点,展现出功能的是具体的实例,不是一个抽象的概念。张三是人的一个具体实例创建与初始化对象使用ne...原创 2020-10-04 21:44:00 · 66 阅读 · 0 评论 -
18java的封装继承多态(上)
封装封装,顾名思义,就是把东西封存起来,不让每个人都能操作。通常情况下,应该禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问。这称为信息的隐藏。程序设计的要追求"高内聚,低耦合"。高内聚:类的内部数据局操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。熟记这句话:属性私有,get/set下面看一个封装的实例:(为了展示方便,我这里St...原创 2020-10-05 18:47:00 · 91 阅读 · 0 评论 -
19java的封装继承多态(下)
方法重写注意:方法的重写是针对继承来说的,没有继承关系不叫方法的重写。下面先给一个重写的错误写法:package oop.OopDemo;import oop.OopDemo.Demo02_extends.Person;import oop.OopDemo.Demo02_extends.Student;public class Application {publi...原创 2020-10-06 17:46:00 · 98 阅读 · 0 评论 -
20java的组合&IDEA踩坑合集1
组合(模式)组合(模式)的概念:组合多个对象形成树形结构以表示有整体-部分关系层次结构,组合模式可以让客户端统一对待单个对象和组合对象。组合和继承能实现相同的效果,但是使用方法有所区别。下面看组合的程序实例:package oop.OopDemo.Polymorphic;public class Test { public static void main(S...原创 2020-10-12 17:17:00 · 114 阅读 · 0 评论 -
21java的抽象类和接口
抽象类我们先来看抽象类的实现实例,然后再讨论关于抽象类的细节问题。package oop.OopDemo.AbstractClass;public class TestAbstract { public static void main(String[] args) { //Animal animal = new Animal();//报错 ...原创 2020-10-15 22:00:00 · 114 阅读 · 0 评论 -
22java的回调&内部类
回调(callback,Hook)回调(callback),又叫钩子(hook),模板方法模式。在程序中某个位置设定一个钩子(hook),这个钩子具体怎么运行不确定,具体传递哪个对象就调用哪个对象的方法,实现代码的分离。实质上就是多态。下面看程序实例:package oop.OopDemo.CallBack;public class MyCallback { pu...原创 2020-10-16 22:15:00 · 146 阅读 · 0 评论 -
23java的String类常用方法
序号23及其以前的博客都是由博客园搬运过来的原创 2020-10-18 16:41:00 · 121 阅读 · 0 评论 -
28探索学习Java的时间处理相关类
时间处理相关类时间相关的类如下:01Date类Date类是一个java中时间计算的类,在java中首先设定一个时间点为初试时间点,这个时间点是1970年01月01日00点00分00秒,最小刻度是毫秒,用时间差来表示一个特定的时间点,比如:此刻是2020/10/24/15:36/10秒,那么JRE中会存储当前时间和初试时间点的差值来表示当前的时间。package oop.oopdemo.dateclass;import java.util.Date;/** * 测试Date类 * Dat原创 2020-10-25 22:21:33 · 117 阅读 · 0 评论 -
27java的包装类&自动装箱&自动拆箱&缓存问题
包装类下面是包装类的使用方法:package oop.OopDemo.WrapClass;/** * 测试包装类的基本用法 * * @author 发达的范 * @date 2020/10/24 */public class Test01 { public static void main(String[] args) { //报错:Cannot resolve constructor 'Integer()',必须传递一个整形数据被包装 //In原创 2020-10-24 11:58:06 · 113 阅读 · 0 评论 -
26java的 二分查找法 探索学习之路
二分法是用来查找数组中某个元素的索引,使用二分法之前必须保证数组已经排序(从大到小,从小到大均可)二分法的原理很简单,我理解的二分查找法就是先把已经排序的数组(假设是从小到大)从中间分成两组,然后用目标数值与数组的中间数据相比较,如果目标数值比数组中间数据大,说明这个目标数值只可能存在于数组的后半部分,如果目标数值比数组中间数据小,说明这个目标数值只可能存在于数组的前半部分,假设目标数值比数组中间元素大,然后把数组的后半部分再分成两半,使用目标数值与现在的中间数值进行比较,依次类推,知道数组被分成两部分.原创 2020-10-23 20:42:36 · 215 阅读 · 2 评论 -
24java模拟ArrayList容器的实现
来自于一个小白自学java的旅程记录实现一个容器,能够存放任意类型的数据,能够自动扩容,能够实现一系列方法。下面是练习容器的程序的第一个版本:package MyArrayListSimulation;public class MyArrayList { private Object[] value;//创建一个Object类的数组对象,所有的类都是Object类的子类,所以这个数组能够存储所有类型对象 private int size;//创建一个变量保存数组的长度原创 2020-10-22 16:45:23 · 130 阅读 · 0 评论 -
25java的StringBuilder类和StringBuffer类
StringBuilder线程不安全,效率高;StringBuffer线程安全,效率低new StringBuilder创建长度为16的字符串数组下面看程序实例:package testString;public class stringBuilder { public static void main(String[] args) { StringBuilder stringBuilder = new StringBuilder();//字符数组初始长度为16 .原创 2020-10-22 17:24:07 · 137 阅读 · 0 评论