黑马JavaEE 3G+Android就业班笔记第01天
黑马程序员android开发笔记及源码

01、什么是3G02、android系统简介03、android背景介绍04、android的framewor简介05、两种虚拟机的比较06、sdk的下载以及简介07、创建android模拟器08、ddms简介09、platform-tools的简介及常见adb指令10、android项目的目录结构11、android下apk安装的过程12、常见的adb指令介绍13、创建模拟器遇到的常见错误14、电话拨号器15、点击事件的四种写法16、短信发送器17、相对布局&单位介绍18、现形布局&布局的组合19、表格布局&绝对布局20、帧布局21、测试相关概念22、android下junit测试框架配置23、logcat简介24、保存文件到手机内存25、android下文件访问的权限26、保存文件到SD卡中27、分析setting源代码获取SD卡大小28、_sharePreference入门29、xml文件的序列化30、采用pull解析xml文件31、采用断电调试的方法观察pull解析的的流程32、android下创建一个sqllite数据库33、sql语句实现数据库的增删改查34、系统api实现数据库的增删改查&Sqlite3工具的使用35、数据库的事物36、listView入门37、采用layoutInflater打气筒创建一个view对象38、采用数据适配器ArryAdapter39、常用数据适配器simpleAdapter40、数据适配器总结41、内容提供者简介42、内容提供者的实现43、短信的备份44、插入一条记录到系统短信应用45、内容观察者46、获取系统的联系人信息47、保存联系人到系统通讯录48、读取联系人的一个小细节49、网络图片查看器50、anr产生的原理&如何避免51、android消息机制入门52、网络html查看器53、字符乱码问题的处理54、采用get方式提交数据到服务器55、采用post方式提交数据到服务器56、提交数据到服务器中文乱码问题的处理57、采用httpclient提交数据到服务器58、异步http框架简介&实现原理59、异步http框架提交数据到服务器60、上传文件到服务器61、smartimageview&常见开源代码62、多线程下载的原理63、多线程断点下载的原理64、多线程java代码移植到android65、多线程下载文本页面的更新66、显示意图激活另一个activity67、隐式意图激活另一个activity68、隐式意图的配置69、隐式意图和显示意图的使用场景70、在不同activity之间数据传递71、activity的声明周期72、activity的启动模式73、activity横竖屏切换的声明周期74、开启新的activity获取他的返回值75、请求码和结果码的作用76、利用广播实现ip拨号77、短信窃听器78、自定义广播时间&发送自定义广播&广播接受者优先级79、采用服务执行长期后台操作80、采用服务窃听电话&服务的声明周期81、android进程优先级&为什么使用服务82、绑定方式开启服务&调用服务的方法83、服务的声明周期(混合开启84、采用aidl绑定远程服务85、代码注册广播接受者&利用广播调用服务的办法86、加载大图片到内存87、获取图片exif信息88、从gallery获取图片89、图片画画板90、扒开美女衣服91、图片的缩放92、图片的旋转93、图片的平移&镜面&倒影效果94、图片的合成95、图片的颜色处理96、多媒体播放api简介97、人脸识别98、mediaplayer的生命周期99、soundpoo简介100、sufaceview的生命周期101、播放在线视频102、视频播放器进度的处理103、调用系统照相机拍照和录像104、采用camera拍照105、常见对话框106、notification入门107、菜单108、android下的样式109、android下的主题110、代码编写ui111、html创建ui112、帧动画113、代码创建创建的tween动画114、xml文件定义动画115、传感器简介116、117、杀死进程118、apk的安装119、应用程序的反编译120、动态创建fragment121、用fragment创建一个选项卡122、fragment的向下兼容性123、fragment的生命周期124、fragment之间的通讯125、应用程序国际化04、android的framewor简介Wap:wait and playWireless Makeup Language(WML)精简的html语言Applications:android自带的基本上层应用Aplication framework:应用程序框架Librarics:Linux lernel:05、两种虚拟机的比较编译后文件格式:jvm:.java->.class->.jardalvik vm:.java->.dex->.odex基于的架构:jvm:基于栈的架构dalvik vm:基于寄存器的架构Cpu直接访问寄存器因此dalvik虚拟机的效率比jvm高06、sdk的下载以及简介->获取sdk工具包(sdk:standard develope kits)->ADT(android develop tools,实际上是eclipse的插件)SDK具体内容Android->SDK Plateform:开发时使用到的jar包->Samples for sdk:->ARM EABI V7a System Image:模拟器运行时的镜像->Intel n86 Aton System:模拟器运行时的镜像->MIPS System Image:模拟器运行时的镜像->google APIs:google提供的jar包,可以直接使用google提供的一些API ->source for android SDK:SDK全部的源代码Extrals:->tools:开发的工具->support library:实现高版本的android向下的兼容->google Admed Ads SDK:gongle提供的广告插件->Analyties App Irackiong SDK:应用的用户分析->cloud message:云消息->gongle play service:收费服务->google USB Driver:真实的设备驱动开发时:基于4.0,兼容2.2、2.3.307、创建android模拟器avd:android virture developerVGA:480*640(电视的标准分辨率)QVGA:240*320(四分之一)HVGA:320*480(一半)WVGA:480*800(width)FWVGA:480*854(更宽)08、ddms简介ddms:模拟器不支持中文,因此发送中文会显示不出来09、platform-tools的简介及常见adb指令Android调试桥:内部实现就是socket让两个系统之间实现数据交互->reset adb:模拟器找不到时候可以重启->adb device:列出所有的连接的设备->adb kill-server:杀死adb调试桥->adb start-server 启动adb调试桥dx.bat:将.class文件打包10、android项目的目录结构一:SDK的目录结构->Samples->Api demo:根据API demo(模拟器上面可以看见)的效果可以在sample中看见相应的代码->Source:jar包所有的sdk源代码都在这个文件夹里->SystemImage:系统镜像->temp:下载更新临时存储的文件夹,一般是空的->tools:emulater.ext 不同版本的模拟器二:New Android Application->theme:留给以后作为扩展,现在并没有太大的作用->target SDK:一般选择高版本,因为高版本对下兼容->mark project as a library:一般不选择,意思是将这个项目提供一个jar包供别人使用三:文件夹目录.setting:设置目录assets:资产目录,存放一些文件,这些文件会被原封不动打包到应用程序的apk中bin:gen:自动生成的目录->builderConfig.java:生成的配置信息->R.java:Android 4.1.2->android.jar开发环境,jar包可以在properties中修改,jar包就是SDK011、Android下apk的安装过程一、Android安装过程分析:->setContentView:甚至view的对象,把里面的xml文件加载到->在project中选择build automaticly会自动把文件生成字节码文件,.class $代表的class文件生成的是内部类->dex.bat文件会把.class文件生成.dex文件->apk压缩文件解压内部内容->META-INF:应用程序的签名eclipse的调试签名文件->res:资源文件->classes.dex:class文件->resources.arsc:资源ID映射->android软件安装的过程:->拷贝xxx.apk带/data/app/xxx-1.apk->在/data/data目录下创建一个文件夹,文件夹名称当前应用程序的报名012、常见adb指令前提:->设备连接上电脑而且驱动安装正常,如果安装不正常的话,会有黄色的问号显示;->设备上打开USB调试;指令:->adb device(如果启动发现这个程序没有安装会自动安装)->adb kill-server->adb start-server->adb uninstall <包名>->adb -s emulator-5554 install c:\\users\\administrator\\hello.apk如果有多个设备的话,如果不指定安装的是哪个设备程序会报错->adb push haha.prop /sdcard/haha.txt 将文件移到(360管家,豌豆荚之类的软件他们也是用的adb指令,倘若电脑上装这些软件的话,会因为两个adb指令抢端口号而挂掉)(adb版本之间兼容不是很好,经常报错可以考虑下版本的问题)->adb shell:远程连接到了android的linux终端ls:显示文件夹ps:显示正在运行的程序ping:网络连通性013、创建模拟器遇到的常见错误->路径最好不要有中文:->应用安装不上,或者安装模拟器的时候开启一个新的模拟器:可能是模拟器的资源被占用,模拟器在运行的时候其实占用着硬盘上面的一个文件,这个文件位于工作空间.android/avd/iphone.avd 里面会有镜像文件,当一个模拟器开启起来了,就给你创建一个文件夹.knock的文件夹,代表着这个模拟器被锁定了,如果把模拟器关掉,就没有程序占据这几个镜像资源了,那么这几个程序就会被自动删除。
黑马程序员JavaEE基础班新课程day02:java基础知识

黑马程序员JavaEE基础班新课程day02:java基础知识新的一天开始了,准备好继续学习java了吗?什么?!没精神?好吧,先来个美图提提神吧!好,美女给你加油了,开始学习吧~首先我们来复习下昨天day01的知识,还记得詹姆斯·高斯林吗?是他创立了java语言。
还记得螳螂、老虎、蜻蜓吗?没错它们都是java的版本名。
如果你没都记住没关系,这种知识并不影响你的学习和开发,只要留个印象就好了。
如果说jvm、jre、jdk、已经把你搞晕了,那么至少你还记得java的特点是跨平台的吧?那么为什么它能跨平台呢同学?常用的dos命令还记得几个?注释分几种?关键字的特点是什么能说一下么?想不起来就要回头看看咯。
四类八种数据类型老师可是要检查你的,要多记记哦。
最后就剩下标识符的命名规则和数据类型转换了,答完就过关了哦~好的,接下来就要开始新的知识学习了,day02我们主要内容有什么呢?1 Eclipse的安装、配置及使用2 运算符3 键盘录入1--Eclipseeclipse绿色版老师会给大家,大家自己从网上也可以下载到,解压就能用啦,刚开始接触可能会有点懵,很多功能是慢慢使用中熟练的,不要着急。
定个小目标!那我们就给自己定个小目标,先在eclipse上运行一个HelloWorld吧!选择工作空间工作空间其实就是我们写的源代码所在的目录用Eclipse来完成一个HelloWorld案例A:创建Java项目:点击File或者在最左侧空白处,选择Java项目,在界面中写一个项目名称,然后Finish即可。
B:创建包:展开项目,在源包src下建立一个包com.itheimaC:创建类:在com.ithiema包下建立一个类HelloWorld在界面中写一个类名:HelloWorld,然后finish即可。
D:编写代码:在HelloWorld类写main方法,在main方法中写一条输出语句:我是黑马程序员,我骄傲,我自豪。
【黑马程序员济南】前端与移动开发就业班笔记CSS进阶:Day01

【黑马程序员济南】前端与移动开发就业班笔记CSS进阶:Day01京东网站前期准备工作1.1 项目背景∙现在电商类网站很流行,很多同学毕业之后会进入电商类企业工作,同时电商类网站需要的技术也是较为复杂的,这里用京东电商网站总结,复习,提高前面所学布局技术。
1.2 设计目标∙保证浏览器ie7及以上, 火狐, 360, safari,chrome等。
∙∙熟悉CSS+DIV布局,页面的搭建工作∙∙了解常用电商类网站的布局模式∙∙为后期京东移动端做铺垫∙1.3 设计思考几点(1). 开发工具webstorm 、fireworks(ps)、各种浏览器.WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。
被广大中国JS 开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。
与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS 部分的功能。
(2). CSS Rest 类库,为跨浏览器兼容做准备(也可以直接运用jd网站的初始化) normalize.css保护有用的浏览器默认样式而不是完全去掉它们一般化的样式:为大部分HTML元素提供修复浏览器自身的bug并保证各浏览器的一致性优化CSS可用性:用一些小技巧解释代码:用注释和详细的文档来(3). 低版本浏览器单独制作一个跳转页面https:///dev/3dm8aE4LDBNMkDfcCaRxLnVQ7rqo/index.ht ml1.4 目录说明要实现结构和样式相分离的设计思想。
根目录下有这4个文件。
[td]2. 运用知识点2.1 基本css文件我们需要准备一个基本的css文件,通常命名为base.css. 里面用于存放初始化的css 还有我们网站整体都会使用的css,比如字号,字体颜色,链接,以及版心宽度等等。
因为这个css文件,网站里面的很多页面都需要引用,因此,这个css文件单独存放,引入到html即可。
黑马程序员java培训就业班笔记:day01总结

Day01总结:1、计算机常识:包括了软件的简单划分:系统软件windos等和应用软件QQ、迅雷等2、人机交互方式:图形化界面GUI、命令行方式CLI:3、常用的命令:cd:进入目标路径、cd..退出当前路径、mk:创建文件、rd:删除文件,dir:列出当前目录、cls:清屏、exit:退出dos窗口cd\回到根目录rd\s删除根目录下所有的文件(这里是比较牛的地方,因为windos都是从里到外的删除,在dos命令下必须首先删除里面的文件保证没有任何文件下才能删除当前的文件目录)*:代表通配符、notepad:记事本;4、Help/?为dos中寻找帮助的工具,可以帮助列出所有的dos命令5、Java的三种技术架构:javaSE:标准版:是为了开发桌面和商务应用程序提供的解决方案javaEE:企业版:为了开发企业环境下的应用程序而提供的一套解决方案;javaME:小型版:是为了开发电子消费品和嵌入式设备提供的解决方案;6、Java的简单特性:跨平台性(平台在此所指的是操作系统,而操作系统指的是平台)怎么做到跨平台?因为有jVM的出现,只要计算机上安装上虚拟机就可以运行不同的程序jVM作用:能解释java语言的程序;正是因为有了JVM才使java语言具备了良好的移植性;7、java语言的开发环境:JRE:java Runtime Enviroment Java运行环境:包括javaJVM和核心类库简单:JRE=JVM+核心类库JDK:java Development kit java 开发工具:包括java工具包比如:javac 编译器java 运行总的说来就是一句话:使用JDK开发完的程序交给JRE运行;8、下载JDk和安装JDK 详细见:下载JDK和安装JDK专题下午:1、环境变量的配置:三个步骤:下载安装、配置环境变量、javac编译运行(如果dos窗口显示出javaJVM中所有的参数信息代表已经配置成功)2、path环境变量有什么作用?用于记录应用程序所在的路径;3、配置Path环境变量目的:为了方便任何情况下都能执行应用程序4、区别:不用找路径了,windos找路径5、临时配置环境变量:Set path:6、在原有的基础上添加新的参数值:set path=E:\javaJDK\jdk1.7_0_3\bin%path%:注意后面的部分(注意:配置时要尽量配置在前端,否则JDK会优先运行其他程序)7、Java程序:Class Demo{Public static void main(String[] args){System.out.println("HelloWorld!");}}从上面的程序中可得:1、java文件的扩展名为:.java2、javac 对该java文件进行编译;3、java对生成的class文件进行运行;类就是存储代码的地方;关键字:class类名的书写规范:英文和数字的组合,英文单词第一个字母大写如果有几个组成,每个英文字母的首字母大写(回忆变量名书写规范----已经忘记了)--------------------------------------------------------------------自己写好的文件称之为源代码或者源文件,必须翻译成计算机能识别的文件NoSuchMethodError:main ;没有main方法(缺少主函数)回忆最常见的几个异常(已经忘记,java面试中这么一道题:说出你经常遇到的异常,至少五个)------------------------------------------------------------------------------------------------------------- public static void main(String[] args)main函数可以保证该类独立运行;它是程序的入口;它会被JVM所调用;argments:args;参数作用:可以让一个类可以独立运行;java程序的主函数,程序的开始;执行的起始点;面试题:一个java程序中是否只能有一个main函数?(自己查找--已经忘记)可以重载main()函数(重载和覆盖知识点已经忘记,晚上补齐)补习:重载:什么是重载:Overload表示同一个类中可以有多个名称相同的方法,重载的特点:参数列表的方法各不相同(参数个数和参数列表)为什么用重载:是静态多态性,即同名不同参,好比一个人可以用不同的餐具一样;重写:override覆盖一个方法,并且对其重写,以求达到不同的作用,---------------------------------------------------------------------------------------------------------- System.out.println("");println与print的区别:前者换行也就是回车,后者没有回车;作用:显示效果不一样;java的输出语句:输出在控制台上;java对应的程序就是java虚拟机弄清楚编译时期和运行时期出现的机制和错误:(后期的异常机制中涉及到)---------------------------------------------------------------------------------------------------------初学者在初学的时候遇到的问题:1、文件名保存错误;2、目录不对eg:只进入了盘符,没有进入文件中;3、扩展名保存不对;eg:123.java.txt扩展名隐藏;解决方法,用dir查看文件详细信息,显示其扩展名;4、主函数找不到;5、编译失败;8、classpath:类文件路径set classpath=c:\myclass将java的类文件告诉系统,java虚拟机在执行时就会制定的目录下查找;作用:简单一句话:告诉java虚拟机要运行类文件的位置;没告诉位置就在当前文件下找,告诉位置就去告诉位置查找!set classpath=c:\mycalss;多了一个分号,表示告诉虚拟机按照所指定的目录下查找的java程序,如果没找到会在当前目录下再次查找;一般情况下不加分号;如果加分号和自己指定的意愿有悖;set calsspath=.;c:\myclass表示当前路径和指定的目录;9、path与classpath的区别?path是用于定义系统中的可执行程序的所在路径。
java课堂笔记(全部基础知识)

Java_U1课堂笔记(一)初识Java一、配置Java环境变量:1、复制JDK安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0_51\bin2、粘贴到我的电脑->属性->高级系统设置->环境变量->Path3、加上英文的分号4、验证是否配置正确:dos-->java -version进入DOS窗口的方法:运行(或快捷键windows键+r)二、Java程序编写三步骤:编写 .java编译:javac **.java运行java **三、使用jad反编译工具:DOS中切换至jad安装目录,如:C:\jad1.5.8g.win输入命令:jad -s java D:\t01\HelloWorld.class四、变量的使用:页脚内容1变量取名,命名规则类型数值:int、double、float(f)非数值:char、String类型名字= 值;int age=10;五、上机验证:System.out.println(5+3);System.out.println("5"+3);六、Scanner的使用,接收用户键盘输入Scannerimport java.util.Scanner;Scanner input=new Scanner(System.in);input.next();(相关方法,nextDouble()、nextFloat()、nextInt(等)bin:exejre页脚内容2libsrc.zip(二)数据类型一、数据类型转换自动类型转换:int num=100;double b=num;强制类型转换double num=100.9;int b=(int)num;二、运算符赋值运算符=算数运算符+ - * / % ++ --+= -= *= /= %=关系运算符> < >= <= == !=逻辑运算符&& || !页脚内容3条件运算符?:了解优先级即可三、流程控制1、if:基本ifif-else多重if嵌套if注意:条件是boolean值常见错误:if(num=5){}else{}大括号不省略多重if顺序问题注意:页脚内容4流程图的使用和问题的分析解决过程2、switch等值比较注意:(1)语法上的常见错误(2)和多重if的异同循环结构:解决重复性的操作简介高效(三)循环结构一:循环:(1)while循环while(条件){操作循环变量迭代}注意:页脚内容5代码缩进循环能否正常退出(2)do-while循环do{循环}while(条件);注意:代码缩进循环能否正常退出和while的区别:语法上、执行上(至少执行一次)(3)for循环for(变量初始化;条件;变量迭代){循环操作}页脚内容6注意:代码缩进循环能否正常退出执行顺序循环变量可以有多个二、双重循环双重循环的特点:外层循环进入一次,内层循环就要完整的执行一遍特点:外执行一次内执行一轮双重循环次数:外层循环次数*内层循环的次数实现的重点:页脚内容7(1)确定谁做外层循环,确定谁做内层循环(2)两层循环变量有没有规律性的关系1、打印图形:找规律矩形行i外层星星j内层1 52 53 54 55 5平行四边形行i外层内层:空格星星1 4=5-i 52 3=5-i 53 2=5-i 5页脚内容84 1=5-i 55 0=5-i 5等腰三角形行i外层内层:空格星星1 4=5-i 1=2*i-12 3=5-i 3=2*i-13 2=5-i 5=2*i-14 1=5-i 7=2*i-15 0=5-i 9=2*i-12、打印九九乘法表行i(1-9)第一个操作数i 第二个操作数(从1到i)三:循环应用1、分析需求:重复做一件事情前提条件(循环进入的条件)做什么事情(循环操作)页脚内容92、用代码解释选择一种合适的循环结构whiledo-whilefor根据所选择的结构套用语法while(条件){}do{}while(条件);for(循环变量初始化;条件;迭代){}3、容易出错的点(1)变量在何处声明例1:计算5门课平均成绩页脚内容10例2:for(int i=0;i<=6;i++){System.out.println(i);}int j=i;System.out.println(j);(2)没有适当的(合适的)跳出循环根本跳不出来根本进不去循环多或少循环了一次四、循环的跳转break:跳出整个循环continue:跳出本次循环,进入下次循环return:结束方法(了解即可)五、程序调试页脚内容11设置断点Debug->单步运行F5 F6观察变量(三)数组一、数组1、数组的基本使用(1)数组的作用一组相同数据类型的数数组也是变量,内存中一串连续的空间(2)数组的几个基本概念标识符(数组名字)元素下标:从0开始数据类型数组的长度(数组名字.length)(3)数组使用步骤声明数组页脚内容12int[] num;int num[];分配空间num=new int[8];赋值处理数据int[] num={5,8,7};int[] num=new int[]{5,8,7};(4)循环和数组结合的使用下标(0-数组.length-1)遍历时两种方法:方法一:传统for方法二://增强型for(foreach)for(int score:scores){sum+=score;页脚内容13}二、回顾数组变量,内存中一串连续的空间相同数据类型的一组数据数组的基本概念元素数据类型(数组类型)下标(0,数组.length-1)数组的长度:数组.length数组的基本使用声明数组(类型[] 数组名称或类型数组名称[])分配空间(数组名称= new 数据类型[5];)赋值(num[0]= ;)处理数据变量:基本数据类型页脚内容14int、double、float、char、boolean引用数据类型String、数组内存分布不同使用上不同.三、数组的典型使用1、求最大值、最小值(打擂台)2、插入算法(找位置)3、冒泡排序数组存储5个数字下标:0 1 2 3 4外层循环内层循环i:0第一轮+ j比较次数:4 =4:length-1页脚内容15i:1第二轮+ j比较次数:3=4:length-1i:2第三轮+ j比较次数:2 =4:length-1i:3第四轮+ j比较次数:1=4:length-1i+j=数组.length-1j=数组.length-1-i共比较几次?5个数字:4+3+2+1=106个数字:5+4+3+2+1=157个数字:6+5+4+3+2+1=21n个数字:(n-1)+(n-2)+(n-3)+.....+1=n*(n-1)/24、Arrays类的使用常用方法:页脚内容16sort().....记得查API帮助文档(帮助文档已经在网盘中提供了,如果大家在Oracle官网中没有下载,可以找中心的技术顾问老师提供网盘用户名和密码,登录后拿到帮助文档)数据类型基本数据类型int double char boolean 。
java实习周记30篇

java实习周记30篇Ctrl+D收藏本站,我们将为大家提供更多关于2015年实习报告的信息,敬请期待!点击查看:实习报告网相关推荐:实习报告范文| 实习报告模板| 会计实习报告| 大学生实习报告| 顶岗实习报告| 金工实习报告| 毕业实习报告| 土木工程实习报告| 生产实习报告|实习周记| 3000字范文java实习周记30篇第一周实习第一个礼拜,算是适应期。
主要了解一些公司的背景、产品、发展方向等。
刚到实习公司,不是像学校里的朝九晚五,而是朝八晚九。
我们不可能简单的了解一些企业文化,简单的学学新的知识就可以了,我们的这个实习必将是一个繁忙的实习,也必将是一个充实的,进步的实习。
来到这里,我们要忘掉大学里自由的作息时间,克服困难,养成良好的工作生活习惯。
基于各方面的原因,虽然在去之前我们做了比较充足的准备,但还是遇到了一些困难,例如学习时间长,实战比较繁多,但时间又比较的短,难以保证按时按质按量完成。
下午下了班,员工们都回去了,我还在那儿练习,一直到晚上9点,才能回住处休息。
中午也没有休息的地方,只能趴在电脑前休息一会,一两周下来,相当地疲惫。
但我们都明白自己来实习的任务,都坚持着完成自己的任务和使命。
这个星期熟悉了工作环境、java编程的环境配臵。
等慢慢熟悉起来,做起事情也越来越顺手了.简单的总结为几个字,那就是:多看,多问,多观察,多思考! 第二周实习第二个礼拜,主要是熟悉java的基础语法,把基础打扎实,以后在开发中才能如鱼得水。
学习总结如下几点:1、类之间的关系:关联、聚合、继承、实现和多态。
2、基本数据类型:整数型、浮点型、字符型、布尔型。
3、常用逻辑语句和循环语句:switch 只支持int类型判断,没有写break易穿透至下一个循环,貌似增强了支持数据类型。
Break:强行退出循环;Continue:跳出当前循环。
5、修饰符:pbulic,private,protected,default。
【黑马程序员济南】 前端与移动开发就业班笔记DOM讲解Day01

【黑马程序员济南】前端与移动开发就业班笔记DOM讲解:Day01传智播客温馨提示:前四天学习了JS中的数据类型、条件表达式以及函数和对象的声明及使用,本节主要讲解DOM的基本概念及使用方法。
DOM基本概念DOM Document Object Model 文档对象模型就是把HTML文档模型化,当作对象来处理DOM提供的一系列属性和方法可以视作一个工具箱,极大地方便了我们对文档的处理。
内容概念文档(Document):就是指HTML或者XML文件节点(Node):HTML文档中的所有内容都可以称之为节点,常见的节点有元素节点、属性节点、文本节点、注释节点元素(Element):HTML文档中的标签可以称为元素结构概念父节点当前节点的父级子节点当前节点的子级兄弟节点和当前节点同属一个父级的节点获取元素getElementById()通过id寻找一个元素(找到的是一个元素对象)该方法只能被document对象调用(同一个文档中id不能重复)getElement s ByTagName()通过标签名寻找一类元素(找到的是由元素对象组成的伪数组)即可以被document调用,又可以被元素对象调用,被元素对象调用时表示在该元素对象内部执行查找设置属性元素对象.属性名= “属性值”;等价于<标签属性名=”属性值”>绑定事件事件三要素事件源.事件= function(){ 事件处理程序};等价于<标签事件=”事件处理程序”>对象方法中的this永远指的是该方法所属的那个对象常用属性常用标签属性DOM对象的属性和HTML的标签属性几乎是一致的,常用的有src、title、className、href和style其中className对应就是标签的class属性,但是由于class在JS中是关键字,所以变成了className内部文本属性innerHTML获取和设置标签中的内容,设置的内容会当作节点对象被解析到DOM树上innerText获取和设置标签中的内容,设置的内容会被当作普通文本(有兼容性问题,旧版ff不支持)textContent获取和设置标签中的内容,设置的内容会被当作普通文本(有兼容性问题,旧版IE不支持)可以通过能力检测封装一个自己的设置内部文本的方法并放到自己的JS工具包中\常用表单属性常见的表单元素属性有:type、value、checked、selected、disabledtype可以设置input元素的类型value可以设置input元素的值checked可以设置input元素是否选中selected 可以设置下拉列表select中的option是否被选中disabled 可以设置input元素是否被禁用文本框获取焦点和失去焦点获取焦点事件是onfocus 失去焦点事件是onblur (不是所有的标签都有这个事件) 更多详细内容可以查阅w3School自定义属性对象的自定义属性可以像给对象设置属性一样,给元素对象设置属性标签的自定义属性可以通过getAttribute()和setAttribute()设置和获取标签属性,通过removeAttribute()移除标签的属性正常浏览器中HTML中有规定的属性两种方式才可以相互设置和获取总之用setAttribute设置的就用getAttribute获取用对象的自定义属性设置的就用对象的自定义属性获取以免出问题节点节点类型node.nodeType1表示元素节点 2表示属性节点3表示文本节点节点层次所有获取节点相关属性都没有兼容性问题childNodes //子节点children //子元素虽然不是早期DOM标准中的方法,但是所有浏览器都支持nextSibling //下一个兄弟节点nextElementSibling //下一个兄弟元素有兼容性问题previousSibling//上一个兄弟节点previousElementSibling //上一个兄弟元素有兼容性问题firstChild //第一个节点firstElementChild //第一个子元素有兼容性问题lastChild //最后一个子节点lastElementChild //最后一个子元素有兼容性问题parentNode //父节点(一定是元素节点,所以无需处理)样式属性style属性是对象,style对象的属性是字符串style只能获取和设置行内样式DOM对象中style的属性和标签中style内的值几乎一样只是带有- 的属性名较为特殊(如background-color变成了backgroundColor),因为在JS中- 不能作为标识符设置和获取样式//通过对象的style属性只能设置和获取行内样式//获取样式的时候如果行内没有该样式输出空字符串//设置样式的时候赋的值是一个字符串如果这个属性有单位一定要节点加单位什么情况通过class控制样式什么情况通过style控制样式不严格的说://如果样式很多通过直接控制类名的方式加样式//如果样式比较少通过直接设置比较方便严格来说://从标准的角度讲即使是样式比较少的时候设置样式也要用类名//但是有一类情况是无论如何也必须直接通过JS加的那就是涉及到计算的时候动态创建元素插入和移除节点克隆节点要克隆的节点.cloneNode(布尔值);在父元素中的最后追加子元素father.appendChild(要追加的节点对象);在父元素中的某个子元素前面插入子元素father.insertBefore(要插入的节点对象,插到这个节点对象的前面);从父元素中移除子元素father.removeChild(要移除的子节点对象);清空父元素father.innerHTML=””;在清空内容的时候和事件相关的函数不会被销毁,任然遗留在内存中因此如果方便的话,建议使用father.removeChild(son)来清除动态创建结构方式一:直接在文档中书写document.write(“内容”)方式二:改变元素对象内部的HTMLinnerHTML=”内容”方式三:创建或克隆节点并追加createElement()cloneNode()通过这两种方法创建出来的元素只是保存在内存中,必须放到页面上才行!马程序员官网下载最新资料进行学习。
黑马程序员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、直接存储大体数据类型值也是可以的,因为后有自动装箱,会将大体数据类型转成对象,绝对不行。
Eg:(3)2、集合对象中存储的实际上是对象的元素的引用。
3、Add的参数是Object类型,可以接收所有的类型的对象,会出现向上转型,掏出元素时类型仍是Object不能利用具体对象的特有内容,想要利用特有内容向下转型。
Eg:Object obj="obj";想要掏出访问子类的特有方式,向下转型,String s=(String)();sop());|--List:有序列表(存取顺序是一致的)因为该子体系元素中有索引或角标,可以存储重复的元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// 传统方式1 Iterator iter = list.iterator(); while(iter.hasNext()) { String str = (String) iter.next(); // 将指针指向下一个位置,顺便返回当前指针指向的元素(引用) System.out.println(str); } System.out.println("----------------------"); // 传统方式2 for(Iterator iterator=list.iterator(); iterator.hasNext(); ) { String str = (String) iterator.next(); System.out.println(str); } // 增强 for 循环 for(Object obj : list) { System.out.println(obj); } /* * jdk5 新定义的接口 Iterable , 为了实现增强for循环 * 增强for循环内部实现
* if(list instanceof Iterable) * Iterator iter = list.iterator(); * iter.hasNext(); * obj = iter.next(); */ } // 双列 Map @Test public void test3() { Map map = new HashMap(); map.put("a", "aaa"); map.put("b", "bbb"); map.put("c", "ccc"); // 先取 key 再取 value Set keys = map.keySet(); Iterator keyIterator = keys.iterator(); while(keyIterator.hasNext()) { String key = (String) keyIterator.next(); String value = (String) map.get(key); System.out.println(key + "=" + value); } System.out.println("----------------------------"); // 取出所有 键值映射关系 Set entrys = map.entrySet(); Iterator entryIterator = entrys.iterator(); while(entryIterator.hasNext()) { Entry entry = (Entry) entryIterator.next(); System.out.println(entry.getKey() + "=" + entry.getValue()); } System.out.println("------------------------"); // 增强for循环 for(Object obj : map.entrySet()) { Entry entry = (Entry) obj; System.out.println(entry.getKey() + "=" + entry.getValue()); } }
黑马 JavaEE 3G+Android 就业班第 1 天
一、eclipse 工具使用 1. eclipse 是 ide 开发工具 , myeclipse 是插件 用于 javaee 开发 2. 快捷键: Alt+/ 代码自动补齐 可以在 templates 中配置模板 Ctrl + 1 代码自动修复 导包的三种方式 : ctrl+1 纠错 alt+/ 补齐的同时导包(集合会加上泛型) ctrl+shift+o 整理包 查看源码 需要导入源码 赋值行 alt+shift+向上向下键 自动声明变量 ctrl+2,L 光标切换到下一行 shift+enter 3. 断点调试 F5 step into 跳入 F6 step over 跳过 F7 stup return 跳出 查看源码最好的方式就是打断点 跳入 Resume 直接跳到下一个断点,如果后面没有了,结束方法的调用 三根蓝线 跳到当前方法栈的栈顶 4. junit 单元测试 注意: 所有的名称 workspace package project class 通通不要用中文和空格 二、jdk5 新特性 1. java 诞生于 1995 年,版本经历 jdk1.0—> jdk1.1 jdk1.2 (比较强大的一个版本)jdk1.3 jdk1.4 2005 年 , java 十周年推出了老虎版, jdk5.0 jdk6.0 jdk7.0 J2se javase javaee javame 2. 静态导入 Java 虚拟机在运行程序时会去哪找需要的类? 只会去 classpath 环境变量中配置的目录下去找 编译带包的 java 源文件 :javac -d . Person.java 带包的类在访问时,只需要将包所在的目录加到 classpath 中,使用 import 语句导入包 生成 jar 包, 俗称打 jar : jar –cvf cn.jar cn 访问一个 jar 包, 需要将整个 jar 文件加到 classpath 中 在 eclipse 中导入 jar 包 Java 工程 : 创建一个目录 lib , 将 jar 文件拷贝至此目录, 再加到 classpath 3. 自动装箱拆箱技术 Integer x = 1 ; x = x + 1; 装箱 拆箱 装箱 Java 针对包装类都提供了缓冲池 缓冲池容量有大小 以 Integer 为例 -128~127 4. 可变参数 向后兼容的问题 优先考虑 1.4 的语法,所以把一个数组作为一个可变参传入的时候,按照 1.4 的语法会被拆开 解决办法 转为 Object 类型, 强制不按照 1.4 语法 Object obj = (Object)strings; List list = Arrays.asList(obj); 创建一个 Object 数组,让虚拟机来按照 1.4 的语法拆 List list = Arrays.asList(new Object[]{strings});
5. 增强 for 循环 对各种容器进行迭代, 容器的迭代必须会
// 数组 @Test public void test1() { String[] arr = new String[]{"a","b","c"}; // 传统方式 for(int i=0; i<arr.length; i++) { System.out.println(arr[i]); } //增强for循环 for(String s : arr) { // 循环的次数等于容器的元素个数,每次循环将数组的一个元素赋值给 定义的变量 System.out.println(s); } } // 单列集合 collection @Test public void test2() { List list = new ArrayList(); list.add("a"); list.add("b"); list.add("c");
注意: 迭代集合的同时不能对集合进行增删操作 java.util.ConcurrentModificationException 在迭代集合的同时需要对集合进行增删元素,一定要调用迭代器的方法
ห้องสมุดไป่ตู้