登录 注册
当前位置:主页 > 资源下载 > 50 > 全套达内Java开发学习笔记(含配套练习)已整理完毕

全套达内Java开发学习笔记(含配套练习)已整理完毕

  • 更新:2024-06-10 17:54:44
  • 大小:546KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Java - 后端
  • 格式:ZIP

资源介绍

abstract (关键字) 抽象 ['æbstrækt] access vt.访问,存取 ['ækses]'(n.入口,使用权) algorithm n.算法 ['ælgәriðm] Annotation [java] 代码注释 [ænәu'teiʃәn] anonymous adj.匿名的[ә'nɒnimәs]'(反义:directly adv.直接地,立即[di'rektli, dai'rektli]) apply v.应用,适用 [ә'plai] application n.应用,应用程序 [,æpli'keiʃәn]' (application crash 程序崩溃) arbitrary a.任意的 ['ɑ:bitrәri] argument n.参数;争论,论据 ['ɑ:gjumәnt]'(缩写 args) assert (关键字) 断言 [ә'sә:t] ' (java 1.4 之后成为关键字) associate n.关联(同伴,伙伴) [ә'sәuʃieit] attribute n.属性(品质,特征) [ә'tribju:t] boolean (关键字) 逻辑的, 布尔型 call n.v.调用; 呼叫; [kɒ:l] circumstance n.事件(环境,状况) ['sә:kәmstәns] crash n.崩溃,破碎 [kræʃ] cohesion 内聚,黏聚,结合 [kәu'hi:ʒәn] (a class is designed with a single, well-focoused purpose. 应该不止这点) command n. 命令,指令 [kә'mɑ:nd](指挥, 控制) (command-line 命令行) Comments [java] 文本注释 ['kɒments] compile [java] v.编译 [kәm'pail]' Compilation n.编辑[,kɒmpi'leiʃәn] const (保留字) constant n. 常量, 常数, 恒量 ['kɒnstәnt] continue (关键字) coupling 耦合,联结 ['kʌpliŋ] making sure that classes know about other classes only through their APIs. declare [java] 声明 [di'klєә] default (关键字) 默认值; 缺省值 [di'fɒ:lt] delimiter 定义符; 定界符 Encapsulation[java] 封装 (hiding implementation details) Exception [java] 例外; 异常 [ik'sepʃәn] entry n.登录项, 输入项, 条目['entri] enum (关键字) execute vt.执行 ['eksikju:t] exhibit v.显示, 陈列 [ig'zibit] exist 存在, 发生 [ig'zist] '(SQL关键字 exists) extends (关键字) 继承、扩展 [ik'stend] false (关键字) final (关键字) finally (关键字) fragments 段落; 代码块 ['frægmәnt] FrameWork [java] 结构,框架 ['freimwә:k] Generic [java] 泛型 [dʒi'nerik] goto (保留字) 跳转 heap n.堆 [hi:p] implements (关键字) 实现 ['implimәnt] import (关键字) 引入(进口,输入) Info n.信息 (information [,infә'meiʃәn] ) Inheritance [java] 继承 [in'heritәns] (遗传,遗产) initialize 预置 初始化 [i'niʃәlaiz] instanceof (关键字) 运算符,用于引用变量,以检查这个对象是否是某种类型。返回 boolean 值。 interface (关键字) 接口 ['intәfeis] invoke vt.调用 [in'vәuk]' ( invocation [,invәu'keiʃәn]) Iterator [java] 迭代器, 迭代程序 legal 合法的 ['li:gәl] log n.日志,记录 [lɒg] native (关键字) ?? ['neitiv] nested [java] 嵌套的 ['nestid] '如:内部类(nested classes) Object [java] 对象 ['ɒbdʒekt] Overload [java] 方法的重载(不同参数列表的同名方法) [,әuvә'lәud] Override [java] 方法的覆盖(覆盖父类的方法) [,әuvә'raid] polymiorphism[java] 多态 (polymorphism 多形性[,pɒli'mɒ:fizm]) allowing a single object to be seen as having many types. principle n.原则,原理,主义 ['prinsipl] priority n. 优先级 [prai'ɒriti] process n. 程序, 进程 ['prɒses] protected (关键字) 受保护的,私有的 [prә'tektid] provide v.规定(供应,准备,预防)[prә'vaid] refer to v.引用 [ri'fә:][tu:] reference n. 参考(引用,涉及)['refәrәns]' -->reference variable 参量, 参考变量,引用变量 Reflection [java] 反射 [ri'flekʃәn] script n.手写体,小型程序 [skript] serialized vt.序列化,串行化 ['siәriәlaiz]'(serializable adj.)(deserialize反序列化,反串行化) Socket [java] 网络套接字['sɒkit] stack n.堆栈 [stæk] (对应 heap 堆) statement 程序语句; 语句 ['steitmәnt]' n. 陈述,指令 subclass n.子类 ['sʌbklɑ:s]' (supertype 父类) switch (关键字) 选择语句。 n.开关,道岔 [switʃ] synchronized (关键字) 同步(锁) ['siŋkrәnaiz] Thread [java] 线程 [θred] throw (关键字) throws (关键字) [θrәu] 抛出(异常) transient (关键字) 瞬变;临时的['trænziәnt]'(可序列化) valid 正确的,有效的 ['vælid] variable n.变量 a.可变的['vєәriәbl] volatile (关键字) 不稳定的['vɒlәtail] while (关键字) 循环语句。 当...的时候 [hwail] ORACLE_SID=oral10g\ --变局部变量 export ORACLE_SID --变全局变量 unset ORACLE_SID --卸载环境变量 ORACLE_HOME=... --安装路径;直接用一句语句也可以,如下 export ORACLE_HOME=/oracledata/.../bin: BufferedReader建构时接受java.io.Reader物件 可使用java.io.InputStreamReader 例: import java.io.InputStreamReader; import java.io.BufferedReader; class n{ public static void main(String[] args){ System.out.println("请输入一列文字,包括空格:"); BufferedReader s = new BufferedReader(new InputStreamReader(System.in)); String next; try{next = s.readLine();//此语句会抛异常,需处理 System.out.println("您输入了文字:" + next); }catch(Exception e){} }} 数值保存方式: 正数= 二进制 负数= 补码 补码= 反码 +1 正数=负数的补码(反码+1) 反码= 非(二进制数) 八进制数,零开头 011(八进制)=9(十进制) 十六进制数,零x开头 0x55(十六进制)=5*16+5(十进制) 类型:数据都必须有类型 boolean (8bit,不定的)只有true和false两个值 char 16bit, 0~2^16-1 (2^16=6万6) byte 8bit, -2^7~2^7-1 (2^7=128; 注意:两个 byte 数相加,变 int 型) short 16bit, -2^15~2^15-1 (2^15=32768) int 32bit, -2^31~2^31-1 (2147483648,20亿,10位有效数字) long 64bit, -2^63~2^63-1 (900亿亿,20位有效数字) float 32bit, 9位有效数字,含小数(四舍五入)(小数点算一位,正负号不算) double 64bit, 18位有效数字 注:float 和 double 的小数部分不可能精确,只能近似。 比较小数时,用 double i=0.01; if ( i - 0.01 < 1E-6) ... 不能直接 if (i==0.01)... 默认,整数是int类型,小数是double类型 long类型值,需跟L或l在数据后;float类型要跟f或F;或强制类型转换 科学计数法:12.5E3 类型转换默认序列: byte > short > int > long > float > double char 」 注意:默认类型转换(自动类型提升)会丢失精度,但只有三种情况: int>float; long>float; long>double. 看一下他们的有效位就明白。 二进制是无法精确的表示 0.1 的。 进行高精度运算可以用java.math包中BigDecimal类中的方法。 自动类型提升又称作隐式类型转换。 强制类型转换:int ti; (byte) ti ; 强制转换,丢弃高位 宣告变量名称的同时,加上“final”关键词来限定,这个变量一但指定了值,就不可以再改变它的值 如:final int n1= 10; n1=20; 这就会报错 输出命令: System.out.println() 会自动换行的打印 System.out.print() 直接打印,不会自动换行 System.out.printf() 可插入带 % 的输入类型,前两种只可以插入转义符, 不能插入 % 的数据或字符串 在 printf 里面,输出有5个部分 %[argument_index$][flags][width][.precision]conversion 以“%”开头,[第几个数值$][flags][宽度][.精确度][格式] printf()的引入是为了照顾c语言程序员的感情需要 格式化输出 Formatter;格式化输入 Scanner;正则表达式 输出格式控制: 转义符: \ddd 1到3位8进制数指定Unicode字符输出(ddd) \uxxxx 1到4位16进制数指定Unicode字符输出(xxxx) \\ \ \' ' \" " \b 退格(光标向左走一格) \f 走纸转页,换页 \n 换行 \r 光标回到行首,不换行 \t 跳格 %% % %d 输出10进位整数,只能输出Byte、Short、 Integer、Long、或BigInteger类型。(输出其他类型会抛异常) %f 以10进位输出浮点数,提供的数必须是Float、Double或 BigDecimal (输出Integer类型也抛异常) %e,%E 以10进位输出浮点数,并使用科学记号,提供的数必须是Float、 Double或BigDecimal %a,%A 用科学记号输出浮点数,以16进位输出整数部份,以10进位输出指数部份,数据类型要求同上。 %o (字母o)以8进位整数方式输出,限数据类型:Byte,Short,Integer,Long或BigInteger %x,%X 将浮点数以16进位方式输出,数据类型要求同上 %s,%S 将字符串格式化输出(可输出任何类型) %c,%C 以字符方式输出,提供的数必须是Byte、Short、Character或 Integer %b,%B 输出"true"或"false"(%B输出"TRUE"或"FALSE");另外,非空值输出true,空值输出 false %t,%T 输出日期/时间的前置,详请看在线API文件 /********找出各字符的Unicode值*******************/ class Test{ public static void main(String[] args) { String s= ""+0+'a'; //0=48,9=57 //A=65,Z=90;a=97,z=122;空格=32 int i = s.codePointAt(0); int j = s.codePointAt(1); //利用这codePointAt(int index)方法 System.out.printf("%d %d",i,j); }} /**********************************************/ 字符串的拼接: 字符串+数值=字符串 数值+字符串=字符串 如:str+10+20 ==str1020 而 10+20+str ==30str "+" 和 "+=" 都被重载了,具有合并字符串的能力,相当于 String 类里的 concat(); 运算: 算术运算: 加( +) 减(-) 乘( * ) 除( / ) 取余( % ) % 取余运算: 2%3=2 100%3=1 赋值运算符: = += -= *= /= %= (先运行完右边的,再跟左边的进行赋值运算;如 int i=10;i-=3*5;结果-5) <<= >>= 比较、条件运算: 大于> 不小于>= 小于< 不大于<= 等于== 不等于 != 逻辑运算: 短路运算(且 && 或 || ) 非短路运算(& | ) 反相 ! 短路运算:当前面一个表达式可以决定结果时,后面的语句不用再判断。非短路运算时,还照样判断后面的 位运算: &(AND) |(OR) ^(XOR异或) ~(补码)按位取反 = 加1再取反(全 1 的补码是-1) 移位运算: >> << >>> >>右移:全部向右移动,移到右段的低位被舍弃,最高位则移入原来最高位的值。右移一位相当于除2取商。 >>>同上,只是最高位移入0(不带符号)。因为最高位是符号位,所以负数跟 >> 有区别,正数没区别。 12>>>33 为12>>(33%32) = 12>>1 =6;因为int 型只有32位,认为全移走后就没意义 1 <<32 为1 instanceof():用户判断某一个对象是否属于某一个类的实例。 “==”双等于号,比较数值是否相等。还可以用于比较两个引用,看他们引用的地址是否相等。 在 Object 类里 equals() 跟“==”功能一样;但可以重载定义一个比较两者意义是否相等的方法。 在java里可以把赋值语句连在一起写,如: x=y=z=5; 这样就x,y,z都得到同样的数值 5 两个数相运算时,默认是 int 类型 如果有更高级的,就按高级的那个类型 if(其中一个是double型)double型; else if(其中一个是float型)float型; else if(其中一个是long型)long型; else int 型。 选择: if(...){...}else{...} if(...){...}else if(...){...} if(...){... if(...){...}} 三重以上的选择,建议使用 switch switch(char c){ case c1: ...; break; case c2: ...; break; ... default :...; } /*switch的括号里只能用 int 和 枚举类型 能隐式转换为 int 的也可以:byte,short,char,Integer,Short,Character,Byte等。 不能用 long、小数类型(float,double) 和 String。 case后的值必须是常量。而包装类变量(Integer,Character)不会被视作常量。*/ 循环: for(初始表达式; 布尔表达式 ; 步进 ) 循环语句; 跟C的 for 一样,for 的初始化条件、结束条件、增量都可以不写。 但条件判断部分只能是boolean值,所以只能是一条条件判断语句。 for 循环一般用在循环次数已知的情况。 while ()...; do...; while (); 注意:do 后最好用“{}”,while 后的分号 Day1: overview: 1.MVC概述 2.Struts框架 (技术概览) 3.Struts开发步骤 4.Struts新手上路 5.Struts详解 6.使用工具构建struts应用 软件开发的分层思想: 三层架构: 数据表现层 业务逻辑层 数据持久层 SUN的桌面应用 Swing AWT 普通Java类 JDBC SUN的WEB基本应用 JSP 普通Servlet JDBC SUN的WEB高级应用 JSF SessionBean Persistence WEB国内流行开源 Struts Spring Hibernate 一、 对象持久化的理论 1.对象持久化:内存中的对象转存到外部持久设备上,在需要的时候还可以恢复。 2.对象持久化的原因(目标): 物理: 1) 内存不能持久,需要在硬盘上持久保存 //(物理上,物理的都不是根本原因) 2) 内存容量有限,需要在容量更大的硬盘上保存 应用: 3) 共享(Internet的本质:信息的收集、整理、发布) //最重要的原因 4) 检索(大规模) //也很重要 5) 管理(备份、安全) 3.怎样进行对象持久化?(仅从JAVA方面讲) 物理: 1) 对象序列化 2) DB技术(JDBC 数据库) 4.怎样利用数据库做对象持久化? 1) JDBC 优点:功能完备、理论上效率高 缺点:复杂(难)、代码量大、面向R(过程;二维表关系) 2) EJB 仅讲Entity Bean 优点:封装JDBC 缺点:更复杂的API、重量级(侵入式)、功能不完备、难共享 缺点的后果:开发周期长、测试困难、面向过程 以上是 2.0之前的版本,但 3.0跟Hibernate基本一样 3) ORM 轻量级框架(Hibernate) 现阶段最佳的持久化工具:文档齐全、服务很好、工业标准、大量应用、易学 优点:封装JBDC、简单的API、轻量级(只做持久化)(用类库)、PO(持久对象)->POJO(纯JAVA)、开源 是网络传媒的一种发展趋势是一种理念,而不是技术。 Creativity-users as creators 创新 Collective intelligence 集体智慧 Client-side, rich capabilities 用户至上 Copyright/Copyleft 版权 没有真正1.0、2.0的定义 它们只是对网络信息发展过程所出现的特点的归纳 Web2.0的参考描述: 是以 以Blog、TAG、SNS、RSS、wiki等社会软件的应用为核心 依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式 Ajax概述: Ajax是由Jesse James Garrett创造的,是"Asynchronous JavaScript+XML"的缩写 Adaptive Path公司的Jesse James Garrett如是说: Ajax不是一种新技术,它把几种成熟的技术以新的方式组合而成,形成强大的功能,包含: 基于XHTML和CSS标准的表示; 使用document Object Model进行动态显示和交互; 使用XMLHttpRequest与服务器进行异步通信; 使用JavaScript绑定一切。 传统的Web应用是一个同步的交互过程。Ajax是异步的。 AJAX是一个客户端动态网页思想;综合整合使用HTML,CSS,JavaScript,XML等页面技术完成客户端显示功能,同时以XMLHttpRequest为核心的异步对象与服务端后台通信。 Ajax的优势: 减轻服务器的负担 AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。 带来更好的用户体验 无刷新更新页面,减少用户心理和实际的等待时间。 利用客户端的处理能力 可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。 进一步促进页面呈现和数据的分离。 常见的Ajax使用场景: 表单驱动的交互 深层次的树的导航 快速的用户与用户间的交流响应 类似投票、yes/no等无关痛痒的场景 对数据进行过滤和操纵相关数据的场景 普通的文本输入提示和自动完成的场景 Ajax不适用场景: 部分简单的表单 基本的导航 页面大部分需要更新 …… 缺点:不够JDBC灵活