ImageVerifierCode 换一换
格式:DOCX , 页数:146 ,大小:86.50KB ,
资源ID:5282460      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5282460.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA笔记完整版.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

JAVA笔记完整版.docx

1、JAVA笔记完整版1. BasicLinux 操作 1)Linux 是模仿UNIX的操作系统, 是山寨版的Unix 2)Linux 命令 pwd 打印当前工作目录 cd 改变工作目录 ls 显示目录的内容,默认显示当前目录内容 mkdir 创建目录 rm cp cat mv 源文件 目标文件 改名或者移动文件、文件夹 1)目标文件如果是新文件/文件夹 就进行改名操作 2)如果目标是已经存在的文件夹,就发送移动操作 3)源文件必须存在,否则有错误! more 分屏显示结果 grep 根据条件(正则表达式)在结果中过滤 telnet 远程登录命令 telnet 192.168.0.20 user:

2、 openlab pwd: open123 bash 切换Shell 为 ba Shell exit 离开命令 /sbin/ifconfig 查看当前电脑的IP地址 ssh usernameip ssh soft01192.168.23.124 登录到另外一台电脑 192.168.23.124 echo | 管道符合,作用:将第一个命令的输出,作为第二个命令的输入 如: ls /etc|more ls /etc|grep pass 在第一个命令结果中匹配,包含pass的行留下来 Java 应用开发 1)编写Java 源文件(文本文件)(记事本,Eclipse) 2)编译为.class 字节码文

3、件 3)使用Java 虚拟机执行 .class字节码文件 计算机只能处理 2进制的 数据和指令 java源文件是人能够看懂的 程序脚本 经过变编译器编译为计算机能够处理的 2进制数据和指令 在进一步有计算机执行和处理! 计算机只能处理数据!任何软件的功能最终都要转换为数据计算! JDK (文件夹 /opt/jdk 也可能是 /opt/jdk1.6.0_01) |- bin (java javac jar rmic jps native2ascii 等 命令) | 开发工具命令 |- lib (tools.jar) 是开发工具命令的实际实现 |- jre java 运行环境 |- bin jav

4、a_vm java 的虚拟机 |- lib |- rt.jar 是Java系统API库、系统类库 |- java.util.Scanner echo 命令: 回显 如:echo abc 就会在屏幕上显示 abc PATH 是Linux操作系统的环境变量 $PATH 是读取变量的值 echo $PATH 命令就是将$PATH 取回的变量值显示到屏幕 简单说就是看看PATH变量的值 PATH 变量的作用: 操作系统可执行命令的搜索路径,操作系统 在执行命令时候,逐一搜索PATH指定的路径,找到命令执行 如果找不到就报错误:command not found export 导出命令,可以用来修改环境

5、变量 export PATH=/bin 在终端窗口中的环境变量设置,只在当前窗口中生效。关闭就取消了 安装 JDK 以后要配置环境变量 1) 配置PATH,目的是将 Java 开发工具命令,扩展为系统命令 PATH=/opt/jdk/bin:$PATH export PATH 2) JAVA_HOME 环境变量是Java的环境变量,作用是指示java应用 软件找到 Java的安装目录 (/opt/jdk) JAVA_HOME=/opt/jdk exoprt JAVA_HOME 3) CLASSPATH 环境变量是Java的环境变量,作用是指示Java在 运行期间Java class文件的搜索位

6、置 CLASSPATH=. exoprt CLASSPATH Linux 系统的配置在:/etc/profile 文件中配置好了 /etc/profile 是系统初始化脚本,在系统开机时候会自动执行 2进制计数规律 二进制补码! 成本考虑, 为省钱! 以4位补码为例 1) 将高位为1的大数, 作为负数使用! 最高位称为符号位. 2) 计算时候如果超过4位数, 多出数位自动溢出舍弃. 3) 在不超过范围情况下, 补码运算满足数学规则 4) 缺点 数字有范围, 不能进行超范围计算 补码的取反对称现象: -n = n + 1 符号位扩展现象: 低位数补码扩展为高位数补码: 正数补0 负数补1 -5

7、的补码: -5 = 5 + 12. OopDay01对象:就是一件东西,任何存在的事物都是对象,一切皆对象。 对象在业务逻辑上是一个事物个体 对象在本质上是结构化数据 对象的每个数据成员称为对象属性(实例变量)类: 对象的类型,是名词概念, 本质上是对象的数据结构定义 类中声明的对象的属性 对象属性在类中声明,运行期间在堆内存中分配对象(对象属性) (不运行,Java中不分配内存)引用:引用变量,业务逻辑上引用对象的代词,本质上存储的值是对象的首地址,通过首地址间接引用了对象 引用类型变量的值,不是直接的对象,是通过地址间接访问对象。 应用本身不是对象。方法:对象的行为(功能) 如:方块的移动

8、。 方法的行为(功能)的实现是利用算法操作对象数据实现的重载的方法调用规则java根据参数类型,尽可能简单转换的原则 调用重载方法(就近原则) 5 先是int long float doubleDay02对象:“存在“的事物,本质是结构化”数据“ 如:一个窗口框(位置,宽高等),一个面板(大小),一个T型方块(4个格子),一个小格子(行,列,颜色)对象的属性(对象的数据),也称为:实例变量类:用类创建对象,需要先声明类,类是对象的抽象结构定义,对象的属性是定义在类中的 对象的属性是定义在类中的。使用new 运算调用构造在堆中分配内存创建对象。对象都在堆(内存)中创建。构造器:创建并且初始化属性

9、的过程。 名称与类名一致,不能声明返回值。可以有参数,参数是创建对象的前提条件。方法:对象的行为:moveDown() 方法是业务功能的体现,本质是利用算法操作数据(对象)实现。 继承:被继承的类型是父类型(Super Class)继承类型是子类型(Sub Class)1)子类继承父类中所有可继承资源 属性 如:cells 方法(私有除外) 如:moveDown() 所有子类共享了父类的方法2)私有方法不继承,构造器不可继承3)父类可以定义引用子类型实例,向上造型 Tetromino t = new I(); Tetromono t = new T(); 注意:Java 按照变量类型检查是否调

10、用方法。4)子类型可以利用重写(覆盖)修改父类型的方法。 如:paint()方法,修改了系统默认的绘图功能。 重写的方法,动态调用的是子类型对象的方法(动态绑定)。5)属性是根据变量类型进行访问的。6)默认构造器现象。implicit 含蓄的,暗示的,盲从的duplicate 复制,使加倍重载与重写的区别重写:是子类型定义与父类型”一样的方法“,用于子类型修改父类的方法!最重要的是”修改“!修改以后,在运行期间执行的是子类对象的方法父类型的方法就别替换掉(修改)了。语法:1)子类方法名与父类一样,参数与父类相同, 2)修饰词可以放大,异常可以具体化(小类型) 3)父类的私有方法,不能继承,就不

11、能别重写! 4)运行期间动态调用对象类型的方法重载:是类中(含父子类型) 方法名一样,功能类似,参数不同的方法。 1)方法名一样,参数列表不同的方法 2)目的是使API的设计更加优雅 3)根据方法名和参数的类型调用对应的方法 println(int) println(65); piritln(double) println(char(65); println(char) println(65.25);Day03访问控制(访问修饰):控制属性,方法,类的可见范围 public 修饰类,属性,方法,构造器,内部类等,在任何地方都可见 protected 只能修饰类的成员,在类体中使用,在当前pac

12、kage中可见(很少使用package作为访问范围),保护的成员主要留给子类使用的资源 默认的 在当前package中可见,很少使用 private 只能修饰类的成员,在类体中使用,是彻底封装,仅在类内部可见。使用原则:尽可能私有,留给子类使用保护。减少使用公有,默认的几乎不使用常见方式:私有属性,公有使用方法(get set方法)Java源文规格 package0,1 import0,n public class0,1只能有一个共有类,而且文件名与共有类一致 class 0,n一个文件中的多个类都是默认的 如果没有共有类,那么文件名和任意类名一致 只有共有类才能在其它包中访问,默认类只能在当

13、前包中访问 一般情况下,一个文件一个共有类!Day04static 静态的,可以修饰类的成员,在类体中使用 可以修饰 属性,方法,代码块 静态的资源都是属于类的 静态属性:是属于类的属性,在类加载期间初始化,并且只有一份,通过类调用 如:图片素材只加载一次就够了 静态方法:是属于类方法,使用类名调用,经常作为工具方法/工厂方法,静态方法没有隐含参数 this,与当前对象无关,不能访问当前对象(this)的方法,属性 静态代码块 :在类中声明,在类加载期间执行,只执行一次 用于加载一次的静态资源,如:图片素材final final class 不能被继承 final 方法 不能被重写 final

14、 变量 用的多,final变量只能初始化,不能再修改了 final int a = 5;/变量a 的值不能再次修改 /ary 是引用变量,值是地址值,通过地址间接引用了数组 final int ary = 5,6;/变量ary的值不能被修改了 ary = new int3;/错误 变量的值不能再修改了 ary 里面存放的数组的地址不能修改了 ary0 +=4;/可以修改static final 常量 定义软件中,不变化的常数:CELL_SIZE 命名:使用全大写命名,多个单词使用下划线隔开 区别:常量 与 字面量对象数组 元素是对象的数组,实际上元素是引用类型变量 Cell cells = n

15、ew Cell4;/创建数组,但元素是空 Cell line = new Cell10; cells = new Cellnew Cell(0,4),new Cell(0,3),new Cell(0,5),new Cell(1,4)二维数组本质上是一维数组抽象类 业务方面:表达了抽象的概念,与具体相反 抽象概念包括抽象行为,如:饮料 一定可以打开,由具体饮料类型决定 语法方面: 1)使用abstract 关键字定义抽象类 2)抽象类中可以定义抽象方法 3)抽象类可以定义变量,引用子类型对象 4)抽象类不能直接创建对象 5)抽象类只能被继承 6)继承抽象类,必须事项全部的抽象方法 Tetromi

16、no ,就应用的是抽象类 如果直接创建4格方块,移动的方法是不能够执行的改热键 这个方法可以给eclipse 恢复出场设置删除/home/tarena/works/.metadata/*源数据文件夹*/cd /home/tarena/works/.metadatals -arm -rf .metadata要启动eclipse 导入Day05尽量封装抽象类 1)使用abstract 关键字声明的类。 2)表示逻辑上的抽象概念,如:4格方块 3)抽象类不能直接实例 4)抽象类只能被继承 5)抽象类可以定义变量,引用具体类的实例 抽象类的实例是多种多样的-多态现象 如:4格方块的具体实例是多种多样的

17、 6)抽象类中可以定义抽象方法,代表必须由子类实现的抽象的功能,抽象方法规范了子类的方法。 抽象方法:使用abstract关键字定义,有方法名,没有方法体,必须有子类实现的方法。 抽象类:TimerTask 规范了子类必须实现run()方法。 实现API与使用者的约定。接口 1)是纯抽象类,接口(interface)中只能定义抽象方法,和常量 2)子类可以实现(implements)多个接口,就是Java中的多继承现象 3)接口可以定义变量,引用子类型实例 4)接口也用于定义软件的规约 内部类 1)在类内部,或者方法中定义的类 2)使用目的,是为了封装类的定义范围,在类内部使用 软件中类: 1

18、)共有类 任何地方都可见 2)默认类 当前包中可见 3)内部类 类内部 4)匿名内部类 当前方法中匿名内部类 - 匿名类 1)语法简洁: new Xoo(); 2)在方法中定义的内部类,作用域是当前方法。 3)内部类包括匿名内部类,都会编译为一个独立的.class文件(只要是类) 4)常用匿名内部类在方法中简洁的实现接口或者抽象类 5)匿名类中的方法经常被回调执行 如下代码:run()方法被定时器timer,在适当的时间,执行,实际上是将run方法交给了Timer, 由Timer在适当的时候,被Timer回调执行 Timer timer = new Timer(); timer.schedul

19、e(new TimerTask() public void run() System.out.println(HI); , 0, 1000);3. SeDay01Object类java中所有的类都直接或者间接的继承自Object。所以java有一句话是一切接对象当我们定义的类没有显示的继承任何类的时候jvm在编译时会自动默认将该类继承自Object这个是一个强制性的。所以,通常我们不需要显示的继承ObjectObject方法:public String toString():在Object中该方法返回的字符串为该对象的“句柄”。格式为类名hashcode。java定义Object的toStri

20、ng方法,希望我们在需要的时候可以重写。该方法的真是意图是返回能够描述该对象的一个字符串。equals方法public boolean equals(Object o)比较两个对象内容是否相等。Object对该方法的实现就是使用=实现的。所以毫无意义。若要判断两个对象内容是否相同,应重写该方法。定义对象内容的比较规则。对于引用类型来讲:=: 判断是否为同一个对象equals:判断两个对象是否长得像clone方法:public Object clone()该方法返回当前对象的一个副本。渐层复制实现。hashcode方法public int hashcode()返回一个int值。该方法在具有哈希算

21、法的地方非常有用。后面会讲。字符串String类java.lang.String类的实例用于封装一个字符序列。一个字符串中的每个字符都对应的是一个unicode编码,换句话说,一个字符对应两个字节保存在内存中。字符串内部维护着一个char数组。用于保存这个字符串。char占2字节,每个字符用unicode编码保存字符串对象为不变对象,一经创建不可改变。一旦对字符串进行修改操作,会创建新的对象java对字符串操作的优化java中允许我们将一个字符串字面量赋值给字符串引用类型变量。例如: 引用类型变量 字面量 String str = Hello; String str2 = Hello;在语法上

22、看来更像是对基本类型变量赋值。 处于性能的考虑,java对字面量产生的字符串进行了缓存。将他们缓存在字符串的常量池中。对于重复出现的字面量赋值,jvm会先查找常量池中是否有过这个字符串,若有则直接引用,减少字符串对象的创建。节省内存资源。字符串常用方法:String toLowerCase():将英文转换为小写String toUpperCase():将英文转换为大写String trim():去掉字符串两边的空白boolean startsWith(String prefix)查看当前字符串是否以给定字符串开头。boolean endsWith(String prefix)查看当前字符串是否

23、以给定字符串结尾。int length()返回当前字符串的字符总数int indexOf(String str)返回给定字符串在当前字符串中第一次出现的位置。这个位置是给定字符串首字符在当前字符串中的位置。若给定字符串在当前字符串中不包含返回-1int indexOf(String str,int fromIndex)从fromIndex指定的位置开始查找给定字符串是否在当前字符串中存在。int lastIndexOf(String str)返回给定字符串在当前字符串中最后一次出现的位置。char charAt(int index)返回当前字符串中指定位置的字符Day02字符串方法String

24、 substring(int startIndex, int endIndex)截取当前字符串,从startIndex开始截取到endIndex,并将截取的字符串返回。该方法截取的字符串不包含结束索引对应的字符。JDK中提供的方法,通常用两个int描述一个范围的时候,都是含头不含尾的重载方法String substring(int startIndex):截取当前字符串,从startIndex开始截取到字符串末尾,并返回。byte getBytes(String charsetName)将当前字符串按照给定的字符集进行编码,并返回编码后的字节数组编码:将特定的数据按照某种方式转换为2进制 的过

25、程称为编码 数据-2进制解码:将2进制的内容按照某种方式转化为特定 数据的过程称为解码 2进制-数据字符集编码:gbk:国标编码 简体中文编码集gb2312:繁体中文编码集iso8859-1:欧洲常用的一种编码集UTF-8:世界最通用的编码集。也是最常用的字符串中支持正则表达式的方法正则表达式:以一个特殊的字符串来描述一个格式。让程序按照这个格式去验证字符串。那么用于描述格式的这个字符串就是正则表达式。正则表达式的语法:方括号中可以列举出现的内容,任选其一 方括号代表一个字符。 abc:可以出现一个字符,只能是a或b或cabc:可以出现一个字符,但不能是abca-z:只能出现一个小写英文字母

26、a-z表示一项,只不过是一个范围a-zA-Z0-9:描述一个字符,可以是任意数 字或字母a-z&bc:a-z但不能是b或c.: .用来描述任意一个字符d:描述任意一个数字 等同于0-9D:描述任意一个非数字字符 等同0-9s:任意一个空白字符S:描述任意一个非空白字符w:任意一个单词字符 等同a-zA-Z_0-9W:任意一个非单词字符 等同w正则表达式中的量词?:表示前面的内容出现0-1次 w? 要么有要么没有一个单词字符*:表示前面的内容出现0-任意次 d* 任意个数字 0-9*+:表示前面的内容出现1-任意次 d+ 1个以上数字n:表示前面的内容出现n次 d11 出现11位数字n,m:表示

27、出现最少n次最多m-1次n,:表示出现n次以上():圆括号用于将其内部内容看做一个整体例如: abc+ : a ababa (abc)+ : abc abcabc w+a-zA-Z0-9+(.com|.cn|.net)+String split(String rex)拆分字符串根据给定的正则表达式,按照满足的部分进行拆分,将拆后的每部分存入数组并返回拆分时要注意,若根据拆分的正则表达式后面没有任何内容,则后续的拆分全部抛弃不要。String replaceAll(String rex,String replcement)将当前字符串中满足正则表达式的部分替换为给定的字符串,并将结果返回。com

28、mons-lang.jarApache的一个子项目该包对java.lang下的类做了一些功能上的补充。该包下有一个类叫做StringUtils该类提供了若干静态方法。这些方法是对java.lang.String类的功能的补充。Day03StringBuilder和String不同,该类的实例封装了一个可变字符序列。当我们需要对一个字符串进行频繁修改的时候,应首先选取该类来完成。常用构造方法:StringBuilder():创建一个不含有任何字符的StringBuilderStringBuilder(String str)创建一个包含str字符串的StringBuilderStringBuild

29、er提供了用于修改字符串内容的方法:append():向当前字符串末尾追加新内容delete():删除字符串中的部分内容insert():向字符串的指定位置插入新内容replace():替换字符串中部分内容为新内容StringBuffer用法和功能与StringBuilder一模一样。StringBuffer是线程安全的。Date类Date类的实例用于描述一个日期和时间在以后的开发中,我们仅仅使用该类的实例去描述一个时间。对于时间的操作,我们不要再使用该类来完成。Date的设计存在千年虫问题。构造方法Date():创建一个用于描述当前系统时间的 Date对象Date重写了toString方法,该方法返回的字符串是用来描述它所描述的时间的。常用方法:long getTime():获取当前对象描述的时间的毫 秒值所谓时间的毫秒值指的是从1970年的1月1日的0点0分0秒到这个时间点的毫秒值。SimpleDateFormat该类可以在Date与String之间相互转换。可以根据我们希望的格式将日期转换为字符串,反之也可以。DateFormatDateFormat是Sim

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2