A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qq563879497 中级黑马   /  2018-5-11 11:24  /  771 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第四周day12
1. IP:计算机地址
(1)
2. 端口号:计算机内软件地址
3. 通信协议:可以理解为人与人之间交流必须要有相同的语言,相当于规则
4. 使用UDP协议发送数据
(1) 步骤
创建发送端Socket
② 创建数据并打包
③ 发送数据
file:///C:\Users\乃东\AppData\Local\Temp\ksohtml\wps1417.tmp.jpg
释放资源                       
打包实例
5. 使用UDP协议接收数据
(1) 步骤
创建接收端Socket
② 接收数据
③ 解析数据
④ 输出数据
⑤ 释放资源                实例
DatagramSocket ds=new DatagramSocket(9900);//创建接收端
                byte[] buf=new byte[1024];//接收的数据
                int len=buf.length;//接收数据的长度
                DatagramPacket dp=new DatagramPacket(buf, buf.length);//接收的数据存在包里
                System.out.println("1");
                ds.receive(dp);//用ds接收dp
                System.out.println("2");
                System.out.println(dp.getAddress());//打印dp接收的ip地址
                System.out.println(new String(dp.getData(),0,len));//打印接收的内容,new String是把byte数组转成String
                ds.close();
6. 注意事项:
(1) 发送端和接收端端口要一直,否则接收不到
(2) 一个端口同一时间只能用一次
7. 使用TCP协议发送数据
(1) 创建发送端Socket(创建连接)
(2) file:///C:\Users\乃东\AppData\Local\Temp\ksohtml\wps1418.tmp.jpg获取输出流对象
(3) 发送数据
(4) 释放资源        实例
8. 使用TCP协议接收数据
(1) 创建接收端ServerSocket
(2) 监听(阻塞)
(3) 获取输入流对象
(4) 获取数据
(5) 输出数据
(6) file:///C:\Users\乃东\AppData\Local\Temp\ksohtml\wps1419.tmp.jpg释放资源        实例
9. 小结:
(1) tcp协议接收数据的时候,一般情况下回给与发送端一个反馈,比如登录账号的时候,是否登录成功,因为监听的时候会创建一个Socket对象,所以可以用这个对象获取一个输出流对象,这样可以做一个if判断给发送端反馈一个信息,而发送端只需要再用Socket对象获取一个输入流对象,用于接收服务端反馈的信息。
day13
1. 反射:
(1) 在运行时,我们可以获取任意一个类的所有方法和属性
(2) 在运行时,让我们调用任意一个对象的所有方法和属性
2. 反射前提:
(1) 要获取类的对象(class对象)
① Class.forName(“对象全名”)
对象名.getClass
类名.class
3. 字节码对象:相当于是Java用于描述类的对象,那么每个类都是独一无二的,所以每个类的字节码对象都是唯一的,通过三种方法获取同一类的字节码对象,一定是相等的。
4. 常用方法:
(1) Constructor<?>[]        getConstructors():获取所有public修饰构造方法,并返回Constructor数组
(2) Constructor<T>        getConstructorClass<>...parameterTypes
不传参数,获取无参构造,并且可以用newInstance创建对象
传指定参数,获取带参构造,并且可以用newInstance创建对象
注意:通过newInstance创建对象的时候,对于是否要传入参数与getConstructor保持一致,也就是说,getConstructor传了参数,newInstance也要传入参数。
5. 可变参数:
(1) 可以传多个或者零个参数,方法小括号里类型和类型名之间加...”,其他不变,比如传int类型:(int ...num)
(2) 默认将传递过来的元素封装成数组,上面的num就变成了数组名
6. 通过反射获取成员变量并使用
(1) Field[]        getFields():获取所有public修饰的成员变量,返回值是数组
(2) Field                getField(String name):根据传入的名称获取public修饰的对象,返回Field对象
(3) Field[]        getDeclaredFields():获取所有的成员变量,返回数组
(4) Field                getDeclaredField(String name):根据传入的名称获取变量,发挥Field对象
然后变量有个getset方法,调用的是上面传入的变量名的值
7. JavaBean:用于封装数据
(1) 规范
类使用public修饰
提供private修饰的成员变量
为成员变量提供public修饰的getset方法
提供public修饰的无参构造
⑤ 实现序列化接口
⑥ 其他:在实际开发中可以根据需求变化
8. 小结:
(1) 一般用字节码对象调用的什么返回的对象就是什么,比如getField就返回的是Field对象,getmethod返回的就是methodgetconstructor就是constructor
(2) 想要获取私有的成员变量、成员方法或构造方法,可以在get和方法之间加Declared,比如:getDeclaredConstructor,然后获取私有之后还不能调用,需要用setAccessible(true)跳过检查私有
9. eclipse常用快捷键:
(1) alt+上或者下        移动选中代码
(2) ctrl+alt+上或下         复制选中代码
(3) alt+shift+z        将选中代码放入一个指定的代码块中
(4) alt+shift+m        提取成方法
(5) alt+shift+r        重命名所有相同的代码
以上是基础加强阶段内容以下是web阶段内容day01
1. 学前要点(重点加强)
(1) 面向对象
(2) 集合
(3) IO
(4) 反射
2. HTML
(1) 概念:hyper text markup language超文本标记语言
① 标记语言:指的是通过一组标签的形式描述事物的一门语言
② 超文本:比普通的文本更强大
(2) 作用:
① 制作页面(目前学的是静态页面,没有数据库的参与)
(3) 使用场景:
① 在设计网页的时候
3. 基本标签:大部分标签都是收尾照应的
(1) <html></html>
(2) <head></head>:头,
(3) <body></body>:体,正文部分
(4) <title></title>:标题,这个标签是写在head里面的
4. 常用标签
(1) <font>字体
① color        字体颜色
② size        字体大小
③ face        字体样式(比如宋体,楷体)
(2) <br/>                换行,快捷键:shift+enter
(3)                  一个空格
(4) <h1><h2>...<h6>:        标题,没有<h>这个标签
(5) < p>                        段落
(6) <b>                        粗体<i>斜体
(7) <u>                        下划线
(8) <centre>                居中
(9) <hr/>                分割线
5. 在页面中插入图片
(1) <img>        图片标签
① 常用属性
1) src:                来源
a. ../        上一级目录
b. ./        当前目录
2) width        宽度
3) height        高度
4) alt        默认显示
6. 列表标签
(1) <ol>:        有序列表
① 属性
1) type        列表类型(比如1ai
2) start        从多少开始
② <li>
(2) <ul>:        无序列表
① 属性
1) type        列表样式
② <li>
7. 超链接标签
(1) <a>
① href:                连接路径
② target:        打开方式
1) _self:        在自身页面打开(这是默认状态)
2) _blank:        新打开一个页面
8. 表格标签(重点了解)
(1) <table>
① <tr>:一行
1) <td>:一个单元格
a. 属性
a) colspan        列数,用作合并单元格
b) rowspan        行数,用作合并单元格
② 属性
1) width:宽度
2) height:高度
3) border:边框
4) align:水平位置
9. 表单标签(重点掌握)
(1) 作用:可以提交数据
(2) <form>
① 常用属性
1) action:把数据提交到目的路径,默认提交到当前页面
2) method:提交方式
a. 值
a) get(默认):不安全,数据会显示到地址栏中,有大小限制
b) post:不会显示到地址栏中,相对安全
② 元素
1) <input>
a. 属性
a) type
i. 值
i) text        文本框
ii) password 密码框
iii) radio 单选按钮,name需要设置得一样
iv) checkbox复选按钮
v) button        普通按钮,没有任何功能的按钮
vi) submit        提交按钮
vii) reset        重置按钮
viii) file                文件上传的表单项
ix) hidden        隐藏字段
x) image        图片按钮
b) name:表单元素的名称,用于后台接收数据
c) value:默认值
d) size:长度
e) maxlength:最大长度
f) readyonly:只读文本框
g) checked        默认选择,可以不给值
2) <select>:下拉列表
a. 元素
a) <option>:选项
3) <textarea>        文本域
a. 属性
a) cols列数
b) rows行数
10. form里的其他功能,这是h5的功能,有些浏览器不支持
(1) <input type=”email”>         必须是email格式
(2) <input type=”date”>        时间格式
(3) <input type=”color”>        颜色
day02
1. 后台页面
(1) 用《frameset
① 属性
1) rows=10%20%*”:把页面分成3行,分别占百分之1020和剩余部分。
2) cols=“比例”:把页面分成n列,效果如rows
(2) 然后切分完后,如果不用再切分,用《frame》表示,如果还需切分,再用《frameset》表示
2. 外部css注意调用的时候用《link href=“路径” rel=stylesheet”》
(1) 优先级:外部<页面<内部
3. css选择器:id名和class名不能以数字命名
(1) 元素选择器:标签{}
(2) id选择器:#名字{}
① body里面的标签属性设置id比如:<h1 id=a>
② id选择器一般是唯一的
(3) 类选择器:.类名{}
类选择器一般可以对应多个元素,也要给元素设置class
(4) 后代选择器
父标签+空格+子标签,比如:#d1 input{},这个案例#d1里面所有input都会被选择。
父标签  >  子标签,父标签里第一层的子标签
(5) 属性选择器
标签名[属性]{ }
(6) 并列选择器
标签a,标签b{ }
4. 今天重点掌握
(1) 什么是css
(2) 声明css的三种方式
(3) 选择器
(4) div+css=页面布局

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马