已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/这是我刚接触java时做的笔记, 后面也没去整理, 可能其中有些理解有误, 仅供参考!1、java中一个英文字母或一个中文汉字都是2个字节来存储.如:(char是16bit)2、+中的任何一端为字符串类型时,另一端会自动转换成字符串类型,如: 22+22,结果为2222 而与字符型数据相加时,字符型数据转换成整形数据,如:6+7+A,结果位 78 6+7+A ,结果为13A3、三元运算中,如果前面的表达式为True,则不计算后面的表达式的值, 如:.Three.Java 短路运算中,&如果前面为假,则不计算后面的表达式. |如果前面为真,则不计算后面的表达式.4、Tab与Shift+Tab5、do. while(.);最后有个分号6、if语句后面一定别加分号7、在witch语句的case语句后面一定要有个break;语句,否则会穿透;8、面向过程与面向对象 面向对象的设计思想:你不该去考虑实现一件事的具体步骤, 而是考虑实现这个事情时,都有什么类,这些类都要什么参数,这些类之间 都有什么关系,定他 们的方法9、每一个变量都是:先声明、再赋值、然后才能使用、10、局部变量Java没有默认的初始化, 成员变量在没赋值时,默认的初始化为0.11、我们的语言:成员变量 = 属性;方法 = 函数12、形参和局部变量一样,都存放在栈内存中 引用变量:首先在栈内存中有一块存储空间,指向堆内存中(堆内存中存放 变量中的参数,通 过栈内存可以找到堆 内存中的变量值)13、构造方法,和类重名,没有返回值; 当没有指定构造方法时,编译器为类自动添加形如:类名( ) 的构造方法,14、静态变量、字符串常量 放在data segment中。15、static声明的方法,即:静态方法中不再是针对某个对象调用,所以不可以访 问非静态的成员. 非静态方法 必须 是针对某个对象调用.16 如果你要把一个类放包里,在开头 你编译的文件必须放正确的目录里. 如果你想要在别处用这个类,必须把包的名写全了.(可以引入:import 包 名.*) class文件的最上曾包的父目录位于classpath下. 执行一个类也需要把目录写全17 子类拥有父类中private的变量,但没有访问权. class只能用public和default(省列)来修饰18 重写时,两个方法完全相同,最好是直接复制父类的方法.19 继承中的构造方法: 子类中的构造的过程 必须 调用其父类的构造方法; 子类可以使用super(参数)来调用父类的构造方法; 使用this(参数)可以调用当前类的另外的构造方法; 如果用super,必须写在子类构造方法的第一行; 如果子类的构造方法没有调用父类的构造方法,则系统默认调用父类中没有参数的那个构造方法; 如果子类的构造方法没有调用父类的构造方法,而父类中又没有不带参数的构造方法,则编译出错; 20 一个源文件中最多只能有一个public类,而且文件名必须与public类的类名相同;(包括大小写);21 声明为long类型时,必须在后面家 l 或 L ,否则会出错,如:(整型数据默认为int型); long i = 888888888L;/必须在后面加个 l 或 L . 同理,需要生命已个float的浮点型数据时,要在其后加 f 或 F .(浮点型数据默认为double型);22 数据类型按容量由大到小排序为: byte,short,char- int - long - float - double. byte,short,char三者不会相互转换,他们在计算机中计算时,首先会被转换成int型; 排序规则为:小转大,自动;大转小,强制. 大转小时可能会溢出,要小心/. 但可以把整型常量直接付值给byte,char,short,而不需要进行强制类型转换,只要不出超出范围即可.23 Java中调用方法: 对象名.方法名(实参); 类的定义: 成员变量 + 方法.24 各种变量的存放位置: ppt第22张.25 使用 new + 构造方法 创建一个新的对象; 构造方法是定义在Java类中,用来初始化对象的一个方法; 当没有指定构造方法时,编译器自动为类添加形如: 类名() 的构造方法.(ppt77)26 构造方法 :. 构造方法也可以重载. 方法的重载. 以定义有 相同名字 ,但 参数不同 的多个方法. 方法的重写. 方法的重写必须和 被重写的方法 具有 相同的名字,参数,返回值类型 . 继承中的构造方法. ppt119.子类的构造方法 必须 调用父类的构造方法,27 个权限的范围,ppt11528 this(参数),调用了自己类的另外一个构造方法. (教程31.练习)29 java -version .查看当前使用的java的版本. jar vcf xx.jar xx(路劲) 把文件夹xx中的所有内容打包成.jar文件.30 object类,它是所有类的跟点,所有类从它继承. equals类,两空值进行比较永远返回 false. Java中对 String类 中的 equals方法进行了重写. 用 引用变量 instanceof 类,来判断引用变量所指向的是否属于instanceof后面的类.31 编写时注意 = 和 = ,别老是想写等于,却写成32 对象的转型,父类的引用变量可以指向一个子类的 对象 ,但不可以访问子类中新增加的成员(方法和变量);33 多态.在执行期间(非编译期间)判断所引用类型的实际对象,根据实际对象调用其方法 1)要有方法的重写 2)要的继承 3)父类引用指向子类对象 (多态:实际new的什么类型,就是调用哪个的方法.)34 abstract:抽象方法 如:public abstract void enjoy(); /末尾有 分好 ,不需要大括号等. 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写. 抽象类不能被实例化,抽象方法只需声明,而不需实现.35 final关键字. final的变量的值不能被改变, final的方法不能被被重写 final的类不能被继承37 interface(接口). 接口中声明的变量默认为 public static final 的,也只能是 public static final的. 如: 在接口中定义 public static final int i; 和 int i; 是一样的,都是 public static final 类型的. 接口中只能定义抽象方法,而且默认为public的,也只能是public的,省列了public不写也是public的 接口可以继承其他接口,并添加新的属性和抽象方法. public interface Valuable(定义一个接口) implements38 异常. try .语句. catch(ArithmeticException ae) .语句.39 数组要先定义, int n; 然后再new, n = new int5; /这里的5是数组元素的个数,即数组的长度,非下标. 最后才能赋值. int3 = 3;40 二维数组. 在调用arraycopy方法之后,用于存放数组的那个二维数组的mi.length与被复制的那个数组的mi.length相同.41 String类. 下标是从0开始的, 方法public int indexOf(String str,int fromIndex),是从第fromIndex开始,str在数组中的位置 public String substring(int beginIndex,int endIndex),返回值不包含enIndex本身,42 流.节点流就是最基础的管道,处理流就是包装在外面的管道. 使用构造方法FileOutputStream(String s)时,如果没有那个文件,会自动创建.43 new FileOutputStream( ,true);可以接下去继续写入,以前的东西不会被覆盖掉.44 写入一个随机数:Math.random() 忽略大小写比较:equalsIgnoreCase() 在使用Data.Stream时,要遵循先进先出(队列); InputStreamReader(System.in); 关键字:transient,当系列化一个类时,使用transient修饰的变量被透明(即不会被读入); serializable接口,需要系列化的类都需要实现此接口,这个接口是个标志接口,(没有定义方法); externallizable接口,实现此接口可以自己定义类怎么被系列化;45 cpu在某一个时刻是但进程的.46 线程.启动线程一定要调用Thread类中的start()方法, 直接调用继承runnable类重写的run()方法,这只是方法的调用,是单线程; 在哪个线程中调用Thread.sleep()方法,就是让哪个线程进入睡眠. 在sleep的线程被打断时,会抛异常; run()方法一结束,线程就结束; synchronized锁定当前对象;如:public synchronized void add() 锁定当前执行该方法的对象; synchronized (this) 执行中的代码时,锁定当前对象.47 wait()是锁定在当前线程的对象停止;当wait时,释放锁(跟sleep不一样). 或说是导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法 notify(); 唤醒在此对象监视器上等待的单个线程。48 BorderLayout是Frame的默认布局方式 (分5区域); FlowLayout是Panel的默认布局方式 (流水式的); GridLayout(3,4) 网格布局方式 (3行4列);49 ppt中的错误之处 (1) ppt115中的defaut权限,子类可以访问 (2) ppt119最后一点写的不全面,当没有构造方法时,会自动创建一个无参数的构造方法; 应该表达为,当一个类中有构造方法,但又没有没有参数的构造方法,在其子类中的构造方法中如果没有调用一个已有的 构造方法,编译出错;50 数组用length String用length();51 得到绝对路径;getAbsolutePath();52 int hashCode()返回此 collection 的哈希码值。当 Collection 接口没有为 Object.hashCode 方法的常规协定添加任何约 束时,为了满足 Object.hashCode 方法的常规协定,程序员应该注意任何重写 Object.equals 方法的类必须重写 Object.hashCode 方法。需要特别指出的是,c1.equals(c2) 暗示着 c1.hashCode()=c2.hashCode()。 53 IO流 节点流:FileInputStream FileOutputStram FileReader FileWriter 处理流: 缓冲流.BufferedInputStram BufferedOutputStram BufferedReader (有readLine()方法) BufferedWriter 转换流.InputStreamReader(可以从键盘输入) OutputStramWriter 数据流.DataInputStream DataOutputStream 打印流.printWriter printStream (都是输出流,有自动flush功能); Object流.ObjectInputStram ObjectOutputStream transient(关键字,透明化) serialiable(可以被系列化的) externalizable(如果要控制系列化过程,实现此接口)54 Thread类 静态方法:public static Thread currentThread() 返回对当前正在执行的线程对象的引用。 关键字: synchronized(锁定当前对象) interrupt()(中断线程)55 toByteArray()对到ByteArrayInputStream()的那个数组; setEchoChar(char c);设置回显字符; setEditChar(booleam b);设置是否可编辑; public void paint(Graphics g)绘制此组件。 public abstract class Graphics public Object getSource() 最初发生 Event 的对象 56 eclipse的常用快捷键 Ctrl+/ 说明:添加/消除/注释,在eclipse2.0中,消除注释为Ctrl+ Ctrl+Shift+F 说明:自动格式化代码 Ctril+F6 说明:界面切换 Ctril+Shift+O 说明:自动引入所需要得包 Ctril+Shift+M 说明:查找所需要得包 alt + / ctrl + shift +/ 注释代码块;57 当一个float或double的数除以0,结果为:Infinity 而int,long去除,报错,by zero 子类继承父类,不能使用比父类更严的修饰符; public final class StringString这个类是final的,不能被继承. System.currentTimeMillis() 返回以毫秒为单位的当前时间 58 内部类可以非常方便的使用其外部包装类的方法或变量; 双缓冲, 常量名一般用大写(定义为常量,易于以后的更改,而且一般都是public static final的) Image createImage(int width, int height 创建一幅用于双缓冲的、可在屏幕外绘制的图像。(Component)59 持有对方的引用,可以在构造方法中构造;60 java.awt.Rectangle boolean intersects(Rectangle r) 确定此 Rectangle 是否与指定 Rectangle 相交 61 Java.awt.Toolkit.getDefaultToolkit();/获取默认的工具包; getImage(Strin fileName); getImage(URL) J2EE62 JDBC连接数据库: oracle数据库的连接串:jdbc:oracle:thin:localhost:1521:xsgl 驱动串:oracle.jbcd.driver.OracleDriver sql server数据库的连接串:jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=xsgl 使用多个statement时: jdbc:microsoft:sqlserver:/localhost:1433;SelectMethod=cursor;DatabaseName=xsgl 驱动串:com.microsoft.jdbc.sqlserver.SQLServerDriver mysql数据看的连接串: jdbc:mysql:/localhost/xsgl?user=sa&password=671354 驱动串: com.mysql.jdbc.Driver String sql = insert into stu values ( + sno +, + sname + , + sxb + , + skc + , + scj + );63 tomcat的配置: tomcat中conf目录下的context.xml中的的属性应配置成reloadable=true serlet.xml中的8080处,应加上 URIEncoding=GBK64 接口Servlet,实现他的有 抽象类GenericServlet,HttpServlet65 resp.setContentType(text/html;charset=gbk); 必须放在PrintWriter out = resp.getWriter();之前 且字符串text/html;charset=gbk必须是固定的写法;66 关于路径,将以协议开头或/开头的称为绝对路径; 没有的称为相对路径; web.xml中: /myfirstservlet(绝对路径) 这里的/表示webapp的路径; index.html中: (绝对路径) 这里的/表示域名的路径; (相对路径)67 Servlet生命周期: 加载 ClassLoader 实例化 new(在客服端请求第一次过来时;) 初始化 init(ServletConfig)(tomcat会在适当时间调用) 请求处理 service-protected service-doxxx(多线程的,线程池中找闲着的线程来处理;) 退出服务 destroy()当tomcat关闭,等原因造成tomcat重新加载时;68 String str = new String(getServletConfig().getInitParameter(name).getBytes(ISO-8859-1) , gbk); /字符编码转换;69 Map的方法entrySet(),返回值为: SetMap.Entry 返回此映射中包含的映射关系的 set 视图。 70 tomcat启动: catalina start; catalina stop; catalina debug -run(跟踪后台)71 Cookie的特点: 服务器可以向客服端写内容; 只能是文本内容; 客服端可以阻止服务器写入; 只能拿自己 webapp写入的东西; Cookies分两种,属于窗口(存放在内存中),属于文本(有生命周期); 一个servlet/jsp 设置的cookies能被同一路径下面或子路径下面的servlet/jsp读到, 而父路径不能读子路径的Cookies;72 Cookies: 服务器端写在客服端,长度有限制,只能是文本; Session: 写在服务端,有个Session ID号,在通过Cookies把ID号写到客服端; 跟路径无关,跟窗口有关; 有父子关系的窗口都访问同一个Session对象; 可以通过URL重写来解决Cookies被禁用的问题;73 符合j2ee标准的web-app的目录结构: 根目录下有: WEB-INF - classes u -web.xml u -lib74 /的含义n formu form提交中action的路径可以为虚拟路径,u 也可以为绝对路径,/代表/n web.xmlu web.xml中url-pattern为webapplication根路径,/代表/Test/ forward中 /表示wapp的根路径;75 乱码 场合:页面本身有中文的时候 解决办法:servlet:resp.setContentType(text/html;charset=gbk); Jsp: 注意:一定要写在PrintWriter out = resp.getWriter();之前 场合:解决get方式乱码问题: 解决办法:修改server.xml (在8080出加) URIEncoding=GBK 场合:解决post方式提交内容的乱码 解决办法:request.setCharacterEncoding(GBK); 注意:一定要写在存取第一个参数之前 不要调用response.setCharacterEncoding(GBK); 场合:jsp:param name=user value=/,url地址包含中文参数 解决办法: 注意: 总结: 首先修改server.xml (在8080出加) URIEncoding=GBK 然后在开头加上和 76 在Servlet中最好不要使用成员变量;77 mysql命令: create database xxx; 创建一个xxx数据库 use xxx; 进入xxx数据库 create table xxx; 创建一张xxx表.以(开头, 中间用,分开,以);结尾 show databases; 查看数据库 show tables; 查看表 desc xxx; 显示xxx表中的属性; select * from stud order by sno desc limit 1,2; (查找stud中第一条后数两条的结果) create table article ( id int primary key auto_increment, title varchar(14) ); 创建一个主键(id)递增的表; select now(); 显示当前时间 select date_format(now(), %y-%m-%d %h:%i:%s); 修改时间显示格式 启动服务: net start mysql 登入mysql: mysql -uroot -p 78 在Servlet中使用Bean和在通常程序中使用Bean类似: 属性名称第一个字母必须小写,一般private, 比如:private productId; 一般具有getxxx and setxxx; 要具有一个参数为空的构造方法; 但Bean不应具有GUI表现; 一般是用来实现某一业务逻辑或取得特定结果;80 中声明的变量,方法都只有唯一的一份(成员变量); 可以放java程序代码; =后面必须是字符串,或能装换成字符串的表达式(不能有分号). 相当与out.println(); 如: 与 功能相同 中的代码要加分号, 其他的都不要.81 :单行注释; :多行注释; :服务器端的注释; !- -:HTML注释,这里面注释java代码的内容会被服务器端执行到; javascript:是在客服端执行; : 是在服务器端执行;82 Directive-page: 83 Jsp的9个内置对象: request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application servlet正在执行的内容 out 用来传送回应的输出 config servlet的构架部件 page JSP网页本身 exception 针对错误网页,未捕捉的例外 84 静态包含: 编译前就已经包含起来了,包含起来再编译; 不能传参数; 两个页面共用一个resquest; 且两个contentType要相同; 两个页面的标签不要重复了; :最远原则; : 就进原则;85 动态包含: 可以传参数; 产生两个class文件;(被包含的只有到被执行到时才转换成Servlet) 两个request是不同的对象, 但被包含的页面可以取包含它的页面的参数,并添加自己的参数; 但包含页不能取被包含页的参数; 只有客服端的请求过来了才会被编译. /表示ip地址; 86 sendRedirect转向,response.sendRedirect(xx.jsp); 等于是先访问一个jsp,然后转向,等于又再ie中输入xx.jsp 再点转到; (转向后,原来那个页面的东西还会继续执行下去.) 可传参数,但取不到前一个页面的参数; jsp:forward转向: 在服务器内帮你转换,地址没变化; 可以取上一个页面的参数(request是不同的对象); forward后面的语句不会再被执行到; /表示wapp的根路径;87 jsp中使用javabean: 相当于 相当于 相当于 88 value= 与 param=ietmID 前者为单引号 一个汉字在utf-8中的编码是3个字节; 在gbk中是2个字节; 1个iso8859-1变成2个字节的utf-8 getContextPath() 得到的是: /my89 sta.executeUpdate(updata article set isleaf = 1 where id = + id); 更新数据库中isleaf为1, 在id=id处;90 ResultSet rs = sta.executeQuery(select count(*) from article where pid= + pid); 这句sql语句的作用是: 返回数据库中pid=*的所有记录,并记载一个新的字段中.91 提交到自己页面: 在form中加个隐藏的,然后判断; PreparedStatement psta = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); /注意; ResultSet rsKey = psta.getGeneratedKeys();92 select * from article where pid = 0 order by pdata desc limit 0,5 按pdata排序, 显示从0开始的后5个; 93 BBS总结: -js; sta.executeUpdate(update article set isleaf = 1 where id = + id); sql语句的使用; select * from article where pid = 0 order by pdata desc limit + start + , + pageSize; /order by pdata desc: 按pdata排序, limit 0,3:分页(从第0个开始的后3个;) onchange=document.form1.submit() / js; java,html,js混合使用;94 Directive(编译指令): 常见的有: page, include, taglib Action(动作指令): 常见的有: jsp:useBean , jsp:include, jsp:forward, jsp:plugin jsp:getProperty jsp:param 嵌入applet jsp:setProperty jsp:param用来设定include文件时的参数和对应的值 和编译指令include的区别 include编译指令是在JSP程序的转换时期就将file属性所指定的程序内容嵌入,然后再编译执行;而include指令在转换时期 是不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入 Include不能带参数, 而可以95 jsp中的javabean不能使用裸体类, 规范要求;96 的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 照明设计师诚信道德知识考核试卷含答案
- 水供应输排工诚信品质竞赛考核试卷含答案
- 2024年消防安全培训考试题(易错题)及答案
- 《GBT 30428.7-2017 数字化城市管理信息系统 第 7 部分:监管信息采集》专题研究报告
- 《GBT 2521.1-2016 全工艺冷轧电工钢 第 1 部分:晶粒无取向钢带(片)》专题研究报告
- 炼钢工岗后能力考核试卷含答案
- 实木及实木复合地板备料工岗位现场作业技术规程
- 公司数控火焰切割机操作工岗位职业健康技术规程
- 钢材热处理工岗前理论综合技能考核试卷含答案
- 地毯剪花工班组管理模拟考核试卷含答案
- 2025高考英语试题分类汇编:阅读理解七选五含解析
- 车间计件工资管理办法
- GB/T 7251.7-2025低压成套开关设备和控制设备第7部分:码头、露营地、市集广场、电动车辆充电站等特定应用的成套设备
- ICU无创机械通气护理查房
- 2025年工会专业知识考试题库及答案(真题版)
- 高速公路边坡治理总体施工组织设计(2025年9月19号)
- 2025新公安基础知识考试试题及参考答案
- 教师用餐补助管理办法
- 情绪与皮肤管理课件
- 健康梦中国梦课件
- 历史解释学前沿-洞察及研究
评论
0/150
提交评论