1.  判断功能: 使用了String类的matches方法,如下: public boolean matches(String regex): 2. 判断手机号码的案例: package cn.itcast_02; import java.util.Scanner; /* * 判断功能 * String类的public boolean matches(String regex) * * 需求: * 判断手机号码是否满足要求? * * 分析: * A:键盘录入手机号码 * B:定义手机号码的规则…
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁(实际上就是对哈希表加锁). 2. ConcurrentHashMap的内部结构: ConcurrentHashMap为了提高本身…
1. 获取功能: Pattern 和 Matcher类结合使用 2. 使用案例: package cn.itcast_05; import java.util.regex.Matcher; import java.util.regex.Pattern; /* * 获取功能 * Pattern和Matcher类的使用 * * 模式和匹配器的基本使用顺序 */ public class RegexDemo { public static void main(String[] args) { // 模…
1. String类的判断功能: boolean equals (Object obj ) boolean equalsIgnoreCase (String str ) boolean contains (String str ) boolean startsWith (String str ) boolean endsWith (String str ) boolean isEmpty() 2. 案例: package cn.itcast_03; /* * String类的判断功能: * bo…
1. 基础知识: Android(java)学习笔记61:多线程程序的引入    ~    Android(java)学习笔记76:多线程-定时器概述和使用 …
1. Collection集合的基本功能测试: package cn.itcast_01; import java.util.ArrayList; import java.util.Collection; /* * 集合的由来: * 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储. * 而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识里面,有哪些是容器类型的呢? * 数…
1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值 (2)删除功能 void clear():移除所有的键值对元素 V remove(Object key):根据键删除键值对元素,并把值返回 (3)判断功能 boolean containsKey(Object key):判断集合是否包含指定的键 bo…
1. 迭代器为什么不定义成一个类,而是定义为一个接口 ?  答:假设迭代器定义的是一个类,这样我们就可以创建该类的对象,调用该类的方法来实现集合的遍历.但是呢? 我们想想,Java中提供了很多的集合类,而这些集合类的数据结构是不同的,所以,存储的方式和遍历的方式应该是不同的.进而它们的遍历方式也应该不是一样的,最终,就没有定义迭代器类.        而无论你是哪种集合,你都应该具备获取元素的操作,而且,最好在辅助于判断功能,这样,在获取前,先判断.这样的话就不容易出错.也就是说,判断功能和获取…
1. Collection功能概述:Collection是集合的顶层接口,它子体系有重复的,有唯一性,有有序的,无序的. (1)添加功能 boolean add(Object obj):添加一个元素 boolean addAll(Collection c):添加一个集合的元素 (2)删除功能 void clear():移除所有元素 (3)判断功能 boolean contains(Object obj):判断集合中是否包含指定的元素 boolean containsAll(Collection…
1. 什么是 序列化 和 反序列化 ?     序列化 (Serialization):将对象的状态信息转换为可以存储或传输的形式的过程.比如转化为二进制.xml.json等的过程. 在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象.一般的格式是与平台无关的二进制流,可以将这种二进制流持久保存在磁盘上,也可以通过网络将这种二进制流传输到另一个网络结点.  反序列化(Anti Serialization ):是指把这种二进制流…
1. List集合的特有遍历功能: size()和 get()方法结合使用 2. 代码示例: package cn.itcast_03; import java.util.ArrayList; import java.util.List; /* * List集合的特有遍历功能: * size()和get()方法结合使用 */ public class ListDemo2 { public static void main(String[] args) { // 创建集合对象 List list…
1. 我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么. 请写一个程序判断是否有"lisi"这样的键存在,如果有就改变其值为"100"  分析:  A:把文件中的数据加载到集合中  B:遍历集合,获取得到每一个键  C:判断键是否有为"lisi"的,如果有就修改其值为"100"  D:把集合中的数据重新存储到文件中 2. 代码实现: package cn.itcast_08; import…
1. 获取下面这个字符串中由三个字符组成的单词. da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu? 2. 代码实现: 正则表达式中:"\b"代表着单词的开头 或 结尾,也就是单词的分界处 package cn.itcast_05; import java.util.regex.Matcher; import java.util.regex.Pattern; /* * 获取功能: * 获取下面这…
1. 替换功能: String类的replaceAll方法,如下: public String replaceAll(String regex, String replacement): 使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串. 2. 案例(论坛帖子过滤敏感词汇,还有类似就是论坛发帖内容中不能包含QQ号,手机号码等等) package cn.itcast_04; /* * 替换功能 * String类的public String replaceAll(St…
1. 分割功能: 使用String的split方法,split方法:根据给定正则表达式的匹配拆分字符串.如下: public String[] split(String regex): 2.  案例: 代码如下: package cn.itcast_03; import java.util.Scanner; /* * 分割功能 * String类的public String[] split(String regex) * 根据给定正则表达式的匹配拆分此字符串. * * 举例: * 百合网,世纪佳…
1. 分析:判断一个字符串是否是一个对称的字符串,我们只需要把字符串的第1个字符和最后1个字符,第2个字符和倒数第2个字符,…… 比较的次数是长度除以2.  方法1:通过取取索引对应值来进行一一比对  方法2:通过StringBuffer的取反方法reverse获取其逆向值 2. 案例演示: package cn.itcast_07; import java.util.Scanner; /* * 判断一个字符串是否是对称字符串 * 例如"abc"不是对称字符串,"aba&qu…
1.Java NIO 由以下几个核心部分组成: Channels(通道) Buffers(缓冲区) Selectors(选择器) 虽然Java NIO 中除此之外还有很多类和组件,Channel,Buffer 和 Selector 构成了核心的API.其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类. (1)Channel 和 Buffer 基本上,所有的 IO操作在NIO 中都从一个Channel 开始.Channel 有点像 流. 数据可以从Channel读到B…
1. 集合 (1)Collection(单列集合) List(有序,可重复):                         ArrayList:底层数据结构是数组,查询块,增删慢.线程不安全,效率高 Vector:底层数据结构是数组,查询快,增删慢.线程安全,效率低 LinkedList:底层数据结构是链表,查询慢,增删块.线程不安全,效率高. Set(无序,唯一): HashSet:底层数据结构是哈希表,哈希表依赖于两个方法:hashCode()和equals().   执行顺序: 首先判…
1. 判断101~200之间有多少素数? package himi.hebao; /** * (1).编写函数isPrime()用来判断输入数据是否为素数 (2).遍历判断101~200之间的数据是否为素数,并且计数count * * @author Administrator * */ public class TestDemo05 { public static void main(String[] args) { int count = 0; for (int a = 101; a <=…
1. 案例分析: 我有如下一个字符串:"91 27 46 38 50" 写代码实现最终输出结果是:"27 38 46 50 91" 分析:    (1)定义一个字符串    (2)把字符串进行分割,得到一个字符串数组    (3)把字符串数组变换成int数组    (4)对int数组排序    (5)把排序好的int数组再组装成一个字符串    (6)输出字符串   2.代码实现: package cn.itcast_03; import java.util.Arr…
1. 基本规则: A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') B:字符类 [abc] a.b 或 c(简单类) [^abc] 任何字符,除了 a.b 或 c(否定) [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围) [0-9] 0到9的字符都包括 C:预定义字符类 . 任何字符.我的就是.字符本身,怎么表示呢? \. \d 数字:[0-9] \w 单词字符:[a-zA-Z_…
1. 校验QQ号码的案例,如下: package cn.itcast_01; import java.util.Scanner; /* * 校验qq号码. * 1:要求必须是5-15位数字 * 2:0不能开头 * * 分析: * A:键盘录入一个QQ号码 * B:写一个功能实现校验 * C:调用功能,输出结果. */ public class RegexDemo { public static void main(String[] args) { // 创建键盘录入对象 Scanner sc =…
1. 看程序写结果:(面试题考过) package cn.itcast_03; /* * 分割功能练习 */ public class RegexDemo2 { public static void main(String[] args) { // 定义一个字符串 String s1 = "aa,bb,cc"; // 直接分割 String[] str1Array = s1.split(","); for (int x = 0; x < str1Array.l…
联合网上资料学习:http://www.open-open.com/lib/view/open1451223702339.html 一.Volley的介绍 1. Volley简介 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley发布了.Volley是Android平台上的网络通信库,能使网络通信更快,更…
  一个小型网站上发布了一个称为Java“死亡竞赛”的新项目.测验发布后,超过20000位开发者参加了测验.网站以20道关于Java的多选题为主.我们得到了众多开发者的测验统计数据,今天,我们非常乐意将其中的一些数据和答案与你们分享. 我们从20个题目中得到了61872个答案,大约每个题目有3094个答案.每个Java“死亡”测验都会随机地从20个题目中抽取5个题目,然后每个题目有90秒的时间作答.每个问题有四个可能的选项.经常有人向我们抱怨说这些题目太难了.所以,我们的测验被称为Java“死亡…
1. 什么是 序列化 和 反序列化 ?     序列化 :序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间.序列化是为了解决在对对象流进行读写操作时所引发的问题.   反序列化 :是指把这种二进制流数据还原成对象. 什么时候使用序列化: 1):Java对象序列化可以实现分布式对象.主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样. 2):Java对象序列化不仅保留一个对…
1. 简介 我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock. 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock? 从synchronized的缺陷讲起,然后再讲述java.util.concurrent.locks包下常用的有哪些类和接口,最后讨论以下一些关于锁的概念方面的东…
一.相关概念 1. 什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. 2. Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受:再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号:再接着是用于存放常量的常量池,由于常量的数量是不固定的,所以常量池的入口放置一个U2类型的数据(const…
1. 使用Properties完成猜数字小游戏只能玩5次的案例: 2. 代码实现: (1)猜数字游戏GuessNumber: package cn.itcast_08; import java.util.Scanner; /** * 这是猜数字小游戏 * * @author 风清扬 * @version V1.1 * */ public class GuessNumber { private GuessNumber() { } public static void start() { // 产生…
1.  登录注册IO版的Java项目框架,如下: 2. 具体代码实现: (1)User.java(cn.itcast.game): package cn.itcast.pojo; /** * 这是用户基本描述类 * * @author 风清扬 * @version V1.1 * */ public class User { // 用户名 private String username; // 密码 private String password; public User() { } public…