笔记2

容器 。
数组 array
队列,阵列; 数组; 一大批; 衣服;
  arr =  1,4,5,2,3,8,6,7
  操作数据。
  x = 10
  y = 2 * x + 1
  数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同.
  Java 语言中提供的数组是用来存储固定大小的同类型元素。
  固定大小.[5]---[7]
  同类型元素.
  数据。  1,2 --- 9.8 
  姓名 。
  age = {17,21,20,18,22}
 x = 10
 age01 = 17
 age02 = 21
 age03 = 20
 age04 = 18
 冗余
  name = {张三,李四,王五,赵六}
  {1,2,3,张三,男}
  你可以声明一个数组变量,
  如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。
  首先必须声明数组变量,才能在程序中使用数组
  x
  x = 10
  y = 2 * x + 1
下面是声明数组变量的语法:
dataType[] arrayRefVar;   //
数组的参考变量名
数组名
reference 参考,涉及
variable 变化的,可变的; [数]变量的; [生]变异的;
数据类型 []
data 数据
type 类型
array 数组,队列。
首选的方法

dataType arrayRefVar[];  // 效果相同,但不是首选方法
标识符。
声明一个存储性别的容器。数组。
dataType [] arrayRefVar;
char [] gender;
String [] name;
String name [] ;
int [] age;
double [] score;
float [] f;
创建数组
Java语言使用new操作符来创建数组,语法如下:
arrayRefVar = new dataType[arraySize];
array
Size 大小。
int [] age;
age  = new int[5];
数组变量的声明,和创建数组可以用一条语句完成,如下所示
dataType[] arrayRefVar = new dataType[arraySize];
数据类型 [] 数组名字 = new 数据类型[数组的大小];
int [] age;
age  = new int[5];
int [] age = new int [5];
------------
另外,你还可以使用如下的方式创建数组。
dataType[] arrayRefVar = {value0, value1, ..., valuek};
value 数值,值。
int [] age = {2,4,5,6,7,5,6,7,5,6,7,5,6,7,5,6,7};
length  长度,长; 时间的长短; (语)音长; 一段,一节;
age = {3,4,5,6,7}
    0 1 2 3 4
    age[index]
    int[arrSize]
数组的元素是  通过 索引 访问的。
索引 index
数组索引从 0 开始,所以索引值从 0 到 arrayRefVar.length-1
arr = {23,21,34,54,56,78}
21 -- 34 换位置。
怎么访问容器元素。
index 1 2
arrayRefVar[index]
arr [1]
arr [2]
temp = arr[1]
arr[1] = arr[2]
arr[2] = temp

a = 8
b = 10
temp = a
a = b
b = temp
arr = {23,21,34,54,56,78}
参照物。
min = arr[0]
arr[1] < min
min > arr[1]
a = 5
b = 2
如果
a > b
成立 true True TRUE
arr = {23,21,34,54,56,78}
for(int e : arr){
 e
}
for( 元素类型 元素 : 迭代谁 )
 

arr[0]
arr[1]
arr[2]
arr[3]
arr[4]
.
.
.
 
 

依次取出每一个元素。
迭代,遍历。
多维数组可以看成是数组的数组,
比如二维数组就是一个特殊的一维数组,
其每一个元素都是一个一维数组,例如:
 
  {  ,{1,2,3}, , }
  {{1,2,3} , {12,21,31} ,{11,21,31} }
  a = {1,2,3}
 {23,21,34,54,56,78}

String str[][] = new String[3][4];
arr = {{1,2},{3,4},{5,6}}
先取出二维数组的元素(一维数组)
for( int [] e : arr){
 e ---> {1,2}
 再迭代 e
 for(int v : e){
  v --?
 }
}
int  arr [][] = new int [3][4];
 
int [3][4];
int [] arr = new int[5];
arr[1][2]
arr[0][0]
 
public static int
binarySearch(Object[] a, Object key)
用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)

binary 折 分 折半。二分
 双重的,由两个东西组成的;
Search
 搜寻,搜索; 调查; 搜查; 探求;
 binarySearch 二分查找。
 (Object[] a, Object key)
 {5,6,7,8,9,12,20,35,49,}
 []
  钥匙; (打字机等的)键; 关键,线索,秘诀; (音乐的)调;
 键 key ---  value 价值,价格; 意义,涵义; 重要性; (邮票的)面值;
 和 :。。。。。
 1 : "你好", 2:"我好"
 a : jim , b : tom
 x = 10
 a ? ---- > jim
 b ? ----- tom
 tom > ?  b
1----100
   s = 1
   e = 100
   m = (s + e)/2 = 50
   ---
   s = 1
   e = 50 -- m
   m = 25
   s = 25
   e = 50
   m = 37
n = 50
--wn = **
大了
小了
1---50
1+50 ) / 2
25
25 --- 50
37 ---
37 --- 50
43--- 50
46 ----
43 --- 46
44---46
45 -- ? 
44  --num [44]
public static boolean equals(long[] a, long[] a2)
public static void fill(int[] a, int val)
将指定的 int 值分配给指定 int 型数组指定范围中的每个元素
fill ----
(使)充满,(使)装满;
vt.  满足; 配药; (按订单)供应; 使充满(感情);
n.  填满…的量; 充分; 装填物; 路堤;
{1,2,3,4,65,7,8,9,9}
类。Arrays
binarySearch(Object[] a, Object key){
 
 code
}
x  = 10
x
34
 arr = {12,21,34,35,45,57}
 arr = {1,2,3,4,5}
 元素。
用。
binarySearch(arr ,13 )
index 2
-5 - 1
- (5 + 1)
- (5) - 1
(-(插入点) - 1)
insert
public static void sort(Object[] a)
对指定对象数组根据其元素的自然顺序进行升序排列。
sort
.  分类,类别; 品质,本性; 方法; 一群;
vt.& vi.  分类; 整顿,整理; 适合;
vt.  挑选; 把…分类; 将…排顺序;
a b,c,d
ab
ac
aa,ab ,ac
list =
(2,1,3,5,8,6,7)
a , b
sort(list)
java.util 包提供了 Date 类来封装当前的日期和时间
date
日期,日子; 约会; 时代,年代; (北非和西亚常见的海枣树的)海枣;
vt.  过时; 使…显老; 显示出…时代(或年龄); 鉴定…的年代;
vt.& vi.  与人约会,相约;
vi.  属于某一特定时期; 从某时起计算日期; 记载日期; 注有(或注明)日期;
变形 过去分词: dated 复数: dates 过去式: dated 现在分词: dating 第三人称单数: dates
utilization
 使用,应用
 工具。
2019年8月12日
2019/08/12
2019-08-12
win + R cmd
 dos time
 date
 Date
 类,状态,方法。

  long getTime( )
毫秒 --  1000
43826183965
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
String toString( )
把此 Date 对象转换为以下形式的
String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天
(Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
dow mon
dd hh:mm:ss zzz yyyy
dd 天。小时,分,秒, zzz yyy 年。
yyyy-mm-dd hh:MM:ss
yy 98
yyy
y
yyyy年mm月dd日
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
Format
(出版物的)版式; [自](数据安排的)形式; 电视节目的总安排(或计划);
vt.  使格式化; 安排…的格局; 设计…的版面;
simple
vi.  设计一个版式;
   CET4 | CET6 | 考研
adj.  简单的; 单纯的; 易受骗的; 天真的;
n.  笨蛋; 愚蠢的行为; 出身低微者;

"yyyy-MM-dd hh:mm:ss"
"yyyy年MM月dd日 hh:mm:ss"
"yyyy/MM/dd hh:mm:ss"
MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。
a A.M./P.M. 标记 PM
c
包括全部日期和时间信息
星期六 十月 27 14:21:20 CST 2007
F
"年-月-日"格式
2007-10-27
D
"月/日/年"格式
10/27/07
r
"HH:MM:SS PM"格式(12时制)
02:25:51 下午
T
"HH:MM:SS"格式(24时制)
14:28:16
R
"HH:MM"格式(24时制)
14:28
休眠 sleep
正则表达式
正则表达式定义了字符串的模式。
正则表达式可以用来搜索、编辑或处理文本。
正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别
split
 分裂; 分开; <俚>(迅速)离开; 分担;
n.  划分; 分歧; 裂缝; 劈叉;
vi.  <俚>走开; 揭发; 被撞碎; <美>[证券](股票)增加发行;
str = "xiao,jie,jie"
split(",")
a_z
[0,9]
交集,并集。

9823456@qq.com
17319709066
13588888888
1
11
13
17
18
15
16
14
^首字母
[1]必须是1,方格可以去掉吧。。
[3-8]第二个数字为3-8之间
+加表示至少一个[3-8]
\\d表示数字
{9}表示9个,就是9个数字。
如果你要精确验证手机号码,那个你可以使用第一个正则。这是根据电信,移动,联通目前发行的号码来的。验证比较精确。
16638056017
^1[3|4|5|7|8][0-9]{9}$
^
1
[3|4|5|6|8]
or
[0-9]
{9}
  'let\'s go'

刚从网上找了个邮箱验证的正则表达式,如
945769777@qq.com

*
\.
abcxyz@mail.com
abcxyz@163.com
email@126.com
baba.cn@aa.org
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
^是匹配的字符开头,
\w匹配的是字母,数字,下划线,汉字,
+是匹配一次或多次(就是最少一次),
\.是匹配的 . (因为.在正则中匹配除换行符以外的任意字符),所以如果需要.在字符串中出现的话就加一个\ ,这个是转义符
*匹配的是重复零次或更多次
@是匹配字符串中必须出现的字符
$是字符串结尾
 
不过,本人刚接触正则,里面的字符符号有点看不明白,希望能
-
实例1、只允许英文字母、数字、下划线、英文句号、以及中划线组成
举例:zhangsan-001@gmail.com
分析邮件名称部分:
26个大小写英文字母表示为a-zA-Z
d
数字表示为0-9
下划线表示为_
中划线表示为-
由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现
 根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+
www a-zA-z
w
分析域名部分:
 一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“** .** .** .**”组成。
“**”部分可以表示为[a-zA-Z0-9_-]+
“.**”部分可以表示为\.[a-zA-Z0-9_-]+
多个“.**”可以表示为(\.[a-zA-Z0-9_-]+)+
 综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+
最终表达式:
 由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
  ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
 
实例2、名称允许汉字、字母、数字,域名只允许英文域名
举例:杨元庆001Abc@lenovo.com.cn
分析邮件名称部分:
汉字在正则表示为[\u4e00-\u9fa5]
字母和数字表示为A-Za-z0-9
 通过分析得出邮件名称部分表达式为[A-Za-z0-9\u4e00-\u9fa5]+
分析邮件域名部分
 邮件部分可以参考实例1中的分析域名部分。
 得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+。
最终表达式:
 我们用@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为
  ^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
---------------------
版权声明:本文为CSDN博主「Samuel_86」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/make164492212/article/details/51656638
[adad]
o{2} ---- 2 ---o
o{2,} ---- 至少了
{n,m}
o{2,6}
x | y  匹配 x 或 y。
[xyz]
字符集。匹配包含的任一字符。例如,"[abc]"匹配"plain"中的"a"。
[^xyz]  反向字
[a-z]
字符范围。匹配指定范围内的任何字符。例如,"[a-z]"匹配"a"到"z"范围内的任何小写字母。
[^a-z]
反向范围字符。匹配不在指定的范围内的任何字符。例如,"[^a-z]"匹配任何不在"a"到"z"范围内的任何字符。
\b
匹配一个字边界,即字与空格间的位置。
例如,"er\b"匹配"never"中的"er",但不匹配"verb"中的"er"。
.jpg

 er\b
never
verb
^
d
\B
非字边界匹配。"er\B"匹配"verb"中的"er",但不匹配"never"中的"er"。
[0-9]
\d
[0-9]
数字字符匹配。等效于 [0-9]。
\D
非数字字符匹配。等效于 [^0-9]。
\f
换页符匹配。等效于 \x0c 和 \cL。
\n
换行符匹配。等效于 \x0a 和 \cJ。
\r
匹配一个回车符。等效于 \x0d 和 \cM。
\s
匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。
\S
匹配任何非空白字符。与 [^ \f\n\r\t\v] 等效。
\t
制表符匹配。与 \x09 和 \cI 等效。
\v
垂直制表符匹配。与 \x0b 和 \cK 等效。
\w
匹配任何字类字符,包括下划线。与"[A-Za-z0-9_]"等效。
\W
与任何非单词字符匹配。与"[^A-Za-z0-9_]"等效。
\xn
匹配 n,此处的 n 是一个十六进制转义码。十六进制转义码必须正好是两位数长。例如,"\x41"匹配"A"。"\x041"与"\x04"&"1"等效。允许在正则表达式中使用 ASCII 代码。
\num
匹配 num,此处的 num 是一个正整数。到捕获匹配的反向引用。例如,"(.)\1"匹配两个连续的相同字符。
\n
标识一个八进制转义码或反向引用。如果 \n 前面至少有 n 个捕获子表达式,那么 n 是反向引用。否则,如果 n 是八进制数 (0-7),那么 n 是八进制转义码。
\nm
标识一个八进制转义码或反向引用。如果 \nm 前面至少有 nm 个捕获子表达式,那么 nm 是反向引用。如果 \nm 前面至少有 n 个捕获,则 n 是反向引用,后面跟有字符 m。如果两种前面的情况都不存在,则 \nm 匹配八进制值 nm,其中 n 和 m 是八进制数字 (0-7)。
\nml
当 n 是八进制数 (0-3),m 和 l 是八进制数 (0-7) 时,匹配八进制转义码 nml。
 
public static int
binarySearch(Object[] a, Object key)
用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)

binary 折 分 折半。二分
 双重的,由两个东西组成的;
Search
 搜寻,搜索; 调查; 搜查; 探求;
 binarySearch 二分查找。
 (Object[] a, Object key)
 {5,6,7,8,9,12,20,35,49,}
 []
  钥匙; (打字机等的)键; 关键,线索,秘诀; (音乐的)调;
 键 key ---  value 价值,价格; 意义,涵义; 重要性; (邮票的)面值;
 和 :。。。。。
 1 : "你好", 2:"我好"
 a : jim , b : tom
 x = 10
 a ? ---- > jim
 b ? ----- tom
 tom > ?  b
1----100
   s = 1
   e = 100
   m = (s + e)/2 = 50
   ---
   s = 1
   e = 50 -- m
   m = 25
   s = 25
   e = 50
   m = 37
n = 50
--wn = **
大了
小了
1---50
1+50 ) / 2
25
25 --- 50
37 ---
37 --- 50
43--- 50
46 ----
43 --- 46
44---46
45 -- ? 
44  --num [44]
public static boolean equals(long[] a, long[] a2)
public static void fill(int[] a, int val)
将指定的 int 值分配给指定 int 型数组指定范围中的每个元素
fill ----
(使)充满,(使)装满;
vt.  满足; 配药; (按订单)供应; 使充满(感情);
n.  填满…的量; 充分; 装填物; 路堤;
{1,2,3,4,65,7,8,9,9}
类。Arrays
binarySearch(Object[] a, Object key){
 
 code
}
x  = 10
x
34
 arr = {12,21,34,35,45,57}
 arr = {1,2,3,4,5}
 元素。
用。
binarySearch(arr ,13 )
index 2
-5 - 1
- (5 + 1)
- (5) - 1
(-(插入点) - 1)
insert
public static void sort(Object[] a)
对指定对象数组根据其元素的自然顺序进行升序排列。
sort
.  分类,类别; 品质,本性; 方法; 一群;
vt.& vi.  分类; 整顿,整理; 适合;
vt.  挑选; 把…分类; 将…排顺序;
a b,c,d
ab
ac
aa,ab ,ac
list =
(2,1,3,5,8,6,7)
a , b
sort(list)
java.util 包提供了 Date 类来封装当前的日期和时间
date
日期,日子; 约会; 时代,年代; (北非和西亚常见的海枣树的)海枣;
vt.  过时; 使…显老; 显示出…时代(或年龄); 鉴定…的年代;
vt.& vi.  与人约会,相约;
vi.  属于某一特定时期; 从某时起计算日期; 记载日期; 注有(或注明)日期;
变形 过去分词: dated 复数: dates 过去式: dated 现在分词: dating 第三人称单数: dates
utilization
 使用,应用
 工具。
2019年8月12日
2019/08/12
2019-08-12
win + R cmd
 dos time
 date
 Date
 类,状态,方法。

  long getTime( )
毫秒 --  1000
43826183965
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
String toString( )
把此 Date 对象转换为以下形式的
String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天
(Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
dow mon
dd hh:mm:ss zzz yyyy
dd 天。小时,分,秒, zzz yyy 年。
yyyy-mm-dd hh:MM:ss
yy 98
yyy
y
yyyy年mm月dd日
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
Format
(出版物的)版式; [自](数据安排的)形式; 电视节目的总安排(或计划);
vt.  使格式化; 安排…的格局; 设计…的版面;
simple
vi.  设计一个版式;
   CET4 | CET6 | 考研
adj.  简单的; 单纯的; 易受骗的; 天真的;
n.  笨蛋; 愚蠢的行为; 出身低微者;

"yyyy-MM-dd hh:mm:ss"
"yyyy年MM月dd日 hh:mm:ss"
"yyyy/MM/dd hh:mm:ss"
MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。
a A.M./P.M. 标记 PM
c
包括全部日期和时间信息
星期六 十月 27 14:21:20 CST 2007
F
"年-月-日"格式
2007-10-27
D
"月/日/年"格式
10/27/07
r
"HH:MM:SS PM"格式(12时制)
02:25:51 下午
T
"HH:MM:SS"格式(24时制)
14:28:16
R
"HH:MM"格式(24时制)
14:28
休眠 sleep
正则表达式
正则表达式定义了字符串的模式。
正则表达式可以用来搜索、编辑或处理文本。
正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别
split
 分裂; 分开; <俚>(迅速)离开; 分担;
n.  划分; 分歧; 裂缝; 劈叉;
vi.  <俚>走开; 揭发; 被撞碎; <美>[证券](股票)增加发行;
str = "xiao,jie,jie"
split(",")
a_z
[0,9]
交集,并集。

9823456@qq.com
17319709066
13588888888
1
11
13
17
18
15
16
14
^首字母
[1]必须是1,方格可以去掉吧。。
[3-8]第二个数字为3-8之间
+加表示至少一个[3-8]
\\d表示数字
{9}表示9个,就是9个数字。
如果你要精确验证手机号码,那个你可以使用第一个正则。这是根据电信,移动,联通目前发行的号码来的。验证比较精确。
16638056017
^1[3|4|5|7|8][0-9]{9}$
^
1
[3|4|5|6|8]
or
[0-9]
{9}
  'let\'s go'

刚从网上找了个邮箱验证的正则表达式,如
945769777@qq.com

*
\.
abcxyz@mail.com
abcxyz@163.com
email@126.com
baba.cn@aa.org
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
^是匹配的字符开头,
\w匹配的是字母,数字,下划线,汉字,
+是匹配一次或多次(就是最少一次),
\.是匹配的 . (因为.在正则中匹配除换行符以外的任意字符),所以如果需要.在字符串中出现的话就加一个\ ,这个是转义符
*匹配的是重复零次或更多次
@是匹配字符串中必须出现的字符
$是字符串结尾
 
不过,本人刚接触正则,里面的字符符号有点看不明白,希望能
-
实例1、只允许英文字母、数字、下划线、英文句号、以及中划线组成
举例:zhangsan-001@gmail.com
分析邮件名称部分:
26个大小写英文字母表示为a-zA-Z
d
数字表示为0-9
下划线表示为_
中划线表示为-
由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现
 根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+
www a-zA-z
w
分析域名部分:
 一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“** .** .** .**”组成。
“**”部分可以表示为[a-zA-Z0-9_-]+
“.**”部分可以表示为\.[a-zA-Z0-9_-]+
多个“.**”可以表示为(\.[a-zA-Z0-9_-]+)+
 综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+
最终表达式:
 由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
  ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
 
实例2、名称允许汉字、字母、数字,域名只允许英文域名
举例:杨元庆001Abc@lenovo.com.cn
分析邮件名称部分:
汉字在正则表示为[\u4e00-\u9fa5]
字母和数字表示为A-Za-z0-9
 通过分析得出邮件名称部分表达式为[A-Za-z0-9\u4e00-\u9fa5]+
分析邮件域名部分
 邮件部分可以参考实例1中的分析域名部分。
 得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+。
最终表达式:
 我们用@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为
  ^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
---------------------
版权声明:本文为CSDN博主「Samuel_86」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/make164492212/article/details/51656638
[adad]
o{2} ---- 2 ---o
o{2,} ---- 至少了
{n,m}
o{2,6}
x | y  匹配 x 或 y。
[xyz]
字符集。匹配包含的任一字符。例如,"[abc]"匹配"plain"中的"a"。
[^xyz]  反向字
[a-z]
字符范围。匹配指定范围内的任何字符。例如,"[a-z]"匹配"a"到"z"范围内的任何小写字母。
[^a-z]
反向范围字符。匹配不在指定的范围内的任何字符。例如,"[^a-z]"匹配任何不在"a"到"z"范围内的任何字符。
\b
匹配一个字边界,即字与空格间的位置。
例如,"er\b"匹配"never"中的"er",但不匹配"verb"中的"er"。
.jpg

 er\b
never
verb
^
d
\B
非字边界匹配。"er\B"匹配"verb"中的"er",但不匹配"never"中的"er"。
[0-9]
\d
[0-9]
数字字符匹配。等效于 [0-9]。
\D
非数字字符匹配。等效于 [^0-9]。
\f
换页符匹配。等效于 \x0c 和 \cL。
\n
换行符匹配。等效于 \x0a 和 \cJ。
\r
匹配一个回车符。等效于 \x0d 和 \cM。
\s
匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。
\S
匹配任何非空白字符。与 [^ \f\n\r\t\v] 等效。
\t
制表符匹配。与 \x09 和 \cI 等效。
\v
垂直制表符匹配。与 \x0b 和 \cK 等效。
\w
匹配任何字类字符,包括下划线。与"[A-Za-z0-9_]"等效。
\W
与任何非单词字符匹配。与"[^A-Za-z0-9_]"等效。
\xn
匹配 n,此处的 n 是一个十六进制转义码。十六进制转义码必须正好是两位数长。例如,"\x41"匹配"A"。"\x041"与"\x04"&"1"等效。允许在正则表达式中使用 ASCII 代码。
\num
匹配 num,此处的 num 是一个正整数。到捕获匹配的反向引用。例如,"(.)\1"匹配两个连续的相同字符。
\n
标识一个八进制转义码或反向引用。如果 \n 前面至少有 n 个捕获子表达式,那么 n 是反向引用。否则,如果 n 是八进制数 (0-7),那么 n 是八进制转义码。
\nm
标识一个八进制转义码或反向引用。如果 \nm 前面至少有 nm 个捕获子表达式,那么 nm 是反向引用。如果 \nm 前面至少有 n 个捕获,则 n 是反向引用,后面跟有字符 m。如果两种前面的情况都不存在,则 \nm 匹配八进制值 nm,其中 n 和 m 是八进制数字 (0-7)。
\nml
当 n 是八进制数 (0-3),m 和 l 是八进制数 (0-7) 时,匹配八进制转义码 nml。

System.out.println()
System 系统 体系,系统; 制度; 身体; 方法;
out 出局; 在外,在外部; 完全,彻底; 出版;
println
(由底片印出的)照片; 印刷字体; 印痕; 印成的图画;
vt.  (在松软的表面)压印; 把…付印;
vt.& vi.  用印刷体写; 冲洗(照片); 登载; 在纸上印;
输出。
() 函数;方法。
[] 容器。{} ()
那么什么是方法呢?

方法是
解决一类问题的步骤的有序组合
完成特定功能的,,,。
size
add
append
步骤的有序组合
length
---  5 + 2
{
 a
 a
 a
}
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。
getName
setName
getAge
setAge
addPerson
---  5 + 2
sum he
avg
获取学生个人信息。
罗列信息。
info
getInfo
getStudentInfo
getStuInfo
name ,age,gender.
一般情况下,定义一个方法包含以下语法:
修饰符 返回值类型 方法名(参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
}
return 返回。
5 + 2
7
public int sum(){
 
 return 5 + 2
}
public void sum(){ 
 he =  5 + 2
 System.out.println(he)
}
 
public int sum(){
 return 5 + 2
}
public int sum (int x,int y){
 return x +y;
}
public void sum (int x,int y){
 he x +y;
 print(he)
}

这叫做方法重载 overload;
就是说一个类的两个方法拥有相同的名字,但是有不同的参数列表。
sum(int a,int b)
sum(int a,int b,int c)
sum(5,3)
sum(5,4,3)
// 一个简单的构造函数
class MyClass {
  int x;
 
  // 以下是构造函数
  MyClass() {
    x = 10;
  }
}
// 方法名跟类名一样。没有返回值。
连void 也没有。
 class HelloWorld{
  HlelloWorld(){
 }
 HlelloWorld(参数。){
 
 }
}
sum(int a,int b)
sum(int a,int b,int c,)
sum(int a,int b,int c,int d)
任何普通的参数必须在它之前声明

sum(int ...n ,int a)
sum(int a,int ... n)
sum(1,2,3,4,5)
 
 

可变参数。
fun(int... numbers)
Stream
 河流,小河,川,溪; 潮流,趋势,倾向; (事件等的)连续,(财富等的)滚滚而来; 流出,流注,一连串;
 File
  提出(离婚诉讼或其他讼案); 把…归档; 用锉锉; 发稿,寄给报社;
vi.  发送(报道给报社); 排成一行行走; 提出申请;
n.  文件(夹); 档案; 纵列; 锉刀;
in
on
out
input
output
Buffered
缓冲的
Reader
读者,朗读者; 读本; 讲读者,讲师; 审稿人;
从 BufferedReader 对象读取一个字符要使用 read() 方法,
read
{1,2,3,4,5,6}
 index
 0,1,2,3,4,5
 ArraysIndexOutOfBoundsException
 NullPointerException
Exception
read
从标准输入读取一个字符串需要使用 BufferedReader 的 readLine() 方法。
它的一般格式是:
readLine
line 行。
装饰。
 BufferedReader br =
   new BufferedReader(new InputStreamReader());

 Enter
 text 文本
 quit  离开; 放弃,抛弃; 停止,中断; 偿清;
 quite  相当,很; 非常; 确实如此;
 quiet 清静的; 僻静的; 不起眼的; 不激动的;
This is 这个

end 结束
write  写; 写信; 写作; 作曲;
close 
紧密的; 亲密的; 亲近的;
vt.  关; 结束; 使靠近;
vi.  关; 结束; 关闭;
adv.  紧密地;
n.  结束;
finalize
 完成; 使结束; 使落实;
vi.  把…最后定下来; 定案;
throws
投掷; 丢; 抛;
n.  投掷的距离; 丢;
vt.  掷(色子); 抛; 猛动(头、臂、腿); 使处于,使限于;
available
 可获得的; 有空的; 可购得的; 能找到的;

 File  类中有两个方法可以用来创建文件夹:
mkdir( )方法创建一个文件夹,成功则返回true,
失败则返回false。
失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。
mkdirs()方法 创建一个文件夹和它的所有父文件夹
mkdir
directory
人名地址录,(电话)号码簿;
(计算机文件或程序的)目录;
cd  ----   change directory
可以通过调用该对象上的 list() 方法,来提取它包含的文件和文件夹的列表。
list
清单,目录; 倾斜; 布边,布头; 狭条;
vt.  列出,列入; 把…编列成表; 记入名单内;
vi.  列于表上;
那么调用 isDirectory() 方法会返回 true
isExist()
删除文件可以使用 java.io.File.delete() 方法。
以下代码会删除目录 /tmp/java/,需要注意的是当删除某一目录时,必须保证该目录下没有其他文件才能正确删除,否则将删除失败。

Scanner
并通过 Scanner 类的
next() 与 nextLine()
获取
方法获取输入的字符串,在读取前我们一般需要 使用
hasNext 与 hasNextLine 判断是否还有输入的数据:
next() 与 nextLine() 区别
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。
posted @ 2019-08-20 19:18  陈多  阅读(135)  评论(0编辑  收藏  举报