Java编程基础
文章平均质量分 70
关于日常使用的java 的编程基础
!!!+++
随便写写
展开
-
常见算法之一:递归算法
其二递归需要一个终止条件,通常是f(x-1)收敛于一个常量,即f(x-1)终止条件是一个常量。递归算法是一个自己调用自己的算法,写成一个函数,就是这个函数会在内部自己调用自己,然后一直到某个常量。这会影响效率,所以需要注意保留中间计算结果,避免重复计算,可以大大降低时间复杂度。其一递归的任意一步,都可以换算成一个常量+一个调用自己的表达式。其中n是一个常量,x-1最终会收敛域一个常量。该方法只用来体现递归的用法,限制条件就没加了。刷题是保持编程能力的一个很好的方法。优点对于某些方法有奇效。...原创 2022-07-28 22:34:25 · 3900 阅读 · 0 评论 -
Double.isNaN(double var)
4)3/0(试验后结果为positiveinfinity,有点奇怪,看官网用正0和负0来表示正无穷和负无穷的说法似乎挺有道理,不过和前面的定义(非法操作的结果就是Nan)Double中的NaN表示一个不是一个数(Notanumber),查询JAVASE18(通俗的说NaN用来表示非法运算的结果,比如0/0。(2)NaN也不等于任何数NaN==X(X可为任意数)等式返回false;(1)自己和自己数值上不相等,即等式NaN===NaN返回false;和Double.Nan....原创 2022-07-17 23:35:18 · 1743 阅读 · 0 评论 -
java 容器之Set
容器Set基本特征: 1. 没有顺序, 不可放重复值,的容器. 2. 实现方式为HashMap, 基本为数组加链表基本用法见Demo:public static void main(String[] args){ Set<String> firstSet = new HashSet<String>(); //1.add new element....原创 2018-05-22 19:52:41 · 475 阅读 · 0 评论 -
Java容器之HashMap
HashMap 是Java中常用的存储键值对的容器,它集合了数组(查询快,删除和插入慢)和链表(查询慢,删除和插入块)两者的优势,可以快速查询和插入,删除. 内部可以存储常规类型,也可以存储复杂对象.这里先简单介绍下它的使用:1. Demo:public class myClass { public static class Person{ public String na...原创 2018-05-16 19:52:53 · 206 阅读 · 0 评论 -
Java容器之 HashTable
HashTable 是非常常用的一种容器,其通过key-value键值对保存数据的数据结构。一. 主要特点: 1. 是线程安全的。 其内部方法均已加同步关键字。 2. 它的key和value都不可以是空的。 3. 里面存取的数据是无序的。 这点从下面demo中可以看出来。线程安全说明:...原创 2018-05-28 20:14:22 · 175 阅读 · 0 评论 -
Java 复写方法的调用顺序
接触新项目,今天看代码的时候,发现一段代码的调用顺序和打印的log有点冲突,且看Demo代码类Animal.class:public class Animal extends Alive { public String name; public void setName(String str){ name = str; } public Stri...原创 2018-05-24 19:47:34 · 906 阅读 · 0 评论 -
java 容器之Vector
Vector一. 基本特点1. 动态数组,初始容量为10.(本质上就是数组)2. 线程同步(区别于动态数组ArrayList).Vector 增加或者删除元素接口均加了同步关键字。源码如下所示:public synchronized boolean add(E var1) { ++this.modCount; this.ensureCapacityHelper(this.eleme...原创 2018-05-30 16:59:23 · 438 阅读 · 0 评论 -
Java 之泛型
泛型的基本含义:一. 泛型类:Demo:public class MyClass { public static void main(String[] args){ Height<Integer> heightI = new Height<Integer>(3); System.out.println("Integer: heig...原创 2018-05-31 19:41:01 · 435 阅读 · 0 评论 -
抽象类和接口的区别?
一. 基本概念的理解 我们知道,接口被创造出来,主要是用来实现多继承的(c++是可以继承多个类的,java却不可以的)。它通常定义了某一类的能力,当某个类implement这个interface,那么这个类就有了这个能力。举例,比如定义接口A,里面主要包括了飞的能力(其中具体为低飞,中空飞,高空飞),定义接口B包括了跑的能力(慢跑,中速跑,高速跑),定义接口C包括了游的能力(蛙泳,仰泳,...原创 2018-06-16 16:39:33 · 189 阅读 · 0 评论 -
Java 容器Set,HashMap, ArrayList 之toString()差异原因
最近使用Set, HashMap, 数组三类容器的时候,发现它们的toString()打印出来的数据有些差异, 看Demo:public class myClass { public static void main(String[] args){ Set tempSet = new HashSet(); tempSet.add("AAA"); ...原创 2018-05-18 18:29:22 · 289 阅读 · 0 评论 -
Java之数组拷贝System.arraycopy()
Java提供了一个非常方便的字符串拷贝接口:System.arraycopy(), 很多容器(比如ArrayList, SimpleArrayMap)的的底层实现都能看到它的身影1.原理:其接口形式为:public static native void arraycopy(Object var0, int var1, Object var2, int var3, int var4);其中var0:...原创 2018-05-18 17:01:26 · 347 阅读 · 0 评论 -
13位数据库时间转换为北京时间
转换过程需要两个辅助类:import java.text.SimpleDateFormat;import java.util.Date;下面是java 编写的案例:package com.example.formatetime;import java.text.SimpleDateFormat;import java.util.Date;public class myClass { ...原创 2018-04-03 14:20:14 · 474 阅读 · 0 评论 -
删除文件夹及其内部文件之andorid code.
记录下删除文件夹和文件夹中的文件方法。 /** * Delete the file */ public void deleteAudioFile(String path) { if (path != null) { final File file = new File(path); File[] f...原创 2018-04-03 19:57:08 · 185 阅读 · 0 评论 -
Java 之final关键字
final 表示最终,最后的意思,它可以用来修饰一个变量,方法,和类,表示所修饰的对象不可以改变。1. final 修饰变量:表示这个两个只能被赋值一次。 注意如下案例是可以的:package com.example.test;public class myClass { public static void main(String[] args){ final ...原创 2018-04-11 19:54:19 · 181 阅读 · 0 评论 -
Java 之枚举的使用方法
Java 中定义了常量通常有两种方式: 方式一 一种是使用静态变量, 方式二 一种是使用枚举.最近在项目中遇到一种新的枚举使用方法.特做文留恋:第一种 枚举做常量public enum Family{ FATHER, MOTHER, SON}第二种 枚举用于switchmPerson = Family.SON;switch (mPerson){ case FATHER:...原创 2018-05-08 20:15:16 · 533 阅读 · 0 评论 -
Java关键字之Synchronized
Synchronized 是java中用于多线程同步的一个关键字.通常我们可以将其理解为一把锁.依稀记得大学时候的老师说的一个案例.有个气质优雅的女生,男的都想和她结婚, 又中国是一夫一妻制的,如果男的和她登记结婚了,那么别的男的就没办法,因为这个男的有锁(可以理解为结婚证), 除非她离婚了(没有结婚证,也就没有锁了),那么别的男的就可以追求她了.才能和她结婚.从这个案例中,我们大致了解到了为什...原创 2018-05-02 20:21:36 · 157 阅读 · 0 评论 -
Java之foreach
1. foreach 主要功能:用于循环访问容器中的数据,功能和for循环相同.Demo:package com.example.testthree;public class MyClass { public static void main(String[] args){ int [] temp = {1,5,6,2}; for (int i:temp...原创 2018-05-03 16:40:03 · 443 阅读 · 0 评论 -
Java 容器之ArrayList
ArrayList 是编程中常见的动态数组.在添加或者删减元素的过程中,会根据元素的多少动态的改变数组的长度.一. 原理: 底层是数组实现的, 增加元素时, 如果长度不够,会创建新的数组, 然后把老数据拷贝过去. 减少元素时,会先删除改位置的元素,然后后面的往前面移动,再把最后置null.二. 特点:随机访问速度快,插入和移除性能较差(数组的特点)(因为数组);支持null元素(删除某个数据...原创 2018-05-10 19:58:01 · 156 阅读 · 0 评论 -
Java之break和continue的区别
break和continue的区别break: 跳出循环.continue: 跳出这一轮循环,进入下一轮循环.Demo:package com.example.firstTest;public class myClass { public static void main(String[] args){ System.out.println("Continue beg...原创 2018-04-26 16:23:54 · 318 阅读 · 1 评论 -
Java之static 关键字
Java 之static关键字头脑风暴,大致列举了static的基本用法1. static静态关键字,此关键字表示修饰的对象是静态的,所修饰的对象(变量或者方法)仅此一个,其生命周期不受抽象对象的实例化的影响。2.静态方法中只能调用静态变量。3.调用方法:如果一个方法是静态方法,调用方式和非静态方法不一样。通常, 调用方法的方式有两种。 其一: 先实例化对象,然后用对象来调用。...原创 2018-04-09 20:31:15 · 140 阅读 · 0 评论