毕向东java基础总结(完整版)

合集下载

传智播客_Java培训_毕向东_Java基础[01-Java概述]

传智播客_Java培训_毕向东_Java基础[01-Java概述]
[2015-11-01 12:20:30.203] <ERROR> [network] CWebParser::GetVLFolderData(183) begin get GetVLFolderData
[2015-11-01 12:20:34.625] <DEBUG> [network] CXHttpConnection::HandlePacket(512) [http]:search.video.qiyi.domain/qiso3/?if=pc&type=list&pos=1&pageNum=1&pageSize=200&ctgname=%E7%94%B5%E8%A7%86%E5%89%A7&mode=10&site=iqiyi&p=11&p1=114&source_type=1&platform=1&three_category_id=15;must&has_item_link=1 0
[2002-01-01 12:20:28.750] <ERROR> [network] CWebParser::GetVLFolderData(183) begin get GetVLFolderData
[2015-11-01 12:20:28.140] <DEBUG> [network] CXHttpConnection::HandlePacket(512) [http]:search.video.qiyi.domain/qiso3/?if=pc&type=list&pos=1&pageNum=1&pageSize=100&ctgname=%E7%94%B5%E5%BD%B1&mode=10&site=iqiyi&p=11&p1=114&source_type=1&platform=1&three_category_id=1;must&has_item_link=1 0

Java基础[02-Java基础语法1]

Java基础[02-Java基础语法1]

北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 2.1 关键字
关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class long void 用于定义数据类型值的关键字 true if while return false else do null switch for case break default continue 用于定义流程控制的关键字 interface float byte double short char int boolean
—高级软件人才实作培训专家! 高级软件人才实作培训专家!
2.5.5 位运算符
位运算符
运算符 << >> >>> & | ^ ~ 运算 左移 右移 无符号右移 与运算 或运算 异或运算 反码 范例 3 << 2 = 12 --> 3*2*2=12 3 >> 1 = 1 --> 3/2=1 3 >>> 1 = 1 --> 3/2=1 6&3=2 6|3=7 6^3=5 ~6 = -7
• •
单&时,左边无论真假,右边都进行运算; 双&时,如果左边为真,右边参与运算,如果左边为假,那 么右边不参与运算。 “|”和“||”的区别同理,双或时,左边为真,右边不参与 运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时, 结果为false。
北京传智播客教育
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 2.3 注释
/** 这是我的Hello World程序。 @author 小强 */ class Demo { /* 这是主函数,是程序的入口 它的出现可以保证程序的独立运行, */ public static void main(String[] args) { //这是输出语句用于将括号内的数据打印到控制台。 System.out.println("Hello World"); } }

毕向东Java基础[07-IO]

毕向东Java基础[07-IO]

—高级软件人才实作培训专家! IO包中的其他类

操作基本数据类型
• DataInputStream与DataOutputStream • ByteArrayInputStream与ByteArrayOutputStream • CharArrayReader与CharArrayWrite


操作字节数组
• 当某一功能要重复使用时。
练习: 思考:
• 列出一个文件夹下所有的子文件夹以及子文件
• 1,删除一个目录的过程是如何进行的?
北京传智播客教育
—高级软件人才实作培训专家! IO包中的其他类

打印流

• 可以直接操作输入流和文件。 序列流 • 对多个流进行合并。 操作对象
—高级软件人才实作培训专家! 字符流——创建文件

创建流对象,建立数据存放文件
• • •
FileWriter fw = new FileWriter(“Test.txt”); fw.write(“text”);

调用流对象的写入方法,将数据写入流 关闭流资源,并将流中的数据清空到文件中。
fw.close(); 不写close方法会有什么结果呢? 如果想在原有文件上继续加入新的数据呢?

缓冲区的出现提高了对数据的读写效率。 对应类
• BufferedWriter • BufferedReader


缓冲区要结合流才可以使用。 在流的基础上对流的功能进行了增强。
北京传智播客教育
—高级软件人才实作培训专家! 装饰设计模式
对原有类进行了功能的改变,增强。 装饰模式的基本格式。 它与继承有什么不同? 了解BufferedReader的原理。 练习:

java知识点总结毕向东

java知识点总结毕向东

java知识点总结毕向东Java是一种面向对象的编程语言,由Sun Microsystems于1995年首次发布。

自从诞生以来,Java已经成为了世界上最流行的编程语言之一。

它具有跨平台、面向对象、强类型、自动内存管理、异常处理等特性,使其成为了各种类型的应用程序和系统的首选语言。

本文将从语法基础、面向对象、多线程、集合框架、IO流等方面对Java知识点进行总结,希望读者在学习和使用Java过程中有所帮助。

语法基础Java语言的语法基础包括了基本数据类型、变量、表达式、运算符、控制语句、数组等内容。

Java的基本数据类型包括整型、浮点型、字符型、布尔型,分别对应int、float、char、boolean等关键字。

在Java语言中,变量在使用前必须进行声明,声明变量的方式包括直接声明、赋初值、常量声明等。

表达式是由运算符、操作数和分隔符构成的符合逻辑的字符序列,运算符是用来操作操作数的符号,常用的有算术运算符、关系运算符、逻辑运算符等。

控制语句包括了条件语句、循环语句、跳转语句等,通过这些语句可以对程序的执行流程进行控制。

数组是一种引用类型的数据结构,用于存储多个相同类型的数据。

除此之外,Java还提供了很多其他的语法基础知识,如字符串操作、异常处理等方面,这些都是编写Java程序的基础。

面向对象面向对象是Java语言的核心特性,通过面向对象的编程方法,可以更好地组织代码,提高代码的可读性、可维护性和可扩展性。

Java语言中的面向对象包括了类、对象、封装、继承、多态等概念。

类是面向对象的基本单位,用来描述对象的属性和行为,对象是类的实例化。

封装是将数据和方法封装到一个类中,通过访问权限控制符来保护数据的安全性,使得类的实现细节对外部隐藏。

继承是一个类的定义可以建立在另一个类的基础之上,通过继承可以实现代码的重用,提高代码的可维护性。

多态是通过父类类型的引用指向子类对象,实现了不同对象对同一消息做出不同的响应。

传智播客_Java培训_毕向东_Java基础[06-集合]

传智播客_Java培训_毕向东_Java基础[06-集合]
北京传智播客教育
—高级软件人才实作培训专家! 基本数据类型对象包装类

将基本数据类型封装成对象的好处在于可以在 对象中定义更多的功能方法操作该数据。 常用的操作之一:用于基本数据类型与字符串 之间的转换。 例:Integer的parseInt方法,intValue方法。 例程
集合框架的构成及分类
北京传智播客教育
—高级软件人才实作培训专家!
集合框架中的常用接口
Collection接口有两个子接口: List(列表) ,Set(集)
List:可存放重复元素,元素存取是有序的。 Set:不可以存放重复元素,元素存取是无序 的。
北京传智播客教育


北京传智播客教育
—高级软件人才实作培训专家! 基本数据类型对象包装类新特性

JDK1.5以后,简化了定义方式。
• Integer x = new Integer(4);可以直接写成 • Integer x = 4;//自动装箱。 • x = x + 5;//自动拆箱。通过intValue方法。

北京传智播客教育
—高级软件人才实作培训专家! 集合框架中的工具类

Collections
• 对集合进行查找 • 取出集合中的最大值,最小值 • 对List集合进行排序 • ……

Arrays
• 将数组转成List集合 • 对数组进行排序 • 对数组进行二分查找
北京传智播客教育

返回值类型 函数名(参数类型… 形式参数) { 执行语句; } 其实接收的是一个数组,可以指定实际参数 个数。

北京传智播客教育
—高级软件人才实作培训专家!
Java 预热班讲义

毕向东 第1-2天 java基本常识

毕向东 第1-2天 java基本常识
set :用于查看本机的所有环境变量的信息。
set 变量名 :查看具体一个环境变量的值。
set 变量名=:清空一个环境变量的值。
set 变量名=具体值 :给指定变量定义具体值。
想要在原有环境变量值基础上添加新值呢?
首先,通过%变量名%操作符获取到原有环境变量的值。
然后加上新值后在定义给该变量名即可
在path中通过%%动态的获取JAVA_HOME的值即可。
JAVA_HOME=F:\jdk1.6.0_01
path=%JAVA_HOME%\bin;%path%
%path%:动态获取path环境变量的值。
%JAVA_HOME%:动态获取名称为JAVA_HOME环境变量的值。
既然class文件(字节码文件)是java的运行文件,可不可以实现,在任意目录下都可以执行某一目录下的class文件呢?
是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。
是一种面向Internet的编程语言。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
建议:配置classpath环境变量时,值的结尾处不要加分号,如果需要访问当前目录可以用 “.”表示。
public class ---{
}
public可以不加,加上了就要保证java名和class名一致,提升权限作用。
可以像配置java工具集bin环境变量的那样给java 类文件class配置环境变量。这样配置即可在使dos在任何文件夹的情况下运行该class文件。配置也分临时配置和永久配置。

毕向东[02-Java基础语法2]

毕向东[02-Java基础语法2]
北京传智播客教育
—高级软件人才实作培训专家! 作业安排

见:day03课堂练习、课后作业
北京传智播客教育
是根据某些条件,来控制循环。
北京传智播客教育
—高级软件人才实作培训专家! 2.3.4 其他流程控制语句
break(跳出), continue(继续) break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。 b,这个两个语句单独存在下面都不可以有语句,因为执行不到。 c,continue语句是结束本次循环继续下次循环。 d,标号的出现,可以让这两个语句作用于指定的范围。
—高级软件人才实作培训专家! 2.3.2 选择结构
switch语句
格式: switch(表达式) { case 取值1: 执行语句; break; case 取值2: 执行语句; break; …... default: 执行语句; break; }
北京传智播客教育
—高级软件人才实作培训专家! 2.3.2.1 选择结构练习
北京传智播客教育
—高级软件人才实作培训专家! 2.3.2 选择结构
switch语句特点:
a,switch语句选择的类型只有四种:byte, short,int , char。 b,结束switch语句的两种情况:遇到break,执 行到switch语句结束。 d,如果匹配的case或者default没有对应的 break,那么程序会继续向下执行,运行可以执行 的语句,直到遇到break或者switch结尾结束。
—高级软件人才实作培训专家!
Java语言基础
毕向东
北京传智播客教育

java各知识点详细总结(毕向东笔记整理)-(28075)

java各知识点详细总结(毕向东笔记整理)-(28075)

Java基础知识总结写代码:1,明确需求。

我要做什么?2,分析思路。

我要怎么做?1,2,3。

3,确定步骤。

每一个思路部分用到哪些语句,方法,和对象。

4,代码实现。

用具体的java语言代码把思路体现出来。

学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。

demo4,该技术什么时候用?test。

-----------------------------------------------------------------------------------------------一:java概述:1991 年Sun公司的James Gosling等人开始开发名称为Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。

2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

环境变量的配置:1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdkpath=%JAVA_HOME%\bin2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

毕向东Java基础[05-多线程]

毕向东Java基础[05-多线程]

—高级软件人才实作培训专家! 线程安全问题
导致安全问题的出现的原因: 多个线程访问出现延迟。 线程随机性 。 注:线程安全问题在理想状态下,不容易出 现,但一旦出现对软件的影响是非常大 的。
北京传智播客教育
—高级软件人才实作培训专家! 同步(synchronized)
—高级软件人才实作培训专家!
Java 预热班讲义
讲师:毕向东
北京传智播客教育
—高级软件人才实作培训专家! 多线程



进程 线程 多线程存在的意义。 线程的创建方式 多线程的特性
北京传智播客教育
—高级软件人才实作培训专家! 创建线程方式一
sleep():释放cpu执行权,不释放锁。
北京传智播客教育
—高级软件人才实作培训专家! 停止线程
1.
定义循环结束标记

因为线程运行代码一般都是循环,只要控制了循环即 可。
2.
使用interrupt(中断)方法。
该方法是结束线程的冻结状态,使线程回到
运行状态中来。
注:stop方法已经过时不再使用。
运行
sleep() run()结束 stop() notify()
冻结
stop()
消亡
sleep方法需要指定睡眠时间,单位是毫秒。 一个特殊的状态:就绪。具备了执行资格,但是还没有获取资源。
北京传智播客教育
—高级软件人才实作培训专家! 创建线程方式二
实现Runnable接口
子类覆盖接口中的run方法。 2. 通过Thread类创建线程,并将实现了 Runnable接口的子类对象作为参数传递给 Thread类的构造函数。 3. Thread类对象调用start方法开启线程。 思考:为什么要给Thread类的构造函数传递 Runnable的子类对象?

毕向东java基础总结(完整版)

毕向东java基础总结(完整版)

毕向东java基础总结(完整版)Java基础知识总结(超级经典)写代码:1,明确需求。

我要做什么?2,分析思路。

我要怎么做?1,2,3。

3,确定步骤。

每一个思路部分用到哪些语句,方法,和对象。

4,代码实现。

用具体的java语言代码把思路体现出来。

学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。

demo4,该技术什么时候用?test。

-----------------------------------------------------------------------------------------------一:java概述:1991 年Sun公司的James Gosling等人开始开发名称为Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;1,JDK:Java Development Kit,java的开发和运行环境,java 的开发工具和jre。

2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

环境变量的配置:1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdkpath=%JAVA_HOME%\bin2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

毕向东Java基础[08-GUI]

毕向东Java基础[08-GUI]

• • •
Command line User Interface (命令行用户接口) 就是常见的Dos命令行操作。 需要记忆一些常用的命令,操作不直观。


举例: • 比如:创建文件夹,或者删除文件夹等 Java为GUI提供的对象都存在java.awt和javax.swing两个包中
北京传智播客教育
—高级软件人才实作培训专家!
Java 预热班讲义
讲师:毕向东
北京传智播客教育
—高级软件人才实作培训专家! GUI(图形用户界面)


GUI • Graphical User Interface(图形用户接口)。 • 用图形的方式,来显示计算机操作的界面,这样更方便更直 观。 CLI
北京传智播客教育
—高级软件人才实作培训专家! 建立一个简单的窗体


Container常用子类:Window Panel(面板, 不能单独存在。) Window常用子类:Frame Dialog 简单的窗体创建过程:
• • • • •
Frame f = new Frame(“my window”); f.setLayout(new FlowLayout()); f.setSize(500,400);//设置窗体大小 f.setLocation(300,200);//设置窗体出现在屏幕的位置 f.setVisible(true);
北京传智播客教育
—高级软件人才实作培训专家! 例程


通过按钮关闭窗体。 在窗体中通过按钮创建按钮。 熟悉键盘事件与鼠标事件
北京传智播客教育
—高级软件人才实作培训专家! 演示示例
转到
在文本框中输入目录,点击“转到”按钮,将该目录中的 文件与文件夹名称列在下面的文本区域中。

毕向东Java学习笔记

毕向东Java学习笔记

Java基础学习笔记1.JRE和JDKJRE(Java Runtime Environment ):Java运行环境,包括Java虚拟机和Java所需的核心类库等。

JDK(Java Development Kit):Java开发工具包,供开发人员使用,JDK中包括了JRE。

其中的开发工具包括:编译工具(javac.exe )、打包工具(jar.exe等)2.静态(static)用法:修饰符用来修饰成员(成员变量、成员函数)static修饰内容被对象所共享。

被static修饰的成员可以直接被类名调用(类名.静态成员)特有数据随对象存储static特点:1.随着本类的加载而加载,随着类的消失而消失。

2.优先于对象存在(静态先存在,对象后存在)。

3.被所有对象所共享。

4.可以直接被类名所调用。

实例变量和类变量区别:1.存放位置:类变量随类的加载存在于方法区中。

实例变量随对象的建立而存在于堆内存中。

2.生命周期:类变量生命周期长随着类的消失而消失。

实例变量生命周期随着对象的消失而消失。

静态使用注意事项:1.静态方法只能访问静态成员,非静态方法既可以访问静态也可以访问非静态。

2.静态方法中不可以定义this super关键字,因为静态优先于对象存在所以静态方法中不可以出现this。

3.主函数是静态的。

静态的利弊:利:对对象的共享数据进行单独空间的存储节省空间;可以直接被类名调用;弊:生命周期过长;访问出现局限性。

什么时候使用静态?1.当对象中出现共享数据时,该数据被静态所修饰。

对象中的特有数据要定义成非静态存在于堆内存中。

什么时候定义静态函数?当功能内部没有访问到非静态数据(对象的特有数据那么该功能可以定义成静态的)每一个应用程序中都有共性的功能可以将这些功能进行抽取独立封装以便复用。

将方法都静态后可以方便使用但该类还可以被其他程序建立对象为了严谨强制让该类不能建立对象可以通过将构造器函数私有化完成。

静态代码块:static{ 静态代码块中执行的语句} 特点:随着类的加载而执行用于给类进行初始化。

Java基础教程(毕向东老师讲的)

Java基础教程(毕向东老师讲的)

1.基本常识:命令提示符dir 列出文件md 创建文件夹rd 删除文件夹(doc 里面删除出文件夹必须保证这个文件夹是空的,del 命令可以删掉文件夹)cd 进入文件夹里cd.. 返回上一级目录cd\ 退到根目录echo kobe>1.txt 创建文件del 1.txt 删除文件2.java 的跨平台性用java编写的软件在不同的操作系统上可以完成(C++ 不行),在每个系统上装上java 虚拟机就可以运行java程序3.java 环境搭建Jre java 运行环境(包括虚拟机)jdk java 开发工具包4.java 环境变量配置直接设置:打开“我的电脑”的“属性”,选择“高级”菜单,点击下方的“环境变量”按钮。

D:\Java\jdk1.6.0_14\bin 目录添加到用户变量的path中(已经有的变量值不能删除)%% :动态的获取某一环境变量的值环境变量临时配置方式:set 可以查看和编辑环境变量的值Start 打开新的DOC 命令窗口5.HelloWorld想在任何目录下运行class 文件就建立一个临时classpath 环境变量:放原来的class 文件的路径,具体演示方法在下面:设置完以后set classpath=就表明对环境变量清空Set classpath=c\; 在classpath 中找不到就到当前目录Set classpath=c\ 只在classpath中找要运行的class文件(不加分号比较好,推荐)Path 跟classpath 相反,path 先在当前目录下寻找,要是没找到就去path环境变量中去找(Set paht=c:\Windows cmd--->write.exe 写字工具弹出来)6.注释// 表明单行注释/*多行注释*/多行注释中不能包含多行注释7.标示符8.常量单引号里面只能有一个字符‘a’“abc”进制转换:负数的二进制:负数的最高位是1变量:至于划分这么多类型是因为,在内存中为每个数据类型划分的内存大小不一样Byte:8个二进制(-128-127)short:16个二进制int:32个二进制位定义变量-----> int x=4;类型转换:算术运算符:余数(取模):5%2=1 5%5=0 1%5=1 要是负数就看左边:-1%5=-1 自增:a++; //-------> a=a+1;b=a++; //先把a的值赋给b,然后a再自增b=++a; //先a加1,然后再赋值转义字符:常见的转义字符:带双引号的Hello转义字符额写在被转移的字符前赋值:x+=4; ---->x=x+4;比较运算符:逻辑运算符:int a=2;a>3 && a<6结果:false (&&短路)但是左边对的时候右边必须运算位运算符:左移右移>> 和>>> 比较:与运算:& 或:| 异或:^异或技巧:(加密解密算法)不用第三变量互换两整数值:这样也可以:互换取二进制中最低四位的技巧:/**/ (char)(12-10)+’A’=C60的16进制:3C三元运算符:判断结构:If else 和三元运算符:If 练习:选择结构:特点:一般使用int 和char 类型,case 是没有顺序(先开始读case,最后才读default),结束方式有两种:1.遇到break 2.遇到下面的大括号}最后一个break 可以不写Switch 练习题:If 和switch 的区别:循环结构:(Ctrl+c 结束命令行操作)循环语句简单练习:基本格式:区别:for 语句循环:(小技巧:清屏----------》cls) While 和for 的区别:循环语句练习:累加思想:计数器思想:For语句嵌套:对于打印长方形:外循环控制行数,内循环控制列数打印三角形时定义一个变量:z九乘九乘法表:其他流程控制语句:标记要跳出的循环:continue打印等腰三角形:另一种:函数:最简单函数(方法定义)public static 是修饰符然后在主函数里调用并打印:函数的特点:定义一个函数并在主函数中调用:函数的应用:(编写一个函数的思路)自己练:比较两个数像不像同:取两个数中较大者:获得星星:九乘九算法:函数的重载:重载只和参数列表有关系数组:内存结构:数组中常见的问题:数组的遍历:数组的长度:数组名.length(); 定义一个方法:去掉最后逗号:数组获得最大值:另一种情况:选择排序:冒泡排序:排序最快的是希尔排序数组的查找方法:-1就表明该key在数组中不存在折半查找的第一种做法:折半查找的第二种做法:返回一个min就可以找到8在数组中应该存在的位置,要是数组里本来有8也返回到4打印011要是想打印110(特殊方法,不要误解sb的意思)10进制转化成16进制查找法:十进制转化成二进制:二维数组:二维数组的应用:定义方式有多种:面向对象:从执行者(过程)-----》指挥者(对象)类与面向对象:成员变量和局部变量匿名对象:也可以不起名字直接写:new Car( ).num=4;匿名对象的第二个调用:封装:变量的两种方式:1.设置2.获取构造函数:。

毕向东JAVA笔记

毕向东JAVA笔记

Java笔记1、构造函数:对象一建立就会调用与之对应的构造函数。

构造函数的作用:可以用于给对象进行初始化。

构造函数的小细节:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。

当在类中自定义了构造函数后,默认的构造函数就没有了。

构造函数和一般函数在写法上有不同。

在运行上也有不同。

构造函数是在对象一建立就运行。

给对象初始化。

而一般方法是对象调用才执行,给是对象添加对象具备的功能。

一个对象建立,构造函数只运行一次。

而一般方法可以被该对象调用多次。

2、this语句this语句:用于构造函数之间进行互相调用。

this语句只能定义在构造函数的第一行。

因为初始化要先执行。

3、主函数主函数:是一个特殊的函数。

作为程序的入口,可以被jvm调用。

主函数的定义:public:代表着该函数访问权限是最大的。

static:代表主函数随着类的加载就已经存在了。

void:主函数没有具体的返回值。

main:不是关键字,但是是一个特殊的单词,可以被jvm识别。

(String[]arr):函数的参数,参数类型是一个数组,该数组中的元素是字符串。

字符串类型的数组。

主函数是固定格式的:jvm识别。

jvm在调用主函数时,传入的是new String[0];4、静态静态:static。

用法:是一个修饰符,用于修饰成员(成员变量,成员函数).当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用:类名.静态成员。

static特点:1、随着类的加载而加载。

也就说:静态会随着类的消失而消失。

说明它的生命周期最长。

2、优先于的对象存在明确一点:静态是先存在。

对象是后存在的。

3、被所有对象所共享4、可以直接被类名所调用。

实例变量和类变量(静态的成员变量)的区别:1、存放位置:类变量随着类的加载而存在于方法区中。

实例变量随着对象的建立而存在于堆内存中。

2、生命周期:类变量生命周期最长,随着类的消失而消失。

java基础(集合框架)-传智播客-笔记---毕向东

java基础(集合框架)-传智播客-笔记---毕向东

Static 关键字静态不可以访问非静态而非静态的可以访问静态的Main主函数集合框架集合的共性方法:ArrayList al=newArrayList();1.al.Add(“123”);添加元素j2.al.remove(“123”);删除指定元素3.al.clear();清空集合4.al.Size():集合的长度5.al.Contains();判断元素是否存在6.al.isEmpty();判断集合是否为空7.al.retainAll(al2);取交集al里边保存的是al与al2 的交集部分而al2里的数据是不会发生改变的!8.al.removeAll(al2);移除al集合中与al2相同的元素al2不会发生改变Iterator();迭代器当调用这个方法时会返回一个iterator类型的对象迭代器是一个内部类有hasnext();,next();,remove();三个方法1.hasnext判断是否有下一个方法返回true或false2.next获取迭代的下一个元素List集合体系list集合元素是有序的元素可以重复具有索引List特有的方法增add(index,element);定点插入al.add(1,”java”);addAll(index,Collection);从指定的位置开始,将指定collection 中的所有元素插入到此列表中。

向右移动当前位于该位置的元素(如果有)以及所有后续元素(增加其索引)。

新元素将按照指定collection 的迭代器所返回的元素顺序出现在列表中。

删remove(index);删除指定角标位置的元素改set(index,element);更改指定角标位置的元素查get(index);获取角标的元素sublist(from,to);从from位置开始取到to包括from不包括tolistIterator();list集合特有的:列表迭代器是迭代器的子接口在迭代的时候不可以通过集合对象的方法来操集合否则会发生并发异常!listIterator定义了多种方法add();添加在java02后边添加一个java009set();更改java02为java006Hasnext();判断后一个是否有元素,返回true(有)或false(没有)hasPrevious();判断前一个是否有元素,返回true(有)或false(没有)List类特性1.ArrayList(只依赖equals方法判断元素)底层是数组结构ps:自己理解“也就是有角标的结构像数组一样”:查询速度很快,增删稍慢(一动后边了也要动导致慢)线程不同步2.LinkedList使用的是链表数据结构,要查找一个比如说C那就要从A开始查直到C:增删速度很快查询的速度稍慢2.Vector数组数据结构线程同步被ArrayList替代了在jdk1.0中出现ArrayList在1.2出现ArrayList为数组结构所谓的长度可变是重新new的:arrayList默认的长度是10当超过10后就按50%增长(此时为15)重新new一个数组然后把数据拷贝进来vector则是按100%延长枚举是vectot的特有取出方法3.LinkedList的特有方法addFirst();addLast();getFirst();获取元素但不删除getLast();removeFirst();获取元素但删除removeLast();以上方法在jdk1.6中出现了替代方法之所以会被替代是因为他在列表为空的时候会报错Set集合体系Set元素是无序的(存入和取出的顺序是不一定一致的)元素不可以重复HashSet是set集合体系中最为普通最喜使用的,set集合通过hashcode()方法和equals()方法来保证内部数据的唯一性!TreeSet有序但不允许重复的集合,Treeset使用comparable接口实现的排序自己可以重写compareTo方法定义自己的排序方式前提是要实现comparable接口Treeset底层数据结构是二叉树在treeset集合中元素必须具备比较性,要么自身具备比较性如:1,2,3,4,5,6,7,8,9这样具备比较性的要么自己定义他的比较性如:否则会报如下错误:泛型在jdk1.5以前集合中只能添加对象,在以后就可以直接添加al.add(4);因为会自动装箱就相当于是添加了一个integer的对象MAP集合map集合的取出方式排序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java基础知识总结(超级经典)写代码:1,明确需求。

我要做什么?2,分析思路。

我要怎么做?1,2,3。

3,确定步骤。

每一个思路部分用到哪些语句,方法,和对象。

4,代码实现。

用具体的java语言代码把思路体现出来。

学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。

demo4,该技术什么时候用?test。

-----------------------------------------------------------------------------------------------一:java概述:1991 年Sun公司的James Gosling等人开始开发名称为Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。

2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

环境变量的配置:1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdkpath=%JAVA_HOME%\bin2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

classpath的配置:1):永久配置方式:classpath=.;c:\;e:\2):临时配置方式:set classpath=.;c:\;e:\注意:在定义classpath环境变量时,需要注意的情况如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;如果指定了classpath,那么会在指定的目录下查找要运行的类文件。

还会在当前目录找吗?两种情况:1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。

2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。

一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。

4,javac命令和java命令做什么事情呢?要知道java是分两部分的:一个是编译,一个是运行。

javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。

对指定扩展名的.java文件进行编译。

生成了jvm可以识别的字节码文件。

也就是class文件,也就是java的运行程序。

java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.----------------------------------------------------------------------------------------------二:java语法基础:1,关键字:其实就是某种语言赋予了特殊含义的单词。

保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。

2,标示符:其实就是在程序中自定义的名词。

比如类名,变量名,函数名。

包含0-9、a-z、$、_ ;注意:1),数字不可以开头。

2),不可以使用关键字。

3,常量:是在程序中的不会变化的数据。

4,变量:其实就是内存中的一个存储空间,用于存储常量数据。

作用:方便于运算。

因为有些数据不确定。

所以确定该数据的名词和存储空间。

特点:变量空间可以重复使用。

什么时候定义变量?只要是数据不确定的时候,就定义变量。

变量空间的开辟需要什么要素呢?1,这个空间要存储什么数据?数据类型。

2,这个空间叫什么名字啊?变量名称。

3,这个空间的第一次的数据是什么?变量的初始化值。

变量的作用域和生存期:变量的作用域:作用域从变量定义的位置开始,到该变量所在的那对大括号结束;生命周期:变量从定义的位置开始就在内存中活了;变量到达它所在的作用域的时候就在内存中消失了;数据类型:1):基本数据类型:byte、short、int、long、float、double、char、boolean2):引用数据类型: 数组、类、接口。

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double自动类型转换:从低级别到高级别,系统自动转的;强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;运算符号:1)、算术运算符。

+ - * / % %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

+:连接符。

++,--2)、赋值运算符。

= += -= *= /= %=3)、比较运算符。

特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

4)、逻辑运算符。

& | ^ ! && ||逻辑运算符除了! 外都是用于连接两个boolean类型表达式。

&: 只有两边都为true结果是true。

否则就是false。

|:只要两边都为false结果是false,否则就是true^:异或:和或有点不一样。

两边结果一样,就为false。

两边结果不一样,就为true.& 和&&区别:& :无论左边结果是什么,右边都参与运算。

&&:短路与,如果左边为false,那么右边不参数与运算。

| 和|| 区别:|:两边都运算。

||:短路或,如果左边为true,那么右边不参与运算。

5)、位运算符:用于操作二进制位的运算符。

& | ^<< >> >>>(无符号右移)练习:对两个变量的数据进行互换。

不需要第三方变量。

int a = 3,b = 5;-->b = 3,a = 5;a = a + b; a = 8;b = a - b; b = 3;a = a - b; a = 5;a = a ^ b;//b = a ^ b;//b = a ^ b ^ b = aa = a ^ b;//a = a ^b ^ a = b;练习:高效的算出2*8 = 2<<3;5,语句。

If switch do while while for这些语句什么时候用?1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。

但是建议使用switch,效率相对较高。

switch(变量){case 值:要执行的语句;break;…default:要执行的语句;}工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression 与case中的value是否匹配,程序会从default开始执行直到第一个break出现。

2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。

3)、当某些语句需要执行很多次时,就用循环结构。

while和for可以进行互换。

区别在于:如果需要定义变量控制循环次数。

建议使用for。

因为for循环完毕,变量在内存中释放。

break:作用于switch ,和循环语句,用于跳出,或者称为结束。

break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。

当循环嵌套时,break只跳出当前所在循环。

要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。

continue:只作用于循环结构,继续循环用的。

作用:结束本次循环,继续下次循环。

该语句单独存在时,下面不可以定义语句,执行不到。

6,函数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。

函数就是体现之一。

java中的函数的定义格式:修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数1,…){执行语句;return 返回值;}当函数没有具体的返回值时,返回的返回值类型用void关键字表示。

如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。

return的作用:结束函数。

结束功能。

如何定义一个函数?函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。

2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。

函数的作用:1)、用于定义功能。

2)、用于封装代码提高代码的复用性。

注意:函数中只能调用函数,不能定义函数。

主函数:1)、保证该类的独立运行。

2)、因为它是程序的入口。

3)、因为它在被jvm调用。

函数定义名称是为什么呢?答:1)、为了对该功能进行标示,方便于调用。

2)、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。

重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。

如何区分重载:当函数同名时,只看参数列表。

和返回值类型没关系。

7,数组:用于存储同一类型数据的一个容器。

好处:可以对该容器中的数据进行编号,从0开始。

数组用于封装数据,就是一个具体的实体。

如何在java中表现一个数组呢?两种表现形式。

1)、元素类型[] 变量名= new 元素类型[元素的个数];2)、元素类型[] 变量名= {元素1,元素2...};元素类型[] 变量名= new 元素类型[]{元素1,元素2...};---------------------------------------------------------//二分查找法。

相关文档
最新文档