『sort』:sort将文件/文本的每一行做为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。html
sort(选项)(参数)
-k +<起始栏位>-<结束栏位>
这一命令时,若“只”根据本域的第n个字符进行排序,则使用-k n,n
。『cut』:cut命令用来显示行中的指定部分,删除文件中指定字段。java
『split』:能够将一个大文件分割成不少个小文件linux
『join』:用来将两个文件中,将指定栏位内容相同的行链接起来。git
返回目录
正则表达式
『问题一』MySQL支持的SQL语法都有哪些?数据库
『问题一解决』数组
SQL是结构化查询语言,主要用于访问和处理数据库的计算机语言。架构
(1)MySQL的数据类型ide
MySQL的数据类型大体分为如下几类,数值类型、字符串类型、日期和时间类型。oop
(2)建立数据库
在建立数据库以前,必须先建立数据库,在MySQL中,建立数据库的代码以下:
create database wuzydb default character set utf8
以上代码建立了wuzydb数据库,并设置编码为utf8。
(3)建立表
表必须在数据库中建立,因此在建立表以前,需调用use wuzydb
;
建立表:create table 表名(字段 字段类型...)
(4)对表中数据进行增删改查
①insert
插入:insert into 表名(字段1,字段2...)values(值1,值2...)
②select
查找:select * from 表名
(查询全部数据);select 字段1,字段2...from 表名
(查询某几个字段的数据)
③update
修改:update 表名 set 字段1=值1,字段2=值2...
④delete
删除:deleta from 表名
学习正则表达式的过程当中,运行测试代码时出现了“Red Bar”,以下:
运行结果显示,"\"Hello\"".matches("([\"'])[^\"']*\1")
为false。哪里出错了呢?
把regex复制到正则表达式测试器
上运行,结果是匹配的:
那么,问题只能出在这行代码上,而不是正则表达式自己。只有一种可能,就是没有正确使用Java中的转义字符,致使程序不能正确匹配。
再返回去看程序中的正则表达式,发现忽略了最后一个转义符。()
表示将括号里的分组,后面的\1
表示反向引用第一组,而在Java中,\
自己就是转义符,表示忽略\
后面的内容,因此,要想使用“反向引用”这个含义,必须再次使用\
进行转义。再次运行,发现断言正确,说明咱们的分析是正确的。
在学习命令行时,参考资料常用/etc/passwd
文件进行演示,那么,/etc/passwd
以及/etc/shadow
是什么文件呢:
查阅相关资料了解到,在Linux操做系统中, /etc/passwd文件中的每一个用户都有一个对应的记录行,记录着这个用户的一下基本属性。咱们经过命令行cat /etc/passwd
查看/etc/passwd
文件内容:
咱们能够看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义以下:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登陆Shell
/etc/shadow文件格式与/etc/passwd文件格式相似,一样由若干个字段组成,字段之间用“:”隔开。但须要注意的是,/etc/shadow文件只有系统管理员才可以进行修改和查看:
/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。文件中字段主要含义为:登陆名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
A .Path
B .DirectoryStream
C .FileStore
D .FileSystem
『考点』:FileSystem
的getRootDirectorie
方法能够取出文件系统根目录信息。对NIO各个方法还不够熟悉。
A .不匹配
B .'Hello'
C ."World"
D .'Hello',"World"
『考点』:.*
是贪婪量词,会尽可能匹配更多;而本题中的.*?
是懒惰量词,尽可能匹配少。因此匹配结果为'Hello'
和"World"
两个。另外,反向引用 \1 表明第一个()中的匹配内容。
A ."rat".matcher("r.t")
B ."r.t".matcher("rat")
C .Pattern.compile("rat").matcher("r.t")
D .Pattern.compile("r.t").matcher("rat")
『考点』:课本P491提到,java.util.regex.Pattern
实例是正则表达式在JVM中的表明对象,需经过compile()
方法来取得。在取得Pattern
实例后,可使用matcher()
方法指定要比较的字符串。
A .for(int i = 0; i < names.length; i++)
B .for(String name : names)
C .for(int i = 0; i < names.length(); i++)
D .none of these will correctly process each element(以上都不能遍历)
E .all of these will correctly process each element(以上都能遍历)
『考点』:长度length
是成员变量,不是方法,因此不能加括号。C错误。
结对对象:20145202马超
结对学习内容:解决对方学习过程当中遇到的问题
本周学习最大的收获来自于实验和正则表达式的学习。实验的内容很丰富,在夯实基础的同时,也加深咱们对知识的理解和掌握。
学习过程当中遇到很多问题,畏难情绪时常让我产生退缩的念头。不过,唾手可得的知识真的有价值吗?我看未必。
以本周正则表达式的学习为例,一个很是简单的正则表达式用Java程序运行起来却不符合预期,带着疑惑请教老师,老师建议我先在regextester上跑通再运行程序。但是把程序中的正则表达式复制过去倒是匹配的,仔细想了想,明白出错的缘由在于忽略了Java中的转义符。
这个问题本能够直接回答我错误在哪里,老师却提供给我一种方法而不只仅是一个答案。摸索的过程虽然比直接获得答案来的艰难,但授人以鱼不如授人以渔,从此再遇到类似的问题,就均可以自行解决了。
墨非定律告诉咱们: 若是你认为事情会向坏的方向发展,那么事情必定会那样。因此,毫不说“不可能”,不断挑战自我才能更快地成长。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 16/16 | 1/1 | 18/18 | 初步认识了Java |
第二周 | 219/235 | 1/2 | 28/46 | 学习了Java的基本语法知识 |
第三周 | 766/1001 | 1/3 | 23/69 | 了解对象与参考的关系,以及封装的概念与实现 |
第四周 | 984/1985 | 1/4 | 18/87 | 学习了继承与多态的关系,以及接口的多态操做 |
第五周 | 866/2851 | 1/5 | 12/99 | 学习了异常处理,学会使用Collection收集对象 |
第六周 | 664/3515 | 1/6 | 15/114 | 认识字节流和字符流的继承架构,学习线程与并行API |
第七周 | 469/3984 | 1/7 | 13/127 | 认识Date与Calender |
第八周 | 315/4299 | 1/8 | 15/142 | 学习了NIO、日志、正则表达式等内容,复习第六章“继承与多态”和“Linux 目录结构及文件基本操做” |
第九周 | 553/4852 | 1/9 | 20/142 | 学习了数据库、反射与类加载器、自定义泛型枚举与注释等内容,复习经常使用命令join、cut、split和sort |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进本身的计划能力。这个工做学习中很重要,也颇有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:15小时
实际学习时间:20小时
(有空多看看现代软件工程课件:软件工程师能力自我评价表)