JAVA 教程

JAVA 教程:包含了所有代写案例以及部分答案

  • 循环 Java中有两种循环,for和while。 “for” for循环有三个部分: for (int i = 0; i < 3; i++) {} 当我们进入循环时,第一部分运行一次。 第二部分是守门员,如果它返回true,我们在循环中运行语句,如果它返回false,我们退出循环。它首次在第一部分之后运行,然后每次循环结束并运行第三部分。 第三部分是每次循环运行时运行的最终语句。 所以在我们刚刚看到的 … 继续阅读“JAVA教程之循环 for 和 while”

    :
  • Java中的数组也是对象。它们需要声明然后创建。为了声明一个包含整数数组的变量,我们使用以下语法: int[] arr; 请注意,没有大小,因为我们还没有创建数组。 arr = new int[10]; 这将创建一个大小为10的新数组。我们可以通过打印数组的长度来检查大小: System.out.println(arr.length); 我们可以访问数组并设置值: arr[0] = 4;arr[1] = arr[0] … 继续阅读“Java基础教程:数组 Array”

    :
  • 条件语句 Java使用布尔变量来评估条件。布尔值true和false当表达式进行比较或评价被返回。例如: int a = 4;boolean b = a == 4;if (b) {     System.out.println("It's true!");} 当然我们通常不会将条件表达式赋给布尔值,我们只使用短版本: i … 继续阅读“Java基础教程:条件语句”

    :
  • 变量和类型 尽管Java是面向对象的,但并非所有类型都是对象。它建立在称为基元的基本变量类型之上。 以下是Java中所有基元的列表: byte (数字,1个字节) short (数字,2个字节) int (数字,4个字节) long (数字,8个字节) float (浮点数,4个字节) double (浮点数,8个字节) char (一个字符,2个字节) boolean (真或假,1个字节) Java是一种强类型语言 … 继续阅读“Java基础教程:变量和类型”

    :
  • 副标题#e# 媒介 本文不规划延续前几篇的气势气魄(对所有的源码插手注释),因为要领略透TreeMap的所有源码,对博主来说,确实需要淹灭大量的时间和经验,今朝看来不大大概有这么多时间的投入,故这里意在通过于阅读源码对TreeMap有个宏观上的掌握,并就个中一些要领的实现做较量深入的阐明。 红黑树简介 TreeMap是基于红黑树实现的,这里只对红黑树做个简朴的先容,红黑树是一种非凡的二叉排序树,关于二叉排序树,拜见:http://blog.csdn.net/ns_code/article/det … 继续阅读“Java集合汇总源码分解:TreeMap源码分解”

    :
  • 副标题#e# Hashtable简介 Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表办理斗嘴问题,容量不敷(高出了阀值)时,同样会自动增长。 Hashtable也是JDK1.0引入的类,是线程安详的,能用于多线程情况中。 Hashtable同样实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆。 HashTable源码分解 Hashtable的源码的许多实现都与HashMap差不多,源码如下(插手了较量 … 继续阅读“Java集合汇总源码分解:Hashtable源码分解”

    :
  • 副标题#e# HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表办理斗嘴问题,容量不敷(高出了阀值)时,同样会自动增长。 HashMap长短线程安详的,只是用于单线程情况下,多线程情况下可以回收concurrent并发包下的concurrentHashMap。 HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。 HashMap源码分解 HashMap的源码如下(插手了较量具体的注 … 继续阅读“Java集合汇总源码分解:HashMap源码分解”

    :
  • Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 LinkedList是JDK1.0引入了,它的许多实现要领都插手了同步语句,因此是线程安详的(其实也只是相对安详,有些时候照旧要插手同步语句来担保线程的安详),可以用于多线程情况。 LinkedList没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随时机见。 Vector源码分解 Vector的源码如下(插手了较量具 … 继续阅读“Java集合汇总源码分解:Vector源码分解”

    :
  • 副标题#e# ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,雷同于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安详的,只能用在单线程情况下,多线程情况下可以思量用Collections.synchronizedList(List l)函数返回一个线程安详的ArrayList类,也可以利用concurrent并发包下的CopyOnWriteArrayList类。 ArrayList实现了Serializable接口,因此它支持序 … 继续阅读“Java集合汇总源码分解:ArrayList源码分解”

    :