java从入门到精通(韩顺平视频)笔记整理2

合集下载

最新韩顺平__jsp和selverlt原完整版课件_笔记_.doc

最新韩顺平__jsp和selverlt原完整版课件_笔记_.doc

最新韩顺平__jsp和selverlt原完整版课件_笔记_.doc◆背景知识介绍J2EE的13种技术java->servlet->jsp [技术总是有⼀个演变过程]zip粘贴到word设置◆回顾⼀下我们现有的技术java 基础(⾯向对象,集合,界⾯,线程,⽂件,⽹络)jdbc (java 的数据库编程)oracle / mysql / sqlserverhtml css javascript (web 开发) ->⽹页设计xmlserlvet+jsp ->java web开发[使⽤java技术做web开发]◆java ee 体系的介绍◆servlet项⽬演⽰◆web 开发介绍①静态页⾯(html)②动态页⾯1.⽤户可以输⼊数据,和页⾯交互(注册,购物,发帖⼦,付款...)2.不同时间打开页⾯,内容是变化.3.⽬前⽐较流⾏的左动态页⾯的技术( servlet/jsp , php , /doc/b83fffd680eb6294dd886c36.html , asp, cgi )◆动态⽹页技术的⽐较(了解)◆bs 和cs的⽐较(1)BS:browser server 浏览器服务器(2)cs client server 客户服务为什么需要的web服务器/web究竟是⼲什么的?模拟⼀个web服务器MyWebServer.javaimport java.io.*;import /doc/b83fffd680eb6294dd886c36.html .*;public class MyWebServer{public static void main(String []args) throws Exception{ServerSocket ss=new ServerSocket(80);Socket s=ss.accept();//提⽰⼀句话System.out.println("在9999 上等待连接...");OutputStream os=s.getOutputStream();BufferedReader br=new BufferedReader(new FileReader("d:\\hello.html"));String buf="";while((buf=br.readLine())!=null){os.write(buf.getBytes());}//关闭流br.close();os.close();s.close();}}◆通过tomcat来讲解BS结构◆安装tomcat服务器(1)解压即可(2)配置①在环境变量中添加JA V A_HOME= 指向你的jdk的主⽬录(并不是bin⽂件⽬录)②在不配置JA V AHOME的前提下启动tomcat 在startup.bat的第25⾏中添加set JA V A_HOME=JKD路劲(3)启动tomcat服务器到tomcat 主⽬录下bin/startup.bat(4)验证是否安装成功http://localhost:8080(8080是默认端⼝如果该端⼝已经被占⽤需要修改端⼝)◆tomcat安装后问题解决(1)tomcat⽆法正常启动的原因分析1.JA V A_HOME 配置错误,或者没有配置2.如果你的机器已经占有了8080 端⼝,则⽆法启动,解决⽅法(1) 你可以8080 先关闭netstat –annetstat –anb 来查看谁占⽤该8080(2) 主动改变tomcat的端⼝.到conf/server.xml ⽂件中修改server.xml的端⼝号)protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>(3) 能够正常启动,但是会导航到另外⼀个页⾯.去修改⼯具->管理加载项,把默认的导航给禁⽤即可.(4) 在访问tomcat时候,⼀定保证tomcat 服务器是启动◆tomcat的⽬录结构⽂件bin: 启动和关闭tomcat的bat⽂件conf: 配置⽂件-->server.xml: 该⽂件⽤于配置和server 相关的信息, ⽐如tomcat启动端⼝后,配置Host, 配置Context 即web应⽤-->web.xml : 该⽂件配置与web应⽤(web应⽤就相当于是⼀个web站点)-->tomcat-users.xml: 该⽂件⽤户配置tomcat 的⽤户密码和权限lib⽬录: 该⽬录放置运⾏tomcat 运⾏需要的jar包logs⽬录:存放⽇志, 当我们需要去查看⽇志的时候,很有⽤!,当我们启动tomcat错误时候,可以查询信息.webapps⽬录: 该⽬录下,放置我们的web应⽤(web 站点), ⽐如:建⽴web1 ⽬录下⾯放置我们的html ⽂件jsp ⽂件..图⽚... 则web1就被当做⼀个web应⽤管理起来(?特别说明tomcat 6.0 以后⽀持tomcat 5 版本还有别的设置)work: ⼯作⽬录: 该⽬录⽤于存放jsp被访问后⽣成的对应的server⽂件和.class⽂件如何去访问⼀个web 应⽤的某个⽂件◆⾸页⾯设置及⽬录规范结构现在我们要求:把hello.html⽂件设置成该web应⽤的⾸页,则需要把web应⽤的⽬录格式做的更加规范:①在web⽂件夹下配置WEB-INF⽂件夹②在web.xml ⽂件中添加配置的代码:hello1.html③通过http://localhost:8088/web1来访问hello1.htmlweb-inf⽬录下的classes⽬录将来是存放class⽂件lib ⽬录将来时存放jar⽂件web.xml 配置当前这个web应⽤的信息.◆tomcat如何去管理虚拟⽬录需求: 当我们把web 应⽤放到webapps⽬录,tomcat会⾃动管理,如果我们希望tomcat 可以管理其它⽬录下的web应⽤?->虚拟⽬录配置我在d 盘有⼀个web应⽤.◆虚拟⽬录配置步骤:①找到server.xml⽂件②编辑host节点添加Context path在server.xml中添加:myweb2:是访问时输⼊的web名,实际取出的是web2中的资源"d:\web2":绝对路径下web2中存放资源如:hello2.html实际访问时输⼊的地址:http://localhost:8088/myweb2/hello2.html绝对路径:从根分区找某个⽂件相对路径:从该⽂件位置去找另⼀个⽂件③需要重启tomcat,才能⽣效.(因为是采⽤的dom技术讲信息加载到内存中)◆context 的⼏个属性的说明path:docbase:reloadable;如果设为ture ,表⽰tomcat 会⾃动更新web应⽤,这个开销⼤,建议在开发过程中,可以设为true, 但是⼀旦真的发布了,则应当设为false;upackW AR: 如果设为ture ,则⾃动解压,否则不⾃动解压.①:打war包cd:d/web2 然后jar –cvf web2.war *②:浏览打好的war包Deploy发布后会在webapps中⾃动⽣存改⽂件◆配置域名我们看和⼀个如何配置⾃⼰的主机名:我们在实际访问⽹站的过程中,不可能使⽤http://localhost:8080/web应⽤/资源名的⽅式去访问⽹站,实际上使⽤类似/doc/b83fffd680eb6294dd886c36.html 或者/doc/b83fffd680eb6294dd886c36.html 的⽅式去访问⽹站,这个⼜是怎么实现的呢?看看ie浏览器访问⼀个web站点的流程.实现的步骤如下:(1) 在C:\WINDOWS\system32\drivers\etc 下的host⽂件添加127.0.0.1/doc/b83fffd680eb6294dd886c36.html(2) 在tomcat 的server.xml⽂件添加主机名(3) 在d:\web3 加⼊了⼀个/WEB-INF/web.xml 把hello2.html设为⾸页⾯如果连端⼝都不希望带,则可以吧tomcat的启动端⼝设为80即可.(4) 重启⽣效◆tomcat体系的再说明图:如何配置默认主机:在tomcat/conf/server.xml ⽂件◆为什么需要servlet技术?⽐如需求:我们希望⽤户可以贴,⽤户还可以回复....这样⼀些和⽤户可以交互的功能,⽤普通的java技术就完成不了, sun 就开发了servlet技术供程序员使⽤.◆servlet的介绍①servlet 其实就是java程序(java类)②该java 程序(java 类)要遵循servlet开发规范③serlvet是运⾏在服务端④serlvet 功能强⼤,⼏乎可以完成⽹站的所有功能⑤是学习jsp基础◆tomcat 和servlet 在⽹络中的位置servlet的⽣命周期是怎样的/servlet究竟是怎样⼯作的UML 时序图帮助⼤家理解参看execel⾯试题: 请简述servlet的⽣命周期(⼯作流程)答:标准版本:①WEB服务器⾸先会检查是否已经装载并创建了该servlet实例对象。

韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

java平台1、J2SE java开发平台标准版2、J2EE java开发平台企业版java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序。

不同系统上要安装对应的虚拟机才可以运行java程序开发步骤1、编写源文件(.java)2、编译源文件为类文件(.class)可用J2SE或J2EE编译3、在虚拟机上运行注释ava文件)2、java编译器即3、java字节码文件(.class文件)4、由解释执行器即将字节码文件加载到java虚拟器(jvm)5、字节码文件(.class)就会在java虚拟机中执行对程序进行改过使之变为一个简单的加法运算程序;.case 常量n:语句n;break;default:语句;break;}*****:switch中的可用数据类型主要是:允许byte,short,int,char,enum等1、单分支控制作业:请大家看个案例[]:编写一个程序,可以输入人的年龄,如果该同学的年龄大于18岁,则输出“你年龄大于18,要为自己的行为负责!”2、双分支控制作业:请大家看个案例[]:编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你年龄大于18岁,要对自己的行为负责!”否则,输出“你的年龄不大这次放过你了”3、多分支控制作业:请大家看个案例[]编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你年龄大于18,要对自己的行业负责,送入监狱”。

如果该同志的年龄大于10岁并且小于等于18,则输出“你的年龄也不小了,把你送少管所”。

其它情况,则输出“小孩子,下次注意”。

4、多分支控制作业:请大家看个案例[]请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,ga表示星期一,b表示星期二...根据用户的输入显示相应的信息,要求使用switch语句完成。

5、多分支控制作业:请大家看个案例[]对比switch与if语句在执行分支语句的区别。

最新韩顺平java笔记整理幻灯片课件

最新韩顺平java笔记整理幻灯片课件

servlet/jsp开发工具
普通的文本编辑器notepad,uedit32 集成开发工具jcreator,jbuilder,eclipse,editplus,netbean
servlet/jsp运行环境
Tomcat是一个免费的开源的servlet容器,它是Apache基金会的 Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司 及个人共同开发而成。
java.io.OutputStream
javax.servlet.ServletOutput
ng.Throwable
javax.servlet.UnavailableException
ng.Exception javax.servlet.ServletException
servlet中操作数据库
servlet操作数据库注意事项 需要将连接数据库的jar包,拷贝到tomcat服务器 具体有两种方法: 1)将jar包拷贝到tomcat目录下的lib文件夹里 2)在webapps目录的WEB-INF文件下建立一个lib文件夹,然后将 jar包拷贝到该文件夹下
4.因为session的各个属性要占用服务器的内存,因此软件公司都 是在迫不得已的情况下才使用
cookie vs session
1.存在的位置 cookie保存在客户端,session保存在服务器端 2.安全性 比较而言,cookie的安全性比session要弱 3.网络传输量 cookie通过网络在客户端与服务器端传输,而session保存在服务 器端,不需要传输
2.开发servlet(引入Tomcat文件夹下lib文件夹里的servlet-api.jar )
3.部署你的servlet(servlet开发流程)

jsp第2讲

jsp第2讲

LoginCl.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'LoginCl.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-<link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body>

韩顺平循序渐进学java从入门到精通(全知识点笔记整理)

韩顺平循序渐进学java从入门到精通(全知识点笔记整理)

Java韩顺平笔记第1讲内容介绍.项目演示.原理剖析1. 课程包括:java面向对象编程,java图形界面,java数据库编程,java文件i/o流,java网络编程,java的多线程2. Java历史:1990 sun 启动绿色计划 1992 创建 oak语言—> java1994 gosling 参加硅谷大会演示java功能震惊世界 1995 sun 正式发布java第一个版本,目前最新的是jdk7.03. java开发工具:记事本,jcreator,jbuilder,netbean,eclipse4. jdk包括:jre(java运行环境)java的工具:编译器javac.exe解释执行器java.exe java的类库:3600多个,常用的150多个5. 第一个程序://功能:显示―HelloWorld‖//public:表示类是公共的,一个文件中只有一个public类 //class:表示这个是一个类//HelloWorld:类名(公共类的类名,必须和文件名一样)public class HelloWorld {//一个主函数,程序的入口 public static void main (String args[]) { //执行语句System.out.println("helloWorld!"); } }6. Java源程序(.java文件)——>java字节码文件(.class文件)——>由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)——>字节码文件(.class)就会在java虚拟机中执行l,average); } }第2讲变量.数据类型1. 在java里面int占4个字节,long占8个字节2. Java基本数据类型:整数:(byte一个字节:-128---127 int四个字节:-2147483648---+2147483647short两个字节:-32768---+32767 long八个字节:)小数(浮点):float double布尔:boolean字符:char(两个字节,可以存放汉字, char test1 ='中';)引申到字符串(类)3.在java中对char进行运算的时候,直接是当做ASCII码对应的整数4.数据不能从高精度到低精度的转换Byte<short<int<long<float<doublefloat a=3.4;是过不去的,在java中小数默认是double(双精度)的应该写成是float a=3.4f;不过可以强制转换:int a=(int)1.2; intb=(int)1.95. int a=1;int b=a+1.2; a先是往高精度转换,然后赋给b,就报错改成int a=1;double b=a+1.2; 或者int a=1;float b=a+1.2f; 就解决了第4讲流程控制1. switch case语句中,switch条件表达式的数据类型应该和后面case的类型一致2. switch case语句中,可用的数据类型主要是:byte short int char enum第5讲类与对象1. 面向对象编程-类与对象类名首字母大写类里面的元素叫类的成员变量/属性2. 类的定义package 包名;class 类名extends 父类implements接口名{成员变量;构造方法;成员方法;}3. 如何创建对象:先声明再创建Cat cat1;cat1=new Cat();一步到位Cat cat1 =new Cat();4. 引用传递类似于指针一样第8讲this 类变量1. this属于类的对象的而不是属于类的2. 5this不能在类的外部使用,只能在类定义时候使用!3. 可以用类名直接访问静态变量第9讲类方法封装1.类变量是该类的所有对象共享的对象,一改全改了2.定义语法:访问修饰符static 数据类型变量名3. public class Demo9{static int i=1;static{System.out.println("zhixingyicile");i++;}//会自动执行一次,也只有一次public Demo9(){System.out.println("ffffffff");i++;}public static void main(String args[]){Demo9 t1=new Demo9();System.out.println(Demo9.i);Demo9 t2=new Demo9();System.out.println(i);}}4.类方法(静态方法、静态函数):属于所有对象实例的5.Java中:类变量(static)原则上用类方法(static)去访问;类方法中不能访问非静态变量,就是非类变量,但是普通的成员方法可以访问静态变量(类变量)使用:类名.类方法名对象名.类方法名6.非类变量就是实例变量,属于每个对象自己的7.Java面向对象编程的三(四)大特征:封装、继承、多态(、抽象)8.抽象:把一类事物的共有的属性和行为提取出来,形成一个物理模板,此研究问题的方法就是抽象9.封装:把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。

韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

java平台1、J2SE java开发平台标准版2、J2EE java开发平台企业版java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序。

不同系统上要安装对应的虚拟机才可以运行java程序开发步骤1、编写源文件 (.java)2、编译源文件为类文件(.class)可用J2SE或J2EE编译3、在虚拟机上运行注释//单行注释/* */多行注释java内容介绍java编程可以分成三个方向:1、java se (j2se)桌面开发 java中的基础中的基础2、java ee (j2ee)web开发3、java me (j2me)手机开发java se课程介绍java面向对象编程(基础)java图开界面开发java数据库编程java文件io流编程java网络编程java多线程编程java ee基础1java面向对象编程--数据库编程-->java sejava 基础2html--css--javascript-->div+cssjava ee中级部分Servlet--Jsp-->mvc模式java ee高级部分Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架java之父gosling1990 sun启动绿色计划1 | 4451992 创建oak语言-->java1994 gosling参加硅谷大会演示java功能,震惊世界1995 sun正式发布java第一个版本,目前最新是jdk7.0java开发工具记事本、(jcreator、jbuilder退出舞台了)、netbean、eclipse如何选择开发工具先选择记事本,对java有一定了解后再使用eclipse高级开发工具为什么呢?1、更深刻的理解java技术,培养代码感2、有利于公司面试java语言的特点1、java语言是简单的2、java语言是面向对象的3、java语言是跨平台(操作系统)的[即一次编译,到处运行]4、java是高性能的java第一个程序hello.java运行java程序要安装和配置jdkjdk是什么?1、jdk全称java dvevlopment kit中文java开发工具包2、jdk是sun公司开发的3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右)4、可以在下载**开发安装jdk,用户执行需要安装jre配置JDK添加环境变量即可windows下配置jdk在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。

韩顺平老师java视频课程笔记1-13课

韩顺平老师java视频课程笔记1-13课

JA V A学习记录第一讲//pulic:表示这个类是公共的,一个java文件中只能有一个public类//class :表示这是一个类//Hello:类名(公共类的类名必须和文件名一致)public class Hello{//一个主函数,相当于是程序的入口public static void main (String args[]){/* 多行注释*///System.out.println("hello");int a=10;// 定义一个变量,变量名位a,它的值为10// int为4个字节,long为8个字节int b=20;int result=a+b//输出结果system.out.println("结果是"+result)}}第二讲JA V A基本数据类型四大类型整数类型小数(浮点)类型基本数据类型布尔类型字符类型1.整数类型整数类型表示一个整数,常用的整数类型有:byte, short, int, long范围:byte 一个字节-128 – 127short 两个字节-32768 - 32767int 四个字节-2147483648 – 2147483647long 八个字节一个字节= 八个byte例:一个byte0 0 0 0 0 0 0 1 最高位为符号位0表示正数,1表示负数1 1 1 1 1 1 1 1 – 0 1 1 1 1 1 1 12.小数(浮点)类型常用类型有float, double3.布尔类型可以表示:真或者假,类型是boolean4.字符类型表示单个字符,字符类型是char,chai是两个字节,可以存放汉字。

多个字符称为字符串,在java中用String表示,String属于类。

.在java中,对char进行运算的时候,直接当做ascii码对应的整数对待。

(汉字则是unic码)定义变量int a初始化变量int a = 45给变量赋值int a ; a =45基本数据类型转换int a = 1.2 错误会损失精度double a = 4 正确数据类型可以自动从低精度向高精度转换。

韩顺平循序渐进学java从入门到精通课件笔记29讲到31讲

韩顺平循序渐进学java从入门到精通课件笔记29讲到31讲

韩顺平循序渐进学java从入门到精通课件笔记29讲到31讲项目经理:1、懂技术2、懂行业图形界面(gui)1、sun已经提供了一个跨平台gui开发工具包awt提供了好多类与接口。

但有缺点《致命的一个本地化lcd》2、sun又创建了一个swing框架,解决了lcd问题。

swing是awt的升级版本。

就是继承的关系。

3、IBM认为swing消耗内存,创建了一个新的gui库,就是swt。

4、IBM为了方便开发swt程序,在swt基础上又创建出一个更易用,功能强大的图形包JFace。

我们重点学习swing。

了解awt。

做图形界面在MyEclipse下开发。

Eclipse最早是IBM附属公司oti开发的。

是开源的,可扩展的开发环境,是最流行的java 开发工具,但是不能开发java ee项目,否则需要安装MyEclipse,现在一般都安装MyEclipse,不单独安装Eclipse。

IDE 集成开发环境。

(vs2005 jcreater MyEclipse等等)开发java的IDE:NetBeans jbuilder jcreater MyEclipseswing组件一览表JFrame是Frame的子类,JButton也属于容器类的布局管理器:通过布局管理器来管理控件的大小与位置。

共五种,常用3种,流式布局管理器,边界布局管理器,网格布局管理器,卡片布局管理器,网格包布局管理器第三十讲:边界布局管理器:将容器化为东南西北中五个区域,中间区域最大。

JFrame JDialog对话框自建默认的是边界布局。

注意事项:1、不是五个部件都必须添加2、中部组件会自动的调节大小3、JFrame JDialog默认布局管理器就是BorderLayout。

/***BorderLayout布局*1继承JFrame*定义需要的组件*创建组件(构造函数)*添加组件*对窗体设置*/package com.test1;import java.awt.*;import javax.swing.*;public class Demo8_2 extends JFrame {JButton jb1,jb2,jb3,jb4,jb5;public static void main(String[] args) {Demo8_2 dd =new Demo8_2();}public Demo8_2(){//创建组件jb1=new JButton("中部");jb2=new JButton("北部");jb3=new JButton("东部");jb4=new JButton("南部");jb5=new JButton("西部");//添加各个组件this.add(jb1,BorderLayout.CENTER);this.add(jb2, BorderLayout.NORTH);this.add(jb3, BorderLayout.EAST);this.add(jb4,BorderLayout.SOUTH);this.add(jb5, BorderLayout.WEST);//设置窗体属性this.setTitle("这是一个演示窗体");this.setSize(200,200);this.setLocation(500, 500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}}流式布局flowLayout,从左到右跟网页差不多注意事项:1、流式布局不限制所管理组件的大小,允许他们有最佳大小2、当容器被缩放时,组建的位置可能发生变化,但是组建的大小不发生变化(做编程时,通常不许窗口大小变化)3、默认组件是居中对齐的package com.test1;import java.awt.*;import javax.swing.*;;public class demo8_3 extends JFrame{//定义需要组建.JButton jb1,jb2,jb3,jb4,jb5,jb6;public static void main(String[] args) {demo8_3 demo=new demo8_3();}//构造函数public demo8_3(){//创建组件jb1=new JButton("关羽");jb1.setSize(100, 200);jb2=new JButton("张飞");jb3=new JButton("刘备");jb4=new JButton("诸葛亮");jb5=new JButton("曹操");jb6=new JButton("魏延");//添加组件this.add(jb1 );this.add(jb2 );this.add(jb3 );this.add(jb4 );this.add(jb5 );this.add(jb6 );//设置布局管理器,流式布局默认的是居中对齐this.setLayout(new FlowLayout(FlowLayout.RIGHT));//设置窗体属性this.setTitle("这是一个演示窗体");this.setSize(200,280);this.setLocation(500, 500);//禁止用户修改控件大小.this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);}}网格布局:网格布局容器分割为多行多列,将组件放在格中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.知道数组的大小:arr.length(成员属性) 4.引用在栈里面,对象在堆里面 5.对象数组:
4.对象、字符串的很多不能用”==”,用的话是表示地址相等,比较字符串的内容是否相等是用 equals 方法
5.
数组可存放同一类型数据
简单数据类型(int,float)数组,可以直接赋值
对象数组在定义后,赋值时候需要再次为每个对象分配空间【即是:new 对象】
b=a+1.2; 或者 int a=1;float b=a+1.2f; 就解决了
第4讲 1.
流程控制 switch case 语句中,switch 条件表达式的数据类型应该和后面 case 的类型一致
2.
switch case 语句中,可用的数据类型主要是:byte short int char enum
Java 从入门到精通笔记
第2讲 1.
变量.数据类型 在 java 里面 int 占4个字节,long 占8个字节
2.
Java 基本数据类型:
整数 :(byte 一个字节 :-128---127 int 四个字节:-2147483648---+2147483647
short 两个字节:-32768---+32767 long 八个字节: )
程序员用法:数组定义:数据类型 数组名[]=new 数据类型[大小]; 如:int arr[]=new int[5];
或者是 int[] arr=new int[5]; 或者是 int []arr=new int[5];
数组引用:数组名[下标] 没事找事用法:数组定义: int arr[]; arr=new int[5]; 或者是 int[] arr; arr=new int[5]; 或者是 int []arr; arr=new int[5]; 数组引用:数组名[下标] 古板用法:int a[]={1,2,3,4,5,6,7,8,9,0}; 数组引用:数组名[下标]
数组大小必须事先指定,如:int x;int a[]=new int[x];是可以的
数组名可以理解为指向数组首地址的引用 数组的下标是从0开始标号的
第十九讲 多维数组 1.多维数组,定义:
语法:类型 数组名[][]=new 类型[大小][大小] int a[][]=new int [2][3] 第二十讲 二进制 位运算 移位计算 1.0的反码和补码都是0 2.我们只会针对有符号的数才讲反码补码 3.java 没有无符号数,换言之,java 中的数都是有符号的 4.在计算机运算的时候,都是以补码的方式运算的 5.按位 与& 或| 异或^ 取反~ 6.~-2=-3(00000010->11111101->11111100->10000011) 7.2&3=00000010 2|3=00000011 ~-5=(1000 0101->11111010->11111011(补码)->00000100)4 8.有3个移位运算符: >>算术右移:低位溢出,符号位不变,并用符号位补由于移动而空出的高位 <<算术左移:符号位不变,地位补0 >>>逻辑右移: 9.记住:对负数操作就要先找补码!!!正数也是,只不过不边罢了。得到的结果如果是正数 就结束,如果是负数就再折腾一下,转变成原码才行。 10.-1移动任意位都是-1 11.1<<2(相当于是*4)=4,-1<<2(相当于是*4)=-4 12. 而对于有符号数,其左移操作还是逻辑左移,但右移操作是采用逻辑右移还是算术右移就 取决于机器了!(算术右移和逻辑右移的区别是:算术右移不右移符号位,即最高位,右移后 前补0还是1取决于符号位的值;逻辑右移执行时将移动符号位,右移后前补0)
第十二讲 多态 1.多态性:访问子类可以通过访问父类: Animal cat =new Cat(); Animal dog =new Dog(); 2.在使用多态的时候,如果有使用覆盖函数,那么被覆盖的方法(即是父类中的的那个相应的 方法)是要存在的。 3. 多态:一个引用(类型)在不同情况下的多种状态,可使代码更加灵活 4.java 允许父类的引用变量引用它子类的实例,是自动完成的
处于安全的考虑,类的某个方法不允许修改
类不会被其它的类继承 某些变量值是固定不变的,比如 pi 第15讲 讲题目 1.switch 只能对 int、short、byte 以及枚举类型进行判断,case 后面只能是常量表达是 2.猜拳的 java 程序设计:
有个人 Tom 设计他的成员变量,成员方法,和电脑猜拳,电脑每次都产生一个随机 数0,1,2,0表示石头,1表示剪刀,2表示布。请实现: 第16讲 数组 1.数组是可以存放多个同一类型的数据 2.用法:
小数(浮点): float double
布尔 :boolean
字符:char(两个字节,可以存放汉字, char test1 ='中';) (类)
引申到 字符串
3.
在 java 中对 char 进行运算的时候,直接是当做 ASCII 码对应的整数
4.
数据不能从高精度到低精度的转换 Byte<short<int<long<float<double
方法名相同 方法的参数类型,个数,顺序至少有一项不同 方法的修饰符可以不同
方法的返回类型可以不同 另外:
只是返回类型不一样并不构成重载 只是控制访问修饰符不一样不构成重载
第11讲 约瑟夫问题(丢手帕问题) 1.方法覆盖的:子类有一个方法和父类的某个方法名称、返回类型、参数一样 2.方法覆盖注意:
子类的方法的返回类型、参数、方法名称要和父类的一样,否则编译出错 子类方法不能缩小父类方法的访问权限,但是扩大是可以的,子类抛出比父类更少的异常
访问形式:接口名.变量名 21.一个接口不能继承其它的类,但是可以继承别的接口 22.接口体现了程序设计的多态和高内聚低耦合的思想
第十四课 final 作业评讲 1.实现接口和继承父类的区别: 2.java 是单继承,一个类只允许继承一个父类,这种单继承的机制可以保证类的纯洁性,比 C++的多继承机制简洁 3.实现接口可以看做是对单继承的一种补充 4.继承是层次式的,不太灵活,修改某个类就会打破这种继承的平衡,但是接口就不会,因为 只针对实现接口的类才起作用 5.用接口体现多态: 6.前期绑定:在程序运行之前就进行绑定,由编译器和连接程序实现,又叫静态绑定,如 static 方法和 final 方法,包括 private 方法,它是隐式 fi nal 的 7.后期绑定:在运行的时候根据对象的类型进行绑定,由方法调用机制实现,因此又叫动态绑 定,或是运行时绑定,除前期绑定外的所有方法都属于后期绑定 9.final 概念:final 可以修饰变量和方法 当不希望父类的某些方法被子类覆盖的时,可以用 final 修饰 当不希望类的某个变量的值被修改,可以用 final 修饰 当不希望类被继承时,可以用 final 修饰 10.final 修饰的变量一般用下划线书写 11.如果一个变量是 final 的,那么定义时候必须赋初值 12.final 修饰的变量又叫常量,一般用 XX_XX_XX 命名 13.final 什么时候用:
第5讲 类与对象
1.
面向对象编程-类与对象
类名首字母大写
类里面的元素叫类的成员变量/属性
2.
类的定义
package 包名;
class 类名 extends 父类 implements 接口名 {
成员变量; 构造方法; 成员方法; }
ห้องสมุดไป่ตู้3.
如何创建对象:
先声明再创建 Cat cat1;cat1=new Cat();
static {
System.out.println("zhixingyicile"); i++; }//会自动执行一次,也只有一次
public Demo9()
{ System.out.println("ffffffff"); i++;
}
public static void main(String args[]) {
第十三讲 抽象类接口 (难点重点) 1.父类方法的不确定性,用抽象类修饰这个方法,abstract。 2.抽象类还是可以一样被继承 3. 当一个类继承的类是抽象的类时候,就要把抽象类中的所有的抽象方法全部方法实现 4.用 abstract 关键词来修饰的时候,一定是抽象类和抽象方法 5.在使用中不多,公司笔试的时候考很多 6.抽象类不能被实例化,只有被继承以后再去实例化 7.抽象类不一定要包含 abstract 方法,就算没有 abstract 方法,也不能实例化它 8.一旦类包含了 abstract 方法,这个类必须声明为 abstract 9.抽象方法不能有主体“{}“ 11.接口不能被实例化 12.接口中的所有方法都不能有主体
一步到位
Cat cat1 =new Cat();
4.
引用传递类似于指针一样
第8讲 this 类变量
1.
this 属于类的对象的而不是属于类的
2.
5this 不能在类的外部使用,只能在类定义时候使用!
3.
可以用类名直接访问静态变量
第9讲 类方法 封装 1.类变量是该类的所有对象共享的对象,一改全改了 2.定义语法:访问修饰符 static 数据类型 变量名 3. public class Demo9 { static int i=1;
13.抽象类里面是可以有实现了的方法的 14.接口中的所有方法都不能有主体,即都不能被实现 15.接口是更加抽象的抽象类!!!! 16.一个类继承抽象类或是使用接口,那么就要实现所有的抽象方法 17.一个类可以实现多个接口 18.接口中可以有变量(但是不能用 private,protected 修饰) 19.接口中的变量本质上都是静态的,而且是 final,不管你加不加 static,所以可以直接使用: 接口名.变量名 20.在 java 开发中,经常把常用的变量定义在接口中作为全局变量使用
相关文档
最新文档