当前位置:文档之家› javaweb第四天笔记

javaweb第四天笔记

javaweb第四天笔记
javaweb第四天笔记

day04

上节内容回顾

1、Date对象里面

** 获取当前的月getMonth(): 返回0-11

** 获取当前星期,星期日返回0

2、Math对象里面

** 静态方法,Math.floor()

3、全局函数

eval()

4、js里面的重载

arguments:数组,存储参数

5、js的bom里面对象

navigator screen location history

6、window对象

setInterval和setTimeout

* clearInterval和clearTimeout

* alert confirm prompt close

**open("地址","","宽度高度"):打开新窗口

* opener:得到创建此窗口的窗口

7、dom解析html

8、对象有哪些?

document对象:整个文档

element对象:标签

属性对象

文本对象

Node节点对象

9、document对象

** getElementById

** getElementsByName: 返回数组

** getElementsByTagName: 返回数组

** write方法

1、案例一:在末尾添加节点

第一步:获取到ul标签

第二步:创建li标签

document.createElement("标签名称")方法

第三步:创建文本

document.createTextNode("文本内容");

第四步:把文本添加到li下面

使用appendChild方法

第五步:把里添加到ul末尾

使用appendChild方法

2、元素对象(element对象)

** 要操作element对象,首先必须要获取到element,

- 使用document里面相应的方法获取

** 方法

*** 获取属性里面的值

getAttribute("属性名称")

- var input1 = document.getElementById("inputid");

//alert(input1.value);

alert(input1.getAttribute("value"));

*** 设置属性的值

input1.setAttribute("class","haha");

*** 删除属性

input1.removeAttribute("name");

** 不能删除value

*** 想要获取标签下面的子标签

** 使用属性childNodes,但是这个属性兼容性很差

** 获得标签下面子标签的唯一有效办法,使用getElementsByTagName方法- var ul11 = document.getElementById("ulid1");

//获取ul下面的子标签

//var lis = ul11.childNodes;

//alert(lis.length);

var lis = ul11.getElementsByTagName("li");

alert(lis.length);

3、Node对象属性一

* nodeName

* nodeType

* nodeValue

* 使用dom解析html时候,需要html里面的标签,属性和文本都封装成对象

* 标签节点对应的值

nodeType:1

nodeName:大写标签名称比如SPAN

nodeValue: null

* 属性节点对应的值

nodeType:2

nodeName:属性名称

nodeValue: 属性的值

* 文本节点对应的值

nodeType:3

nodeName:#text

nodeValue: 文本内容

4、Node对象的属性二

* 父节点

- ul是li的父节点

- parentNode

- //得到li1

var li1 = document.getElementById("li1");

//得到ul

var ul1 = li1.parentNode;

alert(ul1.id);

* 子节点

- li是ul的子节点

- childNodes:得到所有子节点,但是兼容性很差

- firstChild:获取第一个子节点

- //获取ul的第一个子节点id=li1

//得到ul

var ul1 = document.getElementById("ulid");

//第一个子节点

var li1 = ul1.firstChild;

alert(li1.id);

- lastChild:获取最后一个子节点

//得到最后一个子节点

var li4 = https://www.doczj.com/doc/728666936.html,stChild;

alert(li4.id);

* 同辈节点

- li直接关系是同辈节点

- nextSibling: 返回一个给定节点的下一个兄弟节点。

previousSibling:返回一个给定节点的上一个兄弟节点。

- //获取li的id是li3的上一个和下一个兄弟节点

var li3 = document.getElementById("li3");

//alert(li3.nextSibling.id);

alert(li3.previousSibling.id);

5、操作dom树

** appendChild方法

- 添加子节点到末尾

- 特点:类似于剪切黏贴的效果

** insertBefore(newNode,oldNode)方法

- 在某个节点之前插入一个新的节点

- 两个参数

* 要插入的节点

* 在谁之前插入

- 插入一个节点,节点不存在,创建

1、创建标签

2、创建文本

3、把文本添加到标签下面

- 代码

/*

1、获取到li13标签

2、创建li

3、创建文本

4、把文本添加到li下面

5、获取到ul

6、把li添加到ul下面(在

  • 貂蝉
  • 之前添加
  • 董小宛
  • */

    //获取li3 标签

    var li13 = document.getElementById("li13");

    //创建li

    var li15 = document.createElement("li");

    //创建文本

    var text15 = document.createTextNode("董小宛");

    //把文本添加到li下面appendChild

    li15.appendChild(text15);

    //获取到ul

    var ul21 = document.getElementById("ulid21");

    //在

  • 貂蝉
  • 之前添加
  • 董小宛
  • //insertBefore(newNode,oldNode)

    ul21.insertBefore(li15,li13);

    *** 不存在没有insertAfter()方法

    ** removeChild方法:删除节点

    - 通过父节点删除,不能自己删除自己

    - /*

    1、获取到li24标签

    2、获取父节点ul标签

    3、执行删除(通过父节点删除)

    */

    //获取li标签

    var li24 = document.getElementById("li24");

    //获取父节点

    //两种方式1、通过id获取;2、通过属性parentNode获取var ul31 = document.getElementById("ulid31");

    //删除(通过父节点)

    ul31.removeChild(li24);

    ** replaceChild(newNode,oldNode)方法: 替换节点

    - 不能自己替换自己,通过父节点替换

    - 两个参数

    ** 第一个参数:新的节点(替换成的节点)

    ** 第二个参数:旧的节点(被替换的节点)

    - 代码

    /*

    1、获取到li34

    2、创建标签li

    3、创建文本

    4、把文本添加到li下面

    5、获取ul标签(父节点)

    6、执行替换操作(replaceChild(newNode,oldNode))

    */

    //获取li34

    var li34 = document.getElementById("li34");

    //创建li

    var li35 = document.createElement("li");

    //创建文本

    var text35 = document.createTextNode("张无忌");

    //把文本添加到li下面

    li35.appendChild(text35);

    //获取ul

    var ul41 = document.getElementById("ulid41");

    //替换节点

    ul41.replaceChild(li35,li34);

    ** cloneNode(boolean): 复制节点

    - //把ul列表复制到另外一个div里面

    /*

    1、获取到ul

    2、执行复制方法cloneNode方法复制true

    3、把复制之后的内容放到div里面去

    ** 获取到div

    ** appendChild方法

    */

    //获取ul

    var ul41 = document.getElementById("ulid41");

    //复制ul,放到类似剪切板里面

    var ulcopy = ul41.cloneNode(true)

    //获取到div

    var divv = document.getElementById("divv");

    //把副本放到div里面去

    divv.appendChild(ulcopy);

    ** 操作dom总结

    * 获取节点使用方法

    getElementById():通过节点的id属性,查找对应节点。

    getElementsByName():通过节点的name属性,查找对应节点。

    getElementsByTagName():通过节点名称,查找对应节点* 插入节点的方法

    insertBefore方法:在某个节点之前插入

    appendChild方法:在末尾添加,剪切黏贴

    * 删除节点方法

    removeChild方法:通过父节点删除

    * 替换节点方法

    replaceChild方法:通过父节点替换

    6、innerHTML属性

    * 这个属性不是dom的组成部分,但是大多数浏览器都支持的属性

    第一个作用:获取文本内容

    *** //获取span标签

    var span1 = document.getElementById("sid");

    alert(span1.innerHTML);

    第二个作用:向标签里面设置内容(可以是html代码)

    *** //向div里面设置内容

    AAAAA

    //获取到div

    var div11 = document.getElementById("div11");

    //设置内容

    div11.innerHTML = "

    AAAAA

    ";

    ** 练习:向div里面添加一个表格

    - //向div里面添加一个表格

    //var tab = "

    ";

    var tab = "

    aaaaaa
    bbbbbb
    cccccc
    ";

    tab += "

    ";

    //相当于var tab = "

    ";

    div11.innerHTML = tab;

    7、案例二:动态显示时间

    * 得到当前的时间

    var date = new Date(); //得到不是常规的格式

    var d1 = date.toLocaleString(); //格式化

    * 需要让页面每一秒获取时间

    setInterval方法定时器

    * 显示到页面上

    每一秒向div里面写一次时间

    * 使用innerHTML属性

    * 代码

    function getD1() {

    //当前时间

    var date = new Date();

    //格式化

    var d1 = date.toLocaleString();

    //获取div

    var div1 = document.getElementById("times");

    div1.innerHTML = d1;

    }

    //使用定时器实现每一秒写一次时间

    setInterval("getD1();",1000);

    8、案例三:全选练习

    ** 使用复选框上面一个属性判断是否选中

    - checked属性

    - checked=true:选中

    - checked=false:不选中

    * 创建一个页面

    ** 复选框和按钮

    - 四个复选框表示爱好

    - 还有一个复选框操作全选和选不选,也有一个事件

    ** 三个按钮,分别有事件

    - 全选

    - 全不选

    - 反选

    * 全选操作

    步骤:

    /*

    1、获取要操作的复选框

    - 使用getElementsByName()

    2、返回是数组,

    - 属性checked判断复选框是否选中

    *** checked = true; //表示选中

    *** checked = false;//表示不选中

    - 遍历数组,得到的是每一个checkbox

    * 把每一个checkbox属性checked=true */

    * 全不选操作

    步骤

    /*

    1、获取到要操作的复选框

    2、返回的是数组,遍历数组

    3、得到每一个复选框

    4、设置复选框的属性checked=false

    */

    * 反选操作

    步骤

    /*

    1、获取到要操作的复选框

    2、返回数组,遍历数组

    3、得到每一个复选框

    4、判断当前的复选框是选中还是不选中

    - if(love1.checked == true) {}

    5、如果选中,属性checked设置成false,否则,设置成true

    */

    * 使用复选框实现全选和全不选

    步骤

    /*

    1、得到上面那个复选框

    - 通过id获取到

    2、判断这个复选框是否是选中

    - if条件,checked==true

    3、如果是选中,下面是全选

    4、如果不是选中,下面是全不选

    */

    9、案例四:下拉列表左右选择

    * 下拉选择框

    * 创建一个页面

    ** 两个下拉选择框

    - 设置属性multiple属性

    ** 四个按钮,有事件

    * 选中添加到右边

    步骤

    /*

    1、获取select1里面的option

    - getElementsByTagName()返回是数组

    - 遍历数组,得到每一个option

    2、判断option是否被选中

    - 属性selected,判断是否被选中

    ** selected= true: 选中

    ** selected= false:没有选择

    3、如果是选中,把选择的添加到右边去

    4、得到select2

    4、添加选择的部分

    - appendChild方法

    * 全部添加到右边

    步骤

    /*

    1、获取第一个select下面的option对象

    2、返回数组,遍历数组

    3、得到每一个option对象

    4、得到select2

    5、添加到select2下面

    - appendChild方法

    */

    * 选中添加到左边

    步骤

    /*

    1、获取select2里面的option对象

    2、返回是数组,遍历数组

    3、得到每一个option对象

    4、判断option是否被选中

    - if条件属性selected == true:选择

    5、获取select1

    6、添加到select1里面

    - 使用appendChild方法

    */

    * 全部添加到左边

    步骤

    /*

    1、获取select2里面的option对象

    2、返回是数组,遍历数组

    3、得到每一个option对象

    4、获取到select1

    5、添加到select1里面

    - 使用appendChild方法

    */

    10、案例五:省市联动

    * 创建一个页面,有两个下拉选择框

    * 在第一个下拉框里面有一个事件:改变事件onchange事件

    - 方法add1(this.value);表示当前改变的option里面的value值* 创建一个二维数组,存储数据

    * 每个数组中第一个元素是国家名称,后面的元素是国家里面的城市

    /*

    1、遍历二维数组

    2、得到也是一个数组(国家对应关系)

    3、拿到数组中的第一个值和传递过来的值做比较

    4、如果相同,获取到第一个值后面的元素

    5、得到city的select

    6、添加过去(使用)appendChild方法

    - 创建option(三步)

    */

    /*

    由于每次都要向city里面添加option

    第二次添加,会追加。

    * 每次添加之前,判断一下city里面是否有option,如果有,删除*/

    11、案例六:动态生成表格

    *创建一个页面:两个输入框和一个按钮

    *代码和步骤

    /*

    1、得到输入的行和列的值

    2、生成表格

    ** 循环行

    ** 在行里面循环单元格

    3、显示到页面上

    - 把表格的代码设置到div里面

    - 使用innerHTML属性

    */

    //获取输入的行和列

    var h = document.getElementById("h").value;

    var l = document.getElementById("l").value;

    //把表格代码放到一个变量里面

    var tab = "

    ";

    //循环行

    for(var i=1;i<=h;i++) {

    tab += "

    ";

    //循环单元格

    for(var j=1;j<=l;j++) {

    tab += "

    "

    }

    tab += "

    ";

    }

    tab += "

    aaaaaaa
    ";

    //alert(tab);

    //得到div标签

    var divv = document.getElementById("divv");

    //把table的代码设置到div里面去

    divv.innerHTML = tab;

    }

    java培训班心得体会范文五篇2020

    java培训班心得体会范文五篇2020 参加拓胜java培训班有一段时间了,今天偶尔有点时间,来分享下这段时间在拓胜学java培训心的体会。下面是由带来的有关java培训心得体会5篇,以方便大家借鉴学习。 java培训心得体会1 从学习java以来,已经进行过三次pta作业的训练。虽然每次作业的完成都遇到了些许困难和障碍,不是一帆风顺的,但通过自己的摸索,实践,总能完成作业要求,每次作业之后都有不同的收获。这些新的收获告诉我,实践出真知,动手会学习到更多东西。总结前面的三次作业,我发现面向对象程序设计这种语言不再那么神秘,我相信马上就能看到揭开神秘面纱后的的它。 .总结三次作业的知识迭代关系 第一次作业是练习java类型的使用,以及一些简单的语法。主要目的是让我们熟练运用java的基本操作,为后面的练习打下坚实基础。通过第一次作业,主要掌握了java类型的使用,及输入输出操作,起初输入操作是不太熟悉的。第二次作业比第一次作业难度肯定加大了,最直观的感受就是代码量增多了,题型也是求解某一类问题,开始要求用方法,而不是所有东西都没有章法地写在main里面。方法的使用是java的一大特色,所以必须要求掌握。第三次作业显然难度又加大了,作业的难度系数总是在上升状态的,这样才能得到有效的提高。这次作业的要求是另写一个类并实现多种方法。确实难

    住我了,不过通过摸索还是实现了。类的使用是java入门,因为java 程序就是用类组成的。这三次作业是有java知识迭代关系的:第一次作业:掌握java的基本语法及类型,以及输入输出操作——第二次作业:掌握java的方法使用,以及稍复杂的计算——第三次作业:掌握java的类的使用及多种方法的使用,用new操作来创建一个类的对象,从而用对象去调用类的功能方法。这些都是一次一次递进的,每次作业完成后都会离真正的java更近一步,也能慢慢体会面向对象程序设计的特点。 .如何通过作业逐步从面向过程过渡到面向对象 作业通过一些具体要求,让我们学习java的用法。第一次作业,就从输入输出感受到了面向过程与面向对象的差别,第二次作业就学习到了方法的用法,第三次作业,就了解到了java里的类与方法,这些都是作业提供的从面向过程到面向对象的过渡。 .作业过程中遇到的问题及解决方法 问题1:作业一中的判断三角形类型中的判断等腰直角三角形测试点过不去 解决方法:试了很多组数据,发现有的数据与预想的不一样,原来计算机有精度要求,而等腰直角三角形的两直角边都是无理数,不能轻易用勾股定理判断,要用精度去规范判断等腰直角三角形。 java编程是极其严谨的,不容一丝差错,宁可牺牲其灵活性也要保证其稳定性。有一次我在java编译器里将类的名字命名为Test,结果一直报错,而程序又找不出错误,想破脑袋也想不明白,后来请

    java基础学习心得

    java基础学习心得 目录 第一篇:java学习需要什么基础 第二篇:java 基础要点总结学习java必看 第三篇:java学习心得笔记 第四篇:java学习心得 第五篇:关于java学习的一点心得体会 正文 第一篇:java学习需要什么基础 java学习需要什么基础 随着java这种语言的广泛运用,越来越多从事开发的人员开始学习接触这门课程,那么,java学习需要什么基础?java刚刚入门应该接触哪些知识呢?java入门应该学习什么内容呢? 首先要说明的,java有三个大的方向(j2se,j2me,j2ee),走不同的方向可能学的技术和要花费的时间可能有所不同。我是搞web方向的(j2ee),我学java除了以前一些简单的c语言语法外,没有太多的编程基础,我以前一直认为编程要有很强的数学和英语功底,现在看来这也不是必需,只要有一定的逻辑思维能力和掌握一些常见的计算机词汇,还需要具备一定的自学能力,因为软件开发工作是需要不断学习的。

    其次,我想说下我的学习过程,我在网上下载了java教学视频,将java基础从头到尾看了一遍,将上面的代码基本上跟着敲了一遍,然后我把java基础的书看了一遍,一本书看完包括上面的习题大概做一遍差不多一个月。这时你对java的语法和基本知识应该都有比较充分的认识和了解了。 然后,再做一些小项目,跟着视频上的步骤做,最好能自己独立再写写,能写多少是多少。一般网上比较新的免费的项目库很不好找,因为项目库是需要实时更新以保证适合市场需要的,而它的升级和更新是需要钱的,所以去报一个培训中心利用它强大的项目库进行实战操作是个很好的选择。 操作一段时间之后,你对java已经有了一定的感觉,就要开始选择你的发展方向了。我选择了j2ee,如果你也是想走这条路,你可以接着看关于j2ee的视频,先是html+js+css,然后jsp+serverlet,再看struts+spring+hibernate等一些框架。同时可以看一些大的培训机构的关于设计模式的视频,最好是it牛人录制的,当然数据库也得学下,然后加上做项目的经验累积,半年就差不多可以出去工作了。 如果你做其他方向的话我不是很了解。再说下我个人的看法, j2me和j2se好像前景没j2ee好,不过我有同事是做android平台开发的,这个不需要j2ee的知识,你可以去买本android的看看,这个方向貌似很有前途,你应该也常听说android平台的手机,如果走这方向可

    Java学习笔记

    Java 程序分类 Java Application:以main()方法作为程序入口,由Java解释器加载执行。 Java Applet:没有main()方法作为程序入口,由浏览器或Appletviewer加载执行。 注释 一行中‘//’后的内容为注释; ‘/*’和‘*/’中的内容是注释; ‘/**’和‘*/’中的内容是注释。 -javac HelloWorld.java 源文件名为HelloWorld.java,由javac编译器编译源程序,产生字节码文件(.class文件)。java HelloWorld由java解释器解释执行。 命名 如果.java 文件包含一个public 类,它必需按该类名命名。Java语言中单词拼写严格区分大小写; 类个数 一个源文件中最多只能有一个public 类。其它类的个数不限。 结构 package 语句//0或1个,必须放在文件开始 import语句//0或多个,必须放在所有类定义之前 public classDefinition //0或1个,文件名必须与该类的类名完全相同classDefinition //0或多个 interfaceDefinition //0或多个

    Java开发工具集JDK----Java Development Kits Java编译器 Java运行时解释器 Java应用程序编程接口 Java文档化化工具 其它工具及资源 环境变量 Path ----外部命令搜索路径; CLASSPATH ----类资源位置搜索路径; https://www.doczj.com/doc/728666936.html,ng----包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。 java.awt----包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。 java.applet----包含applet运行所需的一些类。 https://www.doczj.com/doc/728666936.html,----包含执行与网络相关的操作的类。 java.io----包含能提供多种输入/输出功能的类。 java.util----包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。 JDK中提供了一个文档自动生成工具javadoc,在自定义类中public的成员前以/**…*/形式加入的注释内容均可被自动提取到生成的说明文档中。 用法:somepath\javadoc source.java Java分隔符组成 分号--“;”、花括号--“{}”、空格--“”

    java培训心得体会

    java 培训心得体会 篇一:java 学习心得 湖南软件职业学院 毕业论文 课题:java 学习心得院系:软件工程系专业:软件技术班级:软件0615 班姓名:周专书指导老师:郑利娇完成时间:2009-5-12 Java 实习报告 一.引言面临毕业与就业的压力,不久将来就要从一个学生到一个社会人的转变:技 术在不断的提高,思路在不断的开阔,思想在不断的升华,更重要的是自己的理想和抱负更加的坚定。对于一个投身于IT 的新人,经验谈不上,一些学习的心得倒是可以拿出来探讨一下,我们该如何面临这个似曾相识的社会,突然一天如此接近。面对“金融风暴”带来的就业压力,我们正在逐渐走向成熟,我们意志更加坚强,我们深知不经一番寒彻骨,哪来梅花扑鼻香。深深地体会到找一份好工作多么不容易的,尤其是能力匮乏的我们。一切都要付出行动,不能空想,要实现目标,就得不懈的努力。 的确,软件仍然是一个朝阳行业,对于人才的需求量也 很大,这也是为什 么很多人努力走上这座独木桥的原因。但是当你面临人生的一

    个选择时,当你决定要踏上软件开发之路时,你应该问一下自己:我为什么要选择它?其实很多人在这条道路上摸爬滚打了多年也没弄清楚这个问题的答案。如果你想在这条道路上有所成就的话,一是兴趣使然,二是做好自己的职业规划。软件开发其实是一条非常艰苦的路,不停的学习,不断的熬夜,没有鲜花更没有掌声,陪伴你的是那漫长而孤独的夜。想一想我们准备好迎接这一切了吗?如果没有兴趣我劝你还是放弃这条路,没有兴趣你就在这条路上走不长,等待你的只有转行。如果你真的把它作为你职业生涯的跳板,那么请你做好自己的人生规划,有步骤的实现它。话题稍微远了一点,现在我就谈谈自己在Java 学习方面的心得和教训。 古人云:活到老,学到老。读书学习实乃艰苦之事,花费时间,消耗精力。 然苦之外亦见其乐:得到了知识,提高了认识,完善了自己。学习,求其真,务其实,应“敏而好学,不耻下问” ,才能不断促使进步。学习,不仅求知,也要懂法,学会方法比掌握知识更加重要。笛卡尔说过,“没有正确的方法,即使有 眼睛的博学者也会像瞎子一样盲目摸索” ,可见学习方 法的重要性。 其实,大学之前几乎没有软件技术之类的概念,大三之前仍然对于程序 懵懂不开。但是这并不能妨碍我热爱这个行业,也不能就断定我在这个行业里一事无成。刚学Java ,我的确感觉不开窍,特别对

    java培训心得体会

    java培训心得体会 篇一:java初学者学习心得 学习Java心得体会 学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课不断的提高,思路在不断的开阔,思想在不断的升华,更重要的是自己的理想和抱负更加的坚定。对于一个投身于IT 的新人,经验谈不上,一些学习的心得倒是可以拿出来探讨一下,我们该如何面临这个似曾相识的社会,突然一天如此接近。面对“金融风暴”带来的就业压力,我们正在逐渐走向成熟,我们意志更加坚强,我们深知不经一番寒彻骨,哪来梅花扑鼻香。深深地体会到找一份好工作多么不容易的,尤其是能力匮乏的我们。一切都要付出行动,不能空想,要实现目标,就得不懈的努力。 的确,软件仍然是一个朝阳行业,对于人才的需求量也很大,这也是为什

    么很多人努力走上这座独木桥的原因。但是当你面临人生的一个选择时,当你决定要踏上软件开发之路时,你应该问一下自己:我为什么要选择它?其实很多人在这条道路上摸爬滚打了多年也没弄清 楚这个问题的答案。如果你想在这条道路上有所成就的话,一是兴趣使然,二是做好自己的职业规划。软件开发其实是一条非常艰苦的路,不停的学习,不断的熬夜,没有鲜花更没有掌声,陪伴你的是那漫长而孤独的夜。想一想我们准备好迎接这一切了吗?如果没有兴趣我劝你还是放弃这条路,没有兴趣你就在这条路上走不长,等待你的只有转行。如果你真的把它作为你职业生涯的跳板,那么请你做好自己的人生规划,有步骤的实现它。话题稍微远了一点,现在我就谈谈自己在Java学习方面的心得和教训。 古人云:活到老,学到老。读书学习实乃艰苦之事,花费时间,消耗精力。 然苦之外亦见其乐:得到了知识,提高了认识,完善了自己。学习,求其真,务其实,应“敏而好学,不耻下问”,才能不断促使进

    黑马程序员java培训就业班笔记:集合体系总结

    1、Collection: 集合框架的由来:因为每个容器对象的自身的数据结构不同,所以对它们进行单独的描述和对象封装,并不断的向上抽取共性内容,这样变形成了集合框架。 定义:集合就是一个容器、用来存储对象、长度可变。 理解:其实班级就是一个容器,班上的每一个学生都是单独封装了功能的对象,因为班级中的人数由于有人请假每天都再变化,所以长度是可变的, 常见方法: 1、增加: add();增加一个元素 addAll();增加一部分元素。 2、删除: Remove();删除一个元素,会返回boolean类型,其实用到是equals方法,所以判断是否有符合要求的元素。如果删除成功会改变集合的长度。下面同理。 removeAll();删除全部 Clrea();清空容器 总结:在这里要尤其注意,面试题中经常考到。 3、判断: Contains();是否包含,也就说要所有的都包含在其中才算包含,否则不算包含。 isEmpty();集合是否为空 Size();集合长度。 4、取: retainAll();取交集。 理解总结: 班级就是一个容器,班级中进来一位新生就是Add()添加一个元素,来了一堆同学就是

    addAll,班上出去一个学生就是remove删除一个,出去一部分就是removeAll删除一部分,班级是不是有人,isEmpty,班上是否包含张三contains,班上有多少人size。班上是否包含隔壁班的同学retainAll.去交集。 集合使用细节: 1、直接存储基本数据类型值也是可以的,因为JDK1.5后有自动装箱,会将基本 数据类型转成对象,JDK1.4绝对不行。Eg:coll.add(3) 2、集合对象中存储的其实是对象的元素的引用。 3、Add的参数是Object类型,可以接收所有的类型的对象,会出现向上转型, 取出元素时类型还是Object不能使用具体对象的特有内容,想要使用特有内容向下转型。Eg:Object obj="obj";想要取出访问子类的特有方法,向下转型,String s=(String)it.next();sop(s.length()); |--List:有序列表(存取顺序是一致的)因为该子体系元素中有索引或角标,可以 存储重复的元素。 常用方法: //添加: List.add(1,"abc7");//[abc1,abc7,abc2,abc3]在角标1位置往后顺延。 //删除 Object obj=list.remove(2);//删除指定索引上的元素,根据角标删除会返回来被删对象 Sop(obj);//obj:abc2 [abc1,abc7,abc3] //获取:获取指定角标上的元素并返回,这也是和remove的区别。 Object obj=list.get(1); Sop(obj);//obj:abc1 [abc1,abc7,abc3] //获取元素的索引,如果元素存在返回索引,不存在返回-1,依次还可以判断元素是否存在。 Int index=list.indexOf("abc1"); Sop(index);//index=1 //获取指定的子列表sublist(fromIndex,toindex)包含头不包含尾 List=list.sublist(1,2);//[abc1] //修改: Object obj=list.set(1,"haha"); Sop(obj);//[abc1,haha,abc3] 记住:只有list集合支持增删改查。 |--ArrayList:低层是数组数据结构,不同步,查询快,增删慢, |--LinkedList:低层是链表数据结构,不同步,查询慢,增删较快。 |--Vector:低层是数组数据结构,同步,安全效率低,还有其特有方法枚 举。由于名称过长被iterator取代。 总结:掌握这些集合的方法,它们的方法和list集合的方法很相似,重点掌握

    Java学习笔记(必看经典)_New - 共33页

    JAVA -------- EVERYTHING IS OBJECT OOP class Student{

    New null public int/void addNumber( ) throw Excepion {} public int addNumber(int a,int b){ } int a,int b public Student s=new Student() Student Student “Student()” () Student s Student public student(string name,int a){ } public student(int a,string name){ }

    static void changename(student stu){stu.setName “LUCY”} overloading overriding JAVA overriding overloading Overloading overloading overloading overloading public void teach(){}; public void teach(int a){}; public void teach(String a){} Overloading Byte—short—float—int—long—double this student(){}; student(string n){ this();// student() } student(int a) this(int a) this this This Public void printNum(){ Int number=40 System.out.println(this.number); } This.number this.number (this) number

    黑马程序员java培训就业班笔记day05总结

    黑马程序员java培训就业班笔记day05总结

    Day05 上午: 1、数组的静态初始化 多种定义格式: Int[] arr=new int[]//标准格式,能够明确数组的数据类型,和数组名,可是不知道数组的长度Int arr[]=new int[] Int[] arr=new int[]{2,1,3,4,5,}//经过大括号能够标示出数组中的内容,此处最好别写长度,因为容易出错,因为即初始化实体,又初始化实体中的元素。 Int[] arr={2,1,3,4,5};//能够明确数组的数据类型,和数组名,也能够知道数组中的内容。 2、arr.length:方便获取数组中的元素个数的方式。 3、操作数组的最基础的思想以及核心思想: a)最基础的思想:就是遍历。什么是遍历。 Eg:int[] arr = new int[3]; int[] arr = {4,8,9,2,6,9};//明确了数组的类型和长度,并明确了数组中元素的内容。 // int[] arr1 = new int[]{4,8,9}; //方便获取数组中的元素个数的方式,

    能够使用数组实体一个属性。length System.out.println("len:"+arr.length); for(int x=0; x

    1.介绍面向对象抽象, 描述一个对象的需要 (建模)用string来描述特征 行 2. 面向对象特点之二封装:基本类型的封装 Short Byte Integer Long Charater Double Float Boolean 3继承 4.多态 5.介绍最终项目“交友平台“ 6.布置作业“介绍你朋友特征“ 第三天—7月7日P.M.2:30 课堂笔记 1.介绍“三目运算符“//三目运算符 System.out.println(car.getMadeIn()?"国产":"进口"); System.out.println(car.getPrice()==1.0?"国产":"进口"); 2.如何“生成随机数“ //0-99的随机数 //Set(数据结构) 不允许重复 3.介绍“ArrayList” String[] test=new String[3]; List list =new ArrayList(); 4.打印一个表格需要什么? 1、行数动态的

    最全的java学习笔记(必看)

    % Java学习笔记 目录 一、 Java技术基础 ........................................................... 编程语言.................................................................. Java的特点.............................................................. Java开发环境............................................................ Java开发环境配置........................................................ ( Linux命令与相关知识..................................................... Eclipse/Myeclipse程序结构............................................... 二、 Java语言基础 ........................................................... 基础语言要素.............................................................. 八种基本数据类型.......................................................... 常量和变量................................................................ 运算符与表达式............................................................ 编程风格.................................................................. : 流程控制语句.............................................................. 数组...................................................................... 字符串.................................................................... 方法三要素................................................................

    java培训个人总结

    java培训个人总结各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢篇一:java培训课心得总结 Java培训课心得总结 在参加java培训的过程中,我感觉其实生活中很多时候与java编程是存在相似点。比如说我们想做一件什么事情,总是要先考虑下这件事的目的,做这件事需要先准备些什么,中间需要哪些步骤,最后怎样实现等等,这与计算机编程思想惊人的相似,所以说,在很多人看来,计算机很复杂,有数不清的代码和程序,可以完成各种各样的任务,功能千变万化,要掌握它是一件难比登天的任务,其实不然。计算机这种复杂性,完全是人赋予的,计算机只是单纯的按照人的指令去完成我们想要完成的事情,从这方面看,计算机是简单的。经过这一次的java培训,其中在java的各种对象、方法、类等方面上有了一个比较清晰的想法。当自学时你就不会听到

    有这样那样的想法与指导,学起来就会比较迷茫点,但是有一个比较好的老师来指点下,那样的效果上就不同了,可以让自己的想法和思维开拓点来学习java,亲身感受过后,确实跟自学不一样,自学的话自己可能没这么好去理解代码,有个人带着去理解代码的话学起来比较快点,,用起来也会容易惯通点。 通过这次也可以学到一个团队的重要,一个小项目可以一个人完成,那已经是很痛苦地那种了,最全面的范文参考写作网站但是有一个大项目的话,那就不是一个人可以完成的事了,必须由一个团体来共同完成项目,一个的技术牛不算牛,一个团体的技术都很牛了那才是真正的牛,这样合作起来就可以更快的把一个项目完成,而个人来说,也不会感到非常吃力,分功合作对于开发一个项目来说是重要的一步,在分功的时候必须分功明确,不然在开发程中会出现错乱,例如一个人开发了登陆的功能了,由于分功不明确导至另一个在也

    达内java培训学习笔记

    达内java培训学习笔记: 下载、安装Eclipse 进入Eclipse项目的主页https://www.doczj.com/doc/728666936.html,,点击Downloads,进入下载页。 Eclipse最新的版本是3.3版,但是3.3版的多国语言翻译包还没有出来,所以我们可以使用一个稍早一点的版本3.2。 点击3.2进入其下载页,这个页面有很多下载连接,包括Eclipse SDK在很多平台上的版本; 这里我们只需要下载eclipse-SDK-3.2-win32.zip将这个文件解压缩到磁盘的目录,如D:\eclipse。 在运行Eclipse之前首先应该安装好JDK,设置好环境变量JAVA_HOME、CLASSPATH和PATH。为D:\eclipse下的eclipse.exe在桌面上建立一个快捷方式。双击快捷方式启动Eclipse。 ================================================================================ ========================== 设置JRE: 1.选择Window->Preferences,然后选择Java->Installed JREs,然后选择jre1.5.0_07,单击Edit按钮. 2.单击Browse按钮,选择JDK的安装路径,然后单击OK确定.这样Eclipse下的JDK就已经设置完成了. ================================================================================ ========================== 第一个Eclipse工程:下面我们编写一个简单的HellWorld程序,步骤如下: 1.选择File->New->Project 2.项目列表选Java Project 3.点击“下一步”; 4.输入项目名称,例如:Java;选择相应的JRE(默认即可); 然后选择字解码文件和源文件分离.

    java培训学习总结.doc

    java培训学习总结 篇一:java培训课心得总结 Java培训课心得总结 在参加java培训的过程中,我感觉其实生活中很多时候与java编程是存在相似点。比如说我们想做一件什么事情,总是要先考虑下这件事的目的,做这件事需要先准备些什么,中间需要哪些步骤,最后怎样实现等等,这与计算机编程思想惊人的相似,所以说,在很多人看来,计算机很复杂,有数不清的代码和程序,可以完成各种各样的任务,功能千变万化,要掌握它是一件难比登天的任务,其实不然。计算机这种复杂性,完全是人赋予的,计算机只是单纯的按照人的指令去完成我们想要完成的事情,从这方面看,计算机是简单的。经过这一次的java培训,其中在java的各种对象、方法、类等方面上有了一个比较清晰的想法。当自学时你就不会听到有这样那样的想法与指导,学起来就会比较迷茫点,但是有一个比较好的老师来指点下,那样的效果上就不同了,可以让自己的想法和思维开拓点来学习java,亲身感受过后,确实跟自学不一样,自学的话自己可能没这么好去理解代码,有个人带着去理解代码的话学起来比较快点,,用起来也会容易惯通点。 通过这次也可以学到一个团队的重要,一个小项目可以一个人完成,那已经是很痛苦地那种了,但是有一个大项目的话,那就不是一个人可以完成的事了,必须由一个团体来共同完成项目,一个的技术牛不算牛,一个团体的技术都很牛了那才是真正的牛,这样合作起来就可

    以更快的把一个项目完成,而个人来说,也不会感到非常吃力,分功合作对于开发一个项目来说是重要的一步,在分功的时候必须分功明确,不然在开发程中会出现错乱,例如一个人开发了登陆的功能了,由于分功不明确导至另一个在也在开发此功能,分功明确了会减去诸如些类的一些错误和麻烦。 学习java听老师讲起课来,自己听得明白,但是要自己真的去动手起来做的话,那又是另一回事了,听得明白不一定就可以自己动手做出来,学习java只有听懂了再自己动手去真正的做出一些东西来运用这些代码,让代码在你脑子里转来转去不会忘记,看到有类似的功能你就会想起用这些代码来实现功能,那样才是真正的学会了,不然你就是没学会。在学习java的过程中,最需要的就是耐心,在学习过程中,你会感到很枯燥,烦恼,无聊,寂寞感,,但这些都不是问题,问题就是你能不能有很好的耐心学习下去,一般的人都是因为没耐心学下去才觉得它难,其实java语言本身不难,难的是你自己有没有这样的心去学,耐心很重要。耐心+灵活变通=学习成功 篇二:java培训学习心得 源动java培训之心得体会 文章来源:源动(中国)IT实训基地五个月在刚来的时候,觉得过得好慢,可转眼到了毕业又觉得时间过得好快,时间恐怕才是最会捉弄人的。java培训结束即将走入工作岗位,我想先讲一个故事来切入正题。有两拨人进行篮球比赛,可是一拨人有四个人,而另一拨只有3个,人数不均,显然人数居多的占优势。比赛是不公平的,比赛快要停止的时候,拥有四人的队伍突然要求三人的队伍稍等5分钟。正在

    java培训笔记(详细)版含作业练习-IO流详解.

    第十四天:目标: ------------------------------------------------------------ 第十四章Stream I/O and Files, 共 44 个slide(411-455; 知识点:一. 流的概念程序的主要任务是操纵数据。在Java中,把一组有序的数据序列称为流。根据操作的方向,可以把流分为输入流和输出流两种。程序从输入流读取数据,向输出流写出数据。文件输入流输出流文件内存 -------------> Java程序 ------------------> 内存键盘控制台数据源数据目的地 Java I/O系统负责处理程序的输入和输出,I/O类库位于java.io 包中,它对各种常见的输入流和输出流进行了抽象。如果数据流中最小的数据单元是字节,那么称这种流为字节流;如果数据流中最小的数据单元是字符,那么称这种流为字符流。在I/O类库中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流, java.io.Reader和java.io.Writer分别表示字符输入流和字符输出流。二. 字节输入流和输出流概述在java.io包中, java.io.InputStream表示字节输入流,java.io.OutputStream表示字节输出流,它们都是抽象类,不能被实例化。InputStream类提供了一系列和读取数据有关的方法: 1. read(: 从输入流读取数据:有三种重载形式: a. int read(: 从输入流读取一个8位的字节,把它转换为0-255之间的整数,并返回这一整数。例如,如果读到的字节为9,则返回9,如果读到的字节为-9,则返回247。如果遇到输入流的结尾,则返回-1; b. int read(byte[] b: 从输入流读取若干个字节,把它们保存到参数b指定的字节数组中。返回的整数表示读取的字节数。如果遇到输入流的结尾,则返回-1; c. int read(byte[] b, int off, int len: 从输入流读取若干个字节,把它们保存到参数b指定的字节数组中。返回的整数表示读取的字节数。参数off指定在字节数组中开始保存数据的起始下标,参数len指定读取的字节数目。返回的整数表示实现读取的字节数。如果遇到输入流的结尾,则返回-1; 以上第一个read方法从输入流读取一个字节,而其余两个read方法从输入流批量读取若干字节。在从文件或键盘读数据时,采用后面两个read方法可以减少进行物理读文件或键盘的次数,因此能提高I/O操作的效率。 2. void close(: 关闭输入流,InputStream类本身的close(方法不执行任何操作。它的一些子类覆盖了close(方法,在close(方法中释放和流有关的系统资源。 3. int available(: 返回可以从输入流中读取的字节数目; 4. skip(long: 从输入流中跳过参

    Java培训课心得总结

    https://www.doczj.com/doc/728666936.html, Java培训课心得总结 在参加java培训的过程中,我感觉其实生活中很多时候与java编程是存在相似点。比如说我们想做一件什么事情,总是要先考虑下这件事的目的,做这件事需要先准备些什么,中间需要哪些步骤,最后怎样实现等等,这与计算机编程思想惊人的相似,所以说,在很多人看来,计算机很复杂,有数不清的代码和程序,可以完成各种各样的任务,功能千变万化,要掌握它是一件难比登天的任务,其实不然。计算机这种复杂性,完全是人赋予的,计算机只是单纯的按照人的指令去完成我们想要完成的事情,从这方面看,计算机是简单的。 经过这一次的java培训,其中在java的各种对象、方法、类等方面上有了一个比较清晰的想法。当自学时你就不会听到有这样那样的想法与指导,学起来就会比较迷茫点,但是有一个比较好的老师来指点下,那样的效果上就不同了,可以让自己的想法和思维开拓点来学习java,亲身感受过后,确实跟自学不一样,自学的话自己可能没这么好去理解代码,有个人带着去理解代码的话学起来比较快点,,用起来也会容易惯通点。 通过这次也可以学到一个团队的重要,一个小项目可以一个人完成,那已经是很痛苦地那种了,但是有一个大项目的话,那就不是一个人可以完成的事了,必须由一个团体来共同完成项目,一个的技术牛不算牛,一个团体的技术都很牛了那才是真正的牛,这样合作起来就可以更快的把一个项目完成,而个人来说,也不会感到非常吃力,分功合作对于开发一个项目来说是重要的一步,在分功的时候必须分功明确,不然在开发程中会出现错乱,例如一个人开发了登陆的功能了,由于分功不明确导至另一个在也在开发此功能,分功明确了会减去诸如些类的一些错误和麻烦。 学习java听老师讲起课来,自己听得明白,但是要自己真的去动手起来做的话,那又是另一回事了,听得明白不一定就可以自己动手做出来,学习java只有听懂了再自己动手去真正的做出一些东西来运用这些代码,让代码在你脑子里转来转去不会忘记,看到有类似的功能你就会想起用这些代码来实现功能,那样才是真正的学会了,不然你就是没学会。 在学习java的过程中,最需要的就是耐心,在学习过程中,你会感到很枯燥,烦恼,无聊,寂寞感,,但这些都不是问题,问题就是你能不能有很好的耐心学习下去,一般的人都是因为没耐心学下去才觉得它难,其实java语言本身不难,难的是你自己有没有这样的心去学,耐心很重要。耐心+灵活变通=学习成功

    java学习笔记

    Java第一天2007年4月23日 1、Java之父Golsling 1995年5月23日Java诞生 1998年12月 1.2版本Java2J2SE J2EE J2ME 2004年12月 1.5版本(5.0)Java JavaSE JavaEE JavaME 2、Java SE---Java标准平台 Java EE---企业级平台 Java ME---微小平台,用在资源受限的平台上 3、(1)跨平台---一次编译,到处运行 (2)简单---简化C++,取消了指针,对指针进行了上层的封装,它保证能够通过这个指针(引用),来访问有效的内存单元。 不允许多继承,使继承关系成树装图,每个类都只能由一个父类。 java语言的开发效率高,但执行效率低。(相当于c++的55%)(3)纯面向对象的语言---都要放在类中 (4)垃圾回收机制---自动垃圾收集,永远不会出现内存泄露的问题 4、虚拟机 java语言是先编译后解释,java源码是通过编译生成一种特殊的.class的中间字节码文件,然后再由JVM进行解释运行。 (编译)(解释) .java---->.class--->可执行文件 所以效率低,是C++的20倍 5、java源代码中的main方法的定义写法。main方法是程序的入口。 public class Hello{//一个源文件中只能有一个公开类,而且源文件的文件名与公开类的类名完全一致 public static void main(String[]args){//程序入口public static可以调换顺序 System.out.println("He llo world");//打印语句 } } 编译命令javac xxxx.java源文件的名字,源文件中的一个类会对应编译生成一个.class 文件 运行命令java xxxx类的名字---启动虚拟机 6、环境变量 JAVA_HOME=/opt/jdk1.5.06JDK安装路径---JDK=JRE{JVM(硬件)+编译器(软

    Javase总结笔记终极版

    Javase复习笔记 Day01: 1.文档注释可以在:类,常量,方法上声明,分别用来说明它们的功能及作用。文档注释会被javadoc命令在读取当前源程序的时候解析并使其生产说明文档 2.int length():获取当前字符串中字符个数(长度),无论中英文每个字符都算一个长度。 3.int indexOf(String str):查找给定字符串在当前字符串中第一次出现的位置。 4.int indexOf(String str,int from):从当前字符串指定下标位置开始查找第一次出现给定字符串的位置。 5.int lastIndexOf(String str):查找当前字符串中最后一次出现给定字符串的位置。 6.String subString(int start,int end):获取指定字符串中部分内容,含头不含尾。 7.String trim():去除当前字符串中两边的空白。 8.char charAt(int index):获取当前字符串中指定位置对应的字符 9.boolean startsWith(String str) boolean endsWith(String str):判断当前字符串是否以给定的字符串开头,另一个是判断是否是以给定的字符串结尾的。 10.String toUpperCase()、String toLowerCas():将当前字符串中的英文全部转换为大写或全小写。 11.Static String valueOf():字符串提供若干的静态方法valueOf()作用就是就将其他类型转换为字符串。比较常用的是将基本类型转换为字符串。 Day02: 1.boolean matches(String regex):验证当前字符串是否满足给定的正则表达式的格式要求,需要注意正则表达式是否使用了“^”,“$”都是全匹配验证。 2.String [] split(String regex):将当前字符串中满足正则表达式的部分“切掉”,保留剩余的部分。拆分字符串操作。 3.String replaceAll(String regx,String str):将当前字符串中满足正则表达式部分的内容替换为给定的字符串。 4.包装类:由于java中8个基本类型,它们不是以对象的形式存在,没有面向对象的特征,所以不能参与面向对象的开发,为了解决这个问题,java针对它们定义了8个包装类。基本类型的转换为包装类的静态方法valueOf,在valueOf在

    java培训个人总结(精选篇)

    java培训个人总结 java培训个人总结 \study prgre\apahe_tat6.0\apahe-tat-6.0.29 d:\study prgre\apahe_tat6.0\apahe-tat-6.0.29\bin\btstrap.jar start。 3、hibernate连不上sqlserver16数据库。。。 4、不需要在数据库的表间建立关联,只要建立映射即可。(但一般不采取此种方式,直接用sql语句搞定!)。 razyde (09.星期二) 1、gassfish:hell rd ! 第二篇:java培训总结 学习总结 java语言是一种跨平台的高级语言,无论是络世界和桌面应用程序,还是分布式应用环境和嵌入式应用都可以看到java的身影。显然 java语言依然保持着旺盛的生命力,这也使得众多的从业人员开始 学习java语言。 java技术入门使读者对java语言有个初步的了解,为后面的深入 学习奠定基础;面向对象技术是需要读者认真学习和体会的,第三篇编程提高篇详细讲述了java语言的高级主题,即读者进阶学习的必备内容;java分布式计算技术的内容,如果读者对eb编程感兴趣,相信本篇可以满足您的需求。为了说明java语言的应用,《java完 全自学手册》最后一篇介绍了一个实例,通过该程序从无到有的过 程使读者知道如何使用java语言编写应用程序。 刚开始头绪有点乱,尤其是看了thinking in java第四版前面后, 你知道那感觉,啃啃不下去,实例每个都看的似懂非懂,一两个还行,多了就慌了,更何况他的内容也看不太懂,虽然硬着头皮往后走,但走到第三章就觉得不能再这样了。上找,一个视频教学,孙鑫老师的那个视频,老师讲的细致,各种小细节都不放过,开始还认真的一句一句听,后来也觉得有些东西用的时候查书ggle就好了到没必要听 讲的时候弄懂。但好在孙鑫老师讲的大致还是沿袭中国人能懂的语言,比起thinking in java来说,确实是听懂了。所以到了lessin4以后,我就大量使用快进了。讲下自学心得,给准备学习的朋友理个大

    相关主题
    文本预览
    相关文档 最新文档