Java基础
以实战为基础,逐步实现对java基础的了解,为大数据开发做准备
99滴神
希望与大家共同进步!加油!
展开
-
Java -- 日期对象转字符串、字符串转日期
字符串转成时间(Date)对象和时间(Date)对象转换成时间字符串是开发中经常会遇到的在API中,java.text.SimpleDateFormat下有一个叫SimpleDateFormat的对象,就是专门用来实现时间这种和字符串之间的互相转换。方法:使用SimpleDateFormat对象1、创建SimpleDateFormat对象的实例SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");提..原创 2021-06-11 10:43:22 · 1546 阅读 · 1 评论 -
【大数据开发】Java基础-总结23-java中的static变量、static方法、static执行顺序总结
说明:最近想到了static代码块、普通代码块与构造函数的执行顺序,故经过试验了一下,写了一下总结,以防自己再次遗忘;另外,也顺便查阅资料,总结了下日常对static方法、static变量的说明。1、static注意点1、在static方法内部不能调用非静态方法和非静态变量,反而非静态方法可以调用静态方法和访问静态变量。2、如果static修饰了一个方法,在没有创建任何对象的前提下,可以仅仅通过类本身调用static方法。3、如果static修饰了一个变量,在没有创建任何对象的前..原创 2021-06-03 17:45:49 · 160 阅读 · 1 评论 -
【大数据开发】Java基础-总结22- java执行static代码块、构造块与构造方法的顺序
1、总结如下:1、Java中静态变量只能在类主体中定义,不能在方法中定义。2、静态变量属于类所有而不属于方法。3、静态块:用static申明,JVM加载类时执行,仅执行一次。4、构造块:类中直接用{ }定义,每次创建对象时执行5、执行顺序优先级:静态代码块 > main() > 构造代码块 > 构造方法2、实例如下:public class StaticDemo { static int age1 = 1; static{原创 2021-06-01 19:25:05 · 136 阅读 · 0 评论 -
【Java习题】-练习题- 面向对象之集合框架1(泛型)day17
1.有Student学生实体,包含姓名,班级名称,考试成绩三个属性,向集合中添加五个完整的学生对象(包含所有属性值),遍历集合,输出所有学生的信息。2.根据学生的年龄和考试成绩排序(先按照考试成绩排,考试成绩相同再按照姓名排序package morning;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * 1.有Student学生实体,包含姓名,班级名称,考试成绩三个属性.原创 2021-03-22 20:08:52 · 364 阅读 · 2 评论 -
【Java习题】-练习题- 面向对象之字符串与正则表达式习题day15
1、【难】如下字符串:01#张三#2002#李四#1803#王五#2204#赵六#2005#田七#21 创建Student类,属性:学号 姓名 年龄 1.将这些Student对象放进数组中 2.查询里面有没有叫田七的学生如果存在则打印学生的具体信息(封装成方法,键盘输入姓名) 3.计算所有学生的平均年龄,最大年龄,最小年龄 4.如果存在名字叫张三的将名字改为张兵 package expression.practice;import java.ut.原创 2021-03-22 20:13:30 · 979 阅读 · 2 评论 -
【Java习题】--- day16作业小总结
1、创建对象的四种方式:new clone() 反射 反序列化2、 null也是对象 是一张白纸 谁写就是谁的对象 public class Null{ public static void haha(){ sout("afafa"); } public static void main(){ (Null)null.haha(); //正常执行 }}...原创 2021-03-22 15:18:39 · 110 阅读 · 0 评论 -
【Java习题】--- 面向对象之多态、接口与内部类习题day14
1、已知电脑有三个USB接口,分别去实例化一个鼠标,一个键盘,一个U盘来连接到电脑上。 输出每一个USB接口连接的设备信息 。 思路:这道题首先里面面向对象的思想,键盘、鼠标、U盘都有共同的USB,此USB是用来连接电脑、提示这是什么个什么东西,若是将它们共同的功能抽取出来就可以形成一个父类,而父类只有一个方法,但父类却不能写这是鼠标、键盘还什么什么,只能利用多态,而父类的方法不需要实现,因为父类实现了方法,对了子类也用不着父类的功能,干脆就定义为抽象的方法,从而变成了接口。package t..原创 2021-03-21 22:23:12 · 797 阅读 · 6 评论 -
【Java习题】(难)已知⽅法 public static int[] delete(int[] arr, int ele) 的作⽤是删除数组中第 ⼀次出现的ele元素,并返回删除后的数组
此题略简单,完整代码如下:package task;import java.util.Arrays;import java.util.Scanner;/** * (难)已知⽅法 public static int[] delete(int[] arr, int ele) 的作⽤是删除数组中第 * ⼀次出现的ele元素,并返回删除后的数组。实现这个⽅法。 */public class BigData13 { public static void main(String[] ar原创 2021-03-11 22:26:19 · 500 阅读 · 0 评论 -
【Java习题】-- 已知⽅法 public static int[] combine(int[] arr1, int[] arr2) 的作⽤是,合并 两个数组,并对合并后的数组进⾏升序排序
注: 此题略简单,完整代码如下:package task;import java.util.Arrays;import java.util.Scanner;import static sort.BigData02.bubbleSort;/** * (难)已知⽅法 public static int[] combine(int[] arr1, int[] arr2) 的作⽤是,合并 * 两个数组,并对合并后的数组进⾏升序排序,返回这个数组。实现这个⽅法。 */public clas原创 2021-03-11 22:24:44 · 259 阅读 · 0 评论 -
【Java习题】(难)设计⼀个⽅法,找出⼀个整型数组中的第⼆⼤的值
要求:1. 不可以通过排序实现,不能修改数组中的数据顺序 2. 要考虑到最⼤的数字可能出现多次思路:找出最大值,然后标记,再重新找另外的最大值,遇到标记contine本次循环 继续找完整代码如下:package task;/** * 找出数组中第二大的元素的下标 * 思路: 找出最大值,然后标记,再重新找另外的最大值,遇到标记contine本次循环 继续找 */public class BigData03 { public static void ma...原创 2021-03-11 22:21:30 · 236 阅读 · 0 评论 -
【Java习题】 -- 设计⼀个⽅法,将⼀个数组中的元素倒序排列(注意,不是降序)
此题略简单,代码如下:package task;import java.util.Arrays;import java.util.Scanner;/** * (中)设计⼀个⽅法,将⼀个数组中的元素倒序排列(注意,不是降序)。 */public class BigData04 { public static void main(String[] args) { int[] arrays = input(); reverseArray(arra...原创 2021-03-11 21:42:29 · 371 阅读 · 0 评论 -
【Java习题】 -- 设计⼀个⽅法,将⼀个字符串中的⼤⼩写字⺟翻转
/** * 字符串的大小写字母翻转 * @param str * @return */ private static String reverseLetter(String str) { char[] arrays = str.toCharArray(); for (int i = 0; i < arrays.length; i++) { if (arrays[i] >= 'a' &..原创 2021-03-11 11:03:13 · 478 阅读 · 0 评论 -
【大数据开发】Java基础-总结21- TCP与UDP的区别
说明: 首先告诉一下我自己和告诉一下大家,TCP与UDP是大数据面试中经常问到的问题,当然java的面试也会常问,希望自己能够通过发布博客加深下自己的印象,也希望对大家有所帮助!区别:TCP安全较高,而UDP相比安全性较低。 TCP传输的是流,而UDP传输的是包。 TCP是建立在连接的基础上的,而UDP是建立在非连接的基础上。 TCP传输速率相对较低,而UDP传输速率相对较高。 TCP适合传输数据量打的数据,而UDP适合算出数据量小的数据。 TCP适合点对点通信,而UDP适合广播.原创 2021-04-08 09:36:19 · 227 阅读 · 0 评论 -
【大数据开发】Java基础-总结20- IO的各种流的读写和例子
目录字节流:字节输入流:InputStream字节数出流:OutputStream字符流:字符读入流:Reader字符写出流:Writer原创 2021-04-11 21:22:58 · 262 阅读 · 2 评论 -
【大数据开发】Java基础 -总结21-Hashmap和HashTable的区别
说明: 首先告诉一下我自己和告诉一下大家,HashMap与HashTable是大数据面试中经常问到的问题,当然java的面试也会常问,故大家可以多看一下我总结的区别:1、HashMap是线程不安全的集合,而HashTable是线程安全的集合。2、HashMap允许key、value出现null,而HashTable是绝对不允许的。3、HashMap的父类是AbstractMap,而HashTable的父类是Dictionary。4、HashMap是Map接口的新实现类,底层算法效率.原创 2021-04-06 14:53:59 · 91 阅读 · 0 评论 -
【大数据开发】Java基础-总结19- IO流02注意事项和案例
1、将读取的数据放入List<Person> -- 利用控制台 进行输入 2、将List进行序列化到工程下的file/source.txt,并反序列化测试 3、 找到姓名是 shangsan的人,并将所有数据以key-value形式存入file/zhang.properties文件 4、读取内容,将年龄修改成40 并在此写入.properties文件package morning1;import java.io.*;import java.util.ArrayList...原创 2021-04-03 17:14:30 · 84 阅读 · 0 评论 -
【大数据开发】Java基础-总结18- IO流基础的注意事项和案例
注意点:IO流是对一个文件进行读写的,不是一个文件夹!在使用IO流的时候,不要建立与一个文件夹的连接。 IO流的四大父类,都是抽象类,都不能进行实例化对象。因此,借助了他们的子类来实现实例化,从而实现对数据的读写操作。 一旦流对象实例化完成, 将会建立一个程序与文件之间的连接,这个连接会持有这个而文件,如果这个连接不断,此时这个文件就是一个被使用的状态,此时将会无法对这个文件进行其他的操作,例如删除。 一个流对象在使用完成之后,切记切记!一定要进行流对象的关闭!另外说一下 绝对路径与相对路径的.原创 2021-04-03 16:30:28 · 299 阅读 · 0 评论 -
【大数据开发】Java基础-总结17- 泛型
1、泛型的作用:用了泛型之后:List<E> list = new ArrayList<>();E e = list.get(0);不用泛型:List list = new ArrayList();Object o = list.get(0);E e = (E)o;看完上面我想你已经看出了一下几点:用了泛型仅仅确定了集合内元素的类型,但是却在编译时就确定了元素的类型,这是再取出元素时不需要在强制转换了。这样做简化了代码,增强了代码的可读性等等,当然如果原创 2021-03-22 23:04:01 · 136 阅读 · 0 评论 -
【大数据开发】Java基础-总结13- 接口与内部类
1、接口的定义:类似于class,其实就是一种特殊的类,而关键字是interface。2、接口的默认定义: 接口中的属性默认是静态常量、而且访问权限是public。 接口中的方法默认都是抽象方法、而且访问权限是public。 注意点:接口中一般不写成员变量,只写方法,相当于制定规则,故而将接口成为方法列表。3、接口的作用:让java从单继承间接的实现了多继承,扩充了功能,可以将之认为是类的补充。4、一个类可以实现多个接口 注意点:如果两个借口定义了两个同名、同参数...原创 2021-03-16 20:55:22 · 210 阅读 · 0 评论 -
【大数据开发】Java基础-总结12-final、abstract、static、private区别
比较:final,abstract,static,private1、final、static、private都是不能与abstract同时存在的关键字。2、final:被final修饰的类不能有子类,被final修饰的方法不能重写,但abstract修饰的类,由于必须重写所以必须有子类。3、static:被static修饰的方法可以通过类名调用(字节码对象调用)、而abstract修饰的类通过子类实现,不能直接创建对象。4、private:被private修饰的方法不能重写,只能当前类使用,原创 2021-03-16 20:37:55 · 248 阅读 · 0 评论 -
【大数据开发】Java基础-总结11-抽象类的注意点
1、抽象类的定义:在类中只有方法的声明没有方法体的方法叫抽象方法,而拥有抽象方法的类叫做抽象类。2、抽象方法的特点:抽象方法只有方法的声明,没有实现(也就是说没有方法体) 并且抽象方法只能定义在抽象类中。3、抽象类的注意点:抽象类不一定有抽象方法,但有抽象方法的类一定是抽象类。 继承了抽象类的子类一定要实现抽象方法,如果不实现就只能将自己也变成抽象的。 抽象类不能直接创建对象,而是通过子类实现创建对象,所以抽象类一定会有子类。3、普通类与抽象类的区别:普通类可以直接创建...原创 2021-03-16 17:13:22 · 131 阅读 · 0 评论 -
【大数据开发】Java基础-总结10-多态的相关知识点
1、多态:实际上就是父类的引用指向子类的对象,但只能调用父类本身的方法、不能调用子类的方法。 原因: 因为java程序分为编译阶段和编一阶段,在编译阶段也就是从打开程序到运行之前只能识别=左边的部分(前面的引用类型),并不会识别=右边(后面的对象)。只有在运行阶段才会识别=右边(后面的对象)。例如:A a = new B();编译阶段识别: a 是A类的引用运行阶段识别:new出来的B对象2、问题1:在多态下为什么只能直接调用父类有的方法,而不能直接调用子类特有的方法? ...原创 2021-03-15 13:53:27 · 134 阅读 · 1 评论 -
【大数据开发】Java基础-总结9-继承的注意点
1. Java是单继承,有且仅有一个直接的父类,可以有若干个间接的父类;一个父类可以有0个或多个子类,子类之间互不影响。 举个例子:现实生活中 我们只有仅有一个父亲,并且是直系父亲,爷爷是直系父亲的父亲,也可以说成是我们间接的父亲,故而,父亲可以有多个儿子,但儿子不能有多个直系的父亲。2.两个类产生继承关系后,子类可以使用父类的属性和方法,也可以定义自己独有的属性和方法。3. 一个类不可以继承的是: 构造方法: 因为构造方法是为了创建当前类的对象的,所以不可以继承给子类。 ...原创 2021-03-12 21:34:02 · 60 阅读 · 0 评论 -
【大数据开发】Java基础-总结8-构造方法与普通方法的区别于注意点
构造方法的用处: 用于实例化对象构造方法的意义: 在实例化对象的时候调用 、并且在实例化对象的同时,给一些属性进行初始化的赋值。思考1: 下面代码是否正确? 答:错误,因为this代表当前对象,是一个引用数据类型,这样会形成死循环了。public Person(){ this(); //这里是在调用空参的构造方法}思考2:下面代码是否正确? 答:错误,因为this作为构造方法必须放在第一行,所以说这事错误的public Person(String name){ .原创 2021-03-12 12:03:03 · 102 阅读 · 0 评论 -
【大数据开发】Java基础-总结7-面向对象与面向过程的关系
1. 面向对象是基于面向过程而言的2.面向对象和面向过程其实都是一种编程思想,记住不是语言3.面向对象比面向过程更高级4.面向对象更符合人们的思考习惯原创 2021-03-12 11:58:14 · 174 阅读 · 0 评论 -
【大数据开发】Java基础-总结6-this与super的区别与注意点
this: 是一种引用类型,代表的是当前的对象,类似于数组,保存的是当前对象的地址 = = 数组变量存储的也是地址原创 2021-03-12 11:07:18 · 79 阅读 · 0 评论 -
【大数据开发】Java基础-总结5-方法重载与重写的区别与各自的特点
重写特点: 1. 重写允许返回值不同重载 :在同一个类中,方法名相同,参数列表不同, 那么这就是重载注意点:参数列表包括参数的个数不同、参数的数据类型不同、参数的顺序不同。 再就是方法的重载与与方法的返回值和返回值没有任何关系。 若是方法名相同,参数列表相同,只改变了返回值,会被编译器认为是同一种方法。 若是方法名相同,参数列表相同,只改变了...原创 2021-03-12 09:49:53 · 252 阅读 · 0 评论 -
【大数据开发】Java基础-总结4-匿名对象的说明与注意点
1.其实匿名对象就是没有名字的对象,匿名对象只能在创建对象的时刻使用一次,注意: 仅仅是一次。一旦使用一次后,这个匿名对象就无法调用变成了垃圾,只能通过系统的垃圾回收机制在某个时刻进行内存回收。2.好处: 匿名对象随用随建,用完可以更好的回收内存,节省内存3.使用场景: 用作方法参数 用作匿名内部类package com.object.pratice;public class Person { String name; int age; @...原创 2021-03-11 23:22:41 · 118 阅读 · 0 评论 -
【大数据开发】Java基础-总结3-面向对象的特点和注意点
1.将复杂的问题简单化2.将自己从执行者转换成了指挥者而且完成需求时: 1.先去找具有某所需个功能的对象来用 2.若无对象具有某个功能,那么就创建一个具有某个所需功能的对象。原创 2021-03-11 22:46:37 · 81 阅读 · 0 评论 -
【大数据开发】Java基础-总结2-面向对象与面向过程的区别
1. 首先,面向对象是相对面向过程而言的;换句话说,面向对象是基于面向过程的。 *注: 如若面试官询问什么是面向对象?务必结合面向过程来说,若只说面向对象怎么着怎么着,这样还是错的,而且面试官也会以为你回答的错误,应该结合面向对象和面向过程的思想一起说。2. 面向对象强调的是对象,关注的是能够完成功能的对象和完成某个功能或者解决问题需求需要哪些的对象 而面向过程强调的是功能行为、关注的是解决某个问题需求需要哪些步骤、着重于问题是怎么解决的,最终亲自解决这个问题3.如若上面还不理解的话,...原创 2021-03-11 22:42:39 · 149 阅读 · 0 评论 -
【大数据开发】Java基础-总结1-可变参数的注意点
1. 可变参数可以接受多个实参,但务必是多个类型相同的实参。(实参个数不限,使用方式与数组相同)2. 语法: 数据类型... parameters3. 当一个方法中的参数包括可变参数在内有多个参数时,可变参数必须要放在后面,而且一个方法中最多最多仅有一个可变参数。4.当可变参数的方法与固定参数的方法是重载关系时, 调用顺序是有优先级的,固定参数的优先级高于可变参数的优先级。5. 如果同时出现两个重载方法,一个方法参数是可变参数,另一个方法参数是第一个是固定参数,后面是可变参数,则我们不能使.原创 2021-03-11 15:48:31 · 191 阅读 · 0 评论
分享