发表于: 2018-03-19 12:28:52
1 712
昨天学习了 3 个小时的样子,Java基础还OK,但是SQL没看,今天得加把劲儿。根据师兄评论,今天加一项任务安装Java 的两个IDE环境。
今日任务
1. 极客http://wiki.jikexueyuan.com/project/java/exceptions.html高级部分
2. https://www.tutorialspoint.com/java/java_object_classes.htm 英文部分基础浏览一下
3. 将昨天写的那些程序再撸一遍(异常 文件IO 数组 字符串方法 Number)
4. 极客下面有API也要看一下,熟悉一下JavaAPI结构,然后总结一下,毕竟都是一个格式
5. IDE(Eclipse IDEA)
学习报告
第一部分: 补昨天的SQL学习
SQL 一门与数据库沟通的语言,是不是应该先看看数据库的原理呢... ... 算了,太深了哈哈。
学习地址: W3C: http://www.w3school.com.cn/sql/
浏览了三四节发现还是先看看Navcat吧,SQL至少应该有地方运行再说。navicat连接需要选择一种DB服务,选择 MySQL了,so电脑没按,额。。。
安装 MySQL for mac:
1. 下载 MySQL(https://dev.mysql.com/downloads/file/?id=475582)
2. 安装的时候是apk格式,双击打开就好了,安装的过程中会有一个 temporary password,需要记录下,差点没几下,可以重置,但是学语法这里没必要了
3. 配置环境变量 PATH=$PATH:/usr/local/mysql/bin 写入 ~/.base_profile 中,执行 source ~/.bash_profile 路径就配置好了❌)
4. 上面的第三条是错的,不好使http://blog.csdn.net/u013310075/article/details/51935426,这篇是正解,花了半个小时,重启了两次终于搞定,不容易啊!(随机密码很nice,盲打了一次竟然对了,之前想入手HHKB没有刻度版的,哈哈,输入这种密码会死人感觉),关了终端之后又不行了,我去,使用 brew install mysql 安装的,so 以后的服务还是什么的能用 brew 用brew会省去很多事情
5. 我不用Navicat了,就用这个界面好了,开始SQL语法
5.1 W3C 分为基础 高级 和 函数三部分,今天争取把基础和高级这两部分看完,这个鬼重要多练
6. 熟悉 MySQL:http://www.runoob.com/mysql/mysql-administration.html
6.1 第一次执行要你设置 root 密码不然不让用 ,这里密码需要password()函数加密
6.2 创建数据库 名字叫 RUNOOB
6.2 创建表oneTB,包含字段有 userID(主键), userName, userAddress . CREATE TABLE 表名(字段 类型 其他, 字段 类型 其他, .... );
6.3 插入一条数据 (INSERT INTO 表名(字段1,字段2,...) VALUES (值1,值2,...)
6.4 查询, 全部查询,别名查询,单列查询
6.7 WHERE,条件查询
6.8 删除 DELETE FROM 表名 WHERE 条件
6.7 更新数据 : UPDATE 表名 SET 字段名='字段值' WHERE 查询条件;
以上基本包括了DB的增删改查操作,注意SQL的 ';' 不要漏了。重点是知道自己的这句做了什么,然后通过 SELECT 语句进行查询看一下是否达到了效果。整个部分是根据菜鸟教程中的MySQL操作的。
7. SQL 学习:上面的是菜鸟的MySQL教程,接下来是W3C的基础部分教程
7.1 SELECT ,查询语句,将查询的结果放到一个结果集中,一般可以通过对应平台的函数移动指针一类的地址进行结果的获取,比如PHP或者JAVA或者 C
格式: SELECT 列名字(*表示全部) FROM 标的名字; 如果是多个列,使用 逗号 分割,比如( SELECT one, two,three FROM Persons; 查询 Persons 表中的 one two three 列)
7.2 SELECT DISTINCT , 去除查询结果集中的重复数据 --- 去重命令
7.3 WHERE 条件查询跟在表名的后面,条件可以使(> < = >= <= <> BETWEEN LIKE, 不等于比较奇葩哈哈)
7.4 AND 和 OR, 与或查询条件
7.5 ORDER BY 排序,根据指定列默认进行升序排列 降序是 DESC
7.6 INSERT INTO ,插入数据,这条语句最麻烦,如果不写列名字就需要每列都写上,这样才能和表的列相对应,这个时候可以用 show columns from tableName 查看表的列结构。
7.8 UPDATE , UPDATE tableName SET ColumnName='要更新的值' WHERE 条件
7.9 DELETE FROM, 删除 delete from TableName WHERE 条件; 这个要注意了,如果不加条件,整个表都干掉了,但是表结构依然坚挺。有没有什么可以二次确认或者恢复表的数据呢???这里我觉得在做数据库设计的时候,我们需要个备份的,如果不备份误操作删除这很危险。还有上面的更新,如果条件不对或者怎样的,批量给你更新了数据也是够受的,终点应该是数据库备份。。。备份。。。备份. 这里有个恢复的,今天先不看了,瞄了一眼,应该开log的事先http://blog.csdn.net/lxpbs8851/article/details/8568456
8. 用终端输入sql语句有个很大问题,就是写错了,又要重写,so 在MySQL 命令下,可以通过 source 命令执行 xxx.sql 文件,格式就是 source .sql 文件的路径(不知道为啥就自动去搜了这么个东西),也许可以写个脚本,去执行这些命令,再找个编辑器就完美了,只关注SQL语句。后面看看吧,先记录下。
8.1 ADO ,记录下,在W3C上看到的
什么是 ADO?
- ADO 是一项微软的技术
- ADO 指 ActiveX 数据对象(ActiveX Data Objects)
- ADO 是一个微软的 Active-X 组件
- ADO 会随微软的 IIS 被自动安装
- ADO 是一个访问数据库中数据的编程接口
8.2
9. 这里是好东西,全是我想的,然后自己查的,哈哈 ...
9.1 mysql 命令行下,写多了,总是盯着屏幕左下角很不爽啊 --- 清屏指令 system clear
9.1 查看当前连接所有的数据库: show database;
9.2 查看当前连接状态: status;
9.3 查看表的结构: show column from Table_Name;
数据库的而今天先到这里吧,在看就没时间看Java的东西了。
总结下:
1. 主要学习了增删改查几条命令,并练习;
2. 之后肯定是 Java 中的API调用SQL语句操作数据库;
3. 数据库的备份挺重要的,尤其在工作中;
4. ADO PHP JAVA .... 操作数据库;
5. 最好写个脚本,这样时常练习SQL语句;
6. 数据库的设计以及数据库原理也该深究下。
从环境搭建,到学习耗时 3.5 小时。夸下海口要看完高级部分,被打脸了
第二部分: 极客学院文档高级部分
1. 回顾(温故而知新)
1.1 异常 ,为什么要捕获呢,因为程序如果不进行try-catch 操作的话,出现了异常程序就会停止(感觉和异常的类型有关系),就像下面这个如果 6、8、9、10注释掉,程序继续执行就不会输出了,程序异常的捕获可以增加程序的健壮性,以及快速定位问题。暂时理解到这个程度。
1.2 写了几个异常捕获的代码,感觉异常的分类还没怎么弄明白,慢慢看,明天还花时间在看看
2. java.util.scanner 创建了类名字叫Scanner,完犊子,不执行了。 接收终端输入的类,对nextLine() 和 next() 输入方式做了区分,以及对接收输入数据类型的区分
3. 继承:语法-extends、方法继承、方法覆盖、final 方法不能覆盖、super.method() 父类方法、构造器如果父类有传入参数的子类要重写、implements 这个接口的没有细看
4. 方法重载(overLoading) 和 方法重写(override)区分,多态在同一个类和子类与父类之间的表现具体表现形式,有些规则还是要看看,以及异常级别和方法级别的变更,用的时候现查也可以
5. 多态(Polymorphism),根据对象所属的子类去找对应的方法,但是引用是通过父类类型,实现了外部接口一样,但是内部执行区分的效果。这里Java中讲到了接口,这个接口概念应该就是一个协议(protocol)。面向对象的本质个人觉得是分层,既然分层了就需要层与层之间进行交流,既然要交流那么就需要一套机制---接口(协议)就应运而生。同时,接口还隐藏了内部实现。
6. Java 抽象类,这个挺稀奇。这个这么总结:
对象的基本描述都是通过类来实现的,但是在Java中存在这么一种现象,就是这个类没有足够的信息将这个对象描述完整,so,这么一种类就叫做抽象类,同时也决定了这么类它压根就不能实例化,因为没有完整的描述信息嘛。关键字 abstract,写在 class 之前 Public 之后,同理,出来了抽象方法,必须由子类实现,要是子类不实现,就必须声明为抽象方法( public abstract double computePay();) 而又因为包含抽象方法的类必须是抽象类,所以这个声明了抽象方法的子类必须是抽象类。
7. 封装(Encapsulation):
7.1 封装的好处: 改里面不影响外边;好复用;保护作用(这个不多吧)闭源的话还好
7.2 this,为了区分成员变量和局部变量
7.3 setter 和 getter 方法,访问私有数据的入口
8. 接口(Interface): 牛逼了这个东西,一套协议就是,里面写的方法和变量都有特定的修饰符,菜鸟中各种比较和类比,和抽象类比。。。还是要多看几遍的,这个稍微麻烦些,但是是个好东西,就是张别人的脸啊,哈哈。
9. Package,包的概念和C++中的nameSpace一个道理,不过你需要注意它的目录,这是面向对象这个模块里的最后一个概念了。
第三部分 工具安装
1. IDEA Google的吗?应该是哈哈。
2. 建立工程,运行一个 hello world,就知道这个鬼不小,一运行电脑就响了了,回头看看怎么搞他
3. 偏好设置走一波 command + , 设置背景还有键习惯 mac 10 +
4. 可以了
第三部分 工具安装
1. 英文的看看,果然有收获,Java 的类可以嵌套定义,妮玛他们为毛不翻译这个,用不着...
2. JAVA 极客 API 先不看了,学完高级部分在浏览
总结:
1. 极客Wiki很烂,不看了,最多参考参考,看菜鸟的好些
2. Java基础部分可以快速过完,高级部分要满点了,面向对象部分还勉强维持,明天的内容应该相对难一些,但是应该会给有用些,come on
3. Java 学习时间 3 小时左右
思想汇报
1. 对于 Mac 也好 Linux 也好有些安装包的工具最好还是用,不要手动安装,太耽误时间(果然命令行大法好)
2. 这两天看的东西比较多,有点消化不良了,脑袋胀胀的,需要敲敲代码消化下
3. 每天起来就把Java当成新女友一样,咔咔咔,满血复活
4. 程序员执业修养要滴要滴
5. Java 的基础结构语法学会,了解,然后通过基础的东西去做框架做的事情,就知道框架存在的意义了
明日计划(计划量适中,太满太累)
1. SQL - W3C 的基础部分复习,高级部分学习
2. 看一下数据库原理,到底是个什么东西(关系数据库什么的,以及数据库的底层设计是用了哪些技术
3. Java 语法部分在熟悉下,然后高级部分在看一下,找一个例子涉及多个文件的写一下
4. package interface abstract 这几个东西代码敲起来
5. Java 高级部分 - 数据结构、集合框架、序列化、网络编程、邮件和多线程
结束
评论