java各知识点详细总结(毕向东笔记整理)
毕向东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是一种面向对象的编程语言,由Sun Microsystems于1995年首次发布。
自从诞生以来,Java已经成为了世界上最流行的编程语言之一。
它具有跨平台、面向对象、强类型、自动内存管理、异常处理等特性,使其成为了各种类型的应用程序和系统的首选语言。
本文将从语法基础、面向对象、多线程、集合框架、IO流等方面对Java知识点进行总结,希望读者在学习和使用Java过程中有所帮助。
语法基础Java语言的语法基础包括了基本数据类型、变量、表达式、运算符、控制语句、数组等内容。
Java的基本数据类型包括整型、浮点型、字符型、布尔型,分别对应int、float、char、boolean等关键字。
在Java语言中,变量在使用前必须进行声明,声明变量的方式包括直接声明、赋初值、常量声明等。
表达式是由运算符、操作数和分隔符构成的符合逻辑的字符序列,运算符是用来操作操作数的符号,常用的有算术运算符、关系运算符、逻辑运算符等。
控制语句包括了条件语句、循环语句、跳转语句等,通过这些语句可以对程序的执行流程进行控制。
数组是一种引用类型的数据结构,用于存储多个相同类型的数据。
除此之外,Java还提供了很多其他的语法基础知识,如字符串操作、异常处理等方面,这些都是编写Java程序的基础。
面向对象面向对象是Java语言的核心特性,通过面向对象的编程方法,可以更好地组织代码,提高代码的可读性、可维护性和可扩展性。
Java语言中的面向对象包括了类、对象、封装、继承、多态等概念。
类是面向对象的基本单位,用来描述对象的属性和行为,对象是类的实例化。
封装是将数据和方法封装到一个类中,通过访问权限控制符来保护数据的安全性,使得类的实现细节对外部隐藏。
继承是一个类的定义可以建立在另一个类的基础之上,通过继承可以实现代码的重用,提高代码的可维护性。
多态是通过父类类型的引用指向子类对象,实现了不同对象对同一消息做出不同的响应。
传智播客_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 预热班讲义
Java基础知识总结(超详细整理)
Java基础知识总结(超详细整理)Java语⾔的特点1.⾯向对象⾯向对象(OOP)就是Java语⾔的基础,也是Java语⾔的重要特性。
⾯向对象的概念:⽣活中的⼀切事物都可以被称之为对象,⽣活中随处可见的事物就是⼀个对象,我们可以将这些事物的状态特征(属性)以及⾏为特征(⽅法)提取并出来,并以固定的形式表⽰。
2.简单好⽤Java语⾔是由C和C++演变⽽来的,它省略了C语⾔中所有的难以理解、容易混淆的特性(⽐如指针),变得更加严谨、简洁、易使⽤。
3.健壮性Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。
另外,在Java语⾔中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的⾃动收集等),有效地减少了错误,使得Java应⽤程序更加健壮。
4.安全性Java通常被⽤在⽹络环境中,为此,Java提供了⼀个安全机制以防恶意代码的攻击,从⽽可以提⾼系统的安全性。
5.平台⽆关性Java平台⽆关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束⽽在任意计算机环境下正常运⾏。
6.⽀持多线程在C++ 语⾔没有内置的多线程机制,因此必须调⽤操作系统的多线程功能来进⾏多线程程序设计,⽽ Java 语⾔却提供了多线程⽀持。
多线程机制使应⽤程序在同⼀时间并⾏执⾏多项任务,该机制使得程序能够具有更好的交互性、实时性。
7.分布式(⽀持⽹络编程)Java语⾔具有强⼤的、易于使⽤的⽹络能⼒,⾮常适合开发分布式计算的程序。
java中提供了⽹络应⽤编程接⼝(),使得我们可以通过URL、Socket等远程访问对象。
8.编译与解释共存Java语法基础标识符: ⽤来标识类名、对象名、变量名、⽅法名、类型名、数组名、⽂件名的有效字符序列。
合法的标识符:由字母、数字、下划线“_”、美元符号“$”或者“¥”组成,并且⾸字符不能是数字。
不能把java关键字和保留字作为标识符。
标识符对⼤⼩写敏感。
关键字:Java语⾔中已经赋予了特定含义的保留字: const、goto,Java版本中尚未使⽤,但以后版本可能会作为关键字使⽤变量:程序运⾏期间可以被改变的量。
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的全部知识点总结
java的全部知识点总结Java是一种广泛使用的高级编程语言,其设计目的是使应用程序跨平台运行。
Java已经成为最受欢迎的编程语言之一,被广泛应用于企业级软件开发、Web应用程序和移动应用程序开发等领域。
本文将对Java的各种知识点进行总结,包括基础知识、面向对象编程、异常处理、集合框架、多线程、网络编程、IO流、反射等方面。
基础知识Java是一种面向对象的编程语言,它的基础知识包括数据类型、运算符、流程控制、方法和数组等。
数据类型:Java的数据类型包括基本数据类型和引用数据类型。
基本数据类型包括整型、浮点型、字符型和布尔型,引用数据类型包括类、接口、数组等。
运算符:Java的运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符等。
流程控制:Java的流程控制包括if语句、switch语句、while循环、do-while循环、for循环和分支语句等。
方法:Java的方法是一组执行特定任务的代码块,可以被其他代码调用,有返回值和参数等特点。
数组:Java的数组是一种存储相同类型数据的集合,可以存储基本数据类型或者引用数据类型。
面向对象编程面向对象编程是Java的核心特性之一,其基本知识点包括类与对象、封装、继承、多态、接口和抽象类等。
类与对象:类是Java中的一种重要机制,是一种数据结构和行为的模板。
对象是类的实例化结果,拥有类的属性和行为。
封装:封装是指将对象的属性和行为封装在一起,对外部隐藏对象的实现细节。
继承:继承是指一个类可以派生出其他类,派生类可以继承基类的属性和行为,并可以添加新的属性和行为。
多态:多态是指多个类可以使用同一行为名称,但具体行为的实现可以由不同类覆盖实现。
接口:接口是Java中一种重要的机制,定义了一组与实现无关的方法,被不同的类实现。
抽象类:抽象类是一种包含抽象方法的类,不能被直接实例化,需要被派生类实现其抽象方法。
异常处理异常处理是Java中的重要特性,用于处理程序运行时的错误和异常。
毕向东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教学视频跟踪笔记
1.java面向对象1.1静态关键字static用法:是一个修饰符,用于修饰成员(成员变量,成员函数),当成员被Static修饰后,就多了一种调用方式,除了可以被对象调用外,还可以直接被类名调用(类名.静态成员);特点:1.随着类的加载而加载也就是说:静态会随着类的消失而消失,说明它的生命周期最长;2.优先于对象而存在明确一点:静态是先存在的,对象是后存在的;3.被所有对象所共享4.可以直接被类名所调用.实例变量与类变量的区别:1.存在位置类变量随着类的加载而存在存在于方法区中实例变量随着对象的建立而存在于堆内存中2.生命周期类变量生命周期最长,随着类的消失而消失实例变量随着对象的消失而消失静态使用注意事项1.静态方法只能访问静态成员,非静态方法既可以访问静态又可以访问非静态;2.静态方法中不可以定义this、super关键字,因为静态优先于对象存在,所以静态方法中不可以出现this;3.主函数是静态的;静态有利有弊利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象都存储一份,可以直接被类名调用弊端:生命周期过长,访问出现局限性(静态虽好,但只能访问静态)什么时候使用静态帮助文档制作静态的应用静态代码块Jvm新建对象做了哪些操作1.2设计模式代码实现:饿汉式:记录原则:开发时,建议使用饿汉式1.3继承注意:不能因为要使用其他类的功能,简化代码而继承;必须是类之间有所属关系才可以继承,所属关系为is a;Java语言中:类关系只支持单继承,不支持多继承,只有在接口与接口之间才支持多继承,因为存在安全隐患:当多个父类中定义了相同功能,但功能内容不同时,子类对象不确定要执行哪一个;而接口中因为没有方法体而支持多继承避免了这种安全隐患;C++支持,但是java保留这种机制,并用另一种方式来实现(多实现);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基础软件与人的交互方式•图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。
•命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。
较为麻烦,需要记录住一些命令。
命令行方式•dir : 列出当前目录下的文件以及文件夹•md : 创建目录•rd : 删除目录•cd : 进入指定目录•cd.. : 退回到上一级目录•cd\: 退回到根目录•del : 删除文件•exit : 推出dos命令行•echo: 创建文件,echo ddd>1.txtJava语言的特性1.跨平台性说法:通过Java语言编写的应用程序在不同的系统平台上都可以运行。
原理:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。
由JVM来负责Java程序在该系统中的运行。
搭建开发环境JRE(Java Runtime Environment Java运行环境)包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK:JDK(Java Development Kit Java开发工具包)JDK:(Java Development Kit Java开发工具包)是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。
所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等PATH:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为path 的环境变量指定的目录中查找。
●可不可以在任何目录下都可以执行java的工具呢?根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path环境变量中,让系统帮我们去找运行执行的程序。
毕向东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基础视频教程Java基础学习知识点总结2016年01月06日day01一、基础知识:软件开发1、什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合。
2、常见的软件:系统软件:如:DOS,Windows,Linux等。
应用软件:如:扫雷,迅雷,QQ等。
3、什么是开发?制作软件。
二、基础知识:人机交互方式4、软件的出现实现了人与计算机之间的更好的交互。
5、交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些特定的操作。
较为麻烦,需要记录住一些命令。
三、基础知识:常用的DOS命令6、点击开始在运行栏输入“cmd”进入dos操作界面。
7、课程中常见的命令:dir:列出当前目录下的文件以及文件夹。
md:创建目录。
rd:删除目录。
cd:进入指定目录。
d:进入盘符。
cd..:退回到上一级目录。
cd/:退回到根目录。
del:删除文件。
exit:退出dos命令行。
8、在dos命令行操作文件夹时,如忘记文件夹全称,可以输文件夹前几个名称后面用*代替。
四、基础知识:计算机语言9、通过DOS命令行的演示,发现原来操作计算机就如同和计算机说话一样。
10、我们告诉它做什么,它就可以做什么。
前提是,我们和它说的内容它必须识别才可以。
这就是计算机语言。
11、什么是计算机语言?语言:是人与人之间用于沟通的一种方式。
例如:中国人与中国人用中文沟通。
而中国人要和韩国人交流,就要学习韩语。
12、计算机语言:人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语。
计算机语言有很多种,如:C,C++,Java等。
这里,我们选择其中一种:Java语言。
五、基础知识:Java语言介绍13、Java语言概述。
是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。
毕向东老师JavaSE基础视频09笔记
一:构造函数—子类的实例化过程子父类张构造函数的特点在子类构造对象时,发现,访问子类构造函数时,父类也运行了,为什么呢?原因是:子类的构造函数中第一行有一个默认的隐式语句:super();构造函数没有继承过来.子类的实例化过程:子类中所有的构造函数,默认都会访问父类中空参数的构造函数.二:子类实例化过程的细节.为什么子类实例化的时候要访问父类中的构造函数?那是因为子类继承了父类,获取了父类中内容(属性),所以在使用父类内容前,要先看父类是如何对自己的内容进行初始化.所以子类在构造对象时,必须访问父类中的构造函数.如果父类中没有定义空参数的构造函数,那么子类的构造函数必须用super明确要调用父类中的那个构造函数.注意:super语句必须要定义在子类的构造函数的第一行.因为父类的初始化行为要先完成. 调用本类的构造函数是this()必须在第一行则super则没有了,因为super和this只能定义在第一行所以只能有一个,但是可以保证的是子类中肯定有其他的构造函数可以调用super.三:子父类构造函数,实例过程的图解.则new 的时候默认初始化是什么时候完成的呢? 1:构造方法先进栈了.num还没有开始初始化.父类初始化结束后才对子类中的进行初始化.一个对象实例化过程:Person p = new Person1:JVM会去读取指定路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接父类的清空下,Object早就已经加载过了)2:在堆内存中开辟空间,分配地址.3:并在对象空间中,对对象中的属性进行默认初始化.4:调用对应的构造函数进行初始化.5:在构造函数中,第一行会先调用父类中的构造函数进行初始化.6:父类初始化完毕后,在对子类的属性进行显示初始化.7:在进行子类构造函数的特定初始化.8:初始化完毕后,将地址赋值给引用变量.四:final关键字.继承有一个弊端会打破封装性.常量全部大写,多个单词用下划线连接.final定义的变量必须显示初始化,不能默认为0,通常也会有static,为什么使用final修饰变量.其实在程序如果一个数据时固定的,那么直接使用这个数据就可以了,但是这样阅读性差,所以它给数据起个名称,而且这个变量名称的值不能变化,所以加上一个final固定.五:抽象类.抽象:笼统,模糊,看不懂!不具体.以上方法声明一样,但是内容却是不一样的.由此得到以下抽象类.当描述一个事物时没有足够的信息描述一个事物,功能细节确定不了,就是抽象的方法.真正能明确功能的是具体的对象.六:抽象类的特点.1:方法值:有声明没有实现时,该方法就抽象方法,需要被abstract修饰.抽象方法必须定义在抽象类中,该类必须被abstract.2: 抽象类不能被实例化,因为调用抽象方法没有意义.该实例可能不存在如犬科.3:抽象类必须有其子类覆盖了所有的抽象方法后,该子类才可以实例化,否则这个子类就还是抽象类.七:抽象类—细节.1:抽象类有构造函数吗?有,用于给子类对象进行初始化.2:抽象类可以不定义抽象方法么?可以的.但是很少见,目的就是不让该类创建对象,AWT的适配器对象就是这种类.通常这个类中的方法有方法体,但是却没有内容.3:抽象关键字不可以和哪些关键字共存?private 不行.抽象方法是要被覆盖的,但是如果私有了则就不能被覆盖了.因为继承不了了.static 不行.成员变对象了就不需要对象了,抽象方法本来就是不需要对象的.final 不行.final修饰的方法不能被覆盖.相矛盾的两个修饰词.4:抽象类和一般类的异同点.相同点:都是用来描述事物的,都在内部定义了定义了成员.不同:1:一般类有足够的信息描述事物,而抽象类描述事物的信息可能不足.2:一般类中不能定义抽象方法,只能定义非抽象方法而抽象类中可以定义抽象方法,同时也可以定义抽象方法.3:一般类可以被实例化而抽象类不可以被实例化.5:抽象类一定是父类吗?是的,因为需要子类覆盖其方法后才可以对子类进行实例化.八:抽象类练习:回忆在方法区内,super的引用指向了父类加载的东西,当在子类找不到东西时会去父类中找.今天在CSDN 论坛中见到有人问在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集合的取出方式排序。
毕向东老师JavaSE基础视频09数组笔记
一:数组1:概念:数据类型的集合,容器.2:好处:编号.方便操作.3:new 建立一个空间,并创建某以实体,实例.引用型必须要new4:义:数据类型[] 数组名= new 数据类型[元素个数或者长度],一旦建立必须明确其长度. 5:数组在内存分析:任何程序都要分配内存空间,JVM对其得到的内存进行细分,每个内存进行不一样的功能.内存的划分:1:寄存器:cpu处理.2:本地方法区:所在系统相关.3:方法区:4:栈内存:存储的都是局部变量(定义在方法中的变量都是局部变量),变量所属的作用域一旦结束则马上收回内存.变量自动释放.局部代码块({}之间,定义了一个区间,其定义的变量只有在这个区间中运用)限定了局部变量的生命周期.5:堆内存:存储是数组和对象(其实数组就是对象)实体是new建立的都在堆中.特点:画图int[] arr = new int[3] 实体分装数据,一堆数据,而变量时一个,方法进栈,因为局部变量都在栈里.堆会进行默认初始化,而栈不会.1:每一个实体都有一个首地址值2:对内存中每一个变量都有一个默认的初始值,根据数据类型的不同而不同,int:0,float0.0,double 0.0f,Boolean false ,char ‘\u0000’.3:垃圾自动回收,垃圾回收机制,不会像栈一样马上回收.4:多个引用变量可以指向同一个实体,只有当没有引用变量指向实体是才变成垃圾.二:1:对数组的基本操作就是存和取,核心思想就是对角标的操作.三:最值.四:选择排序:1:把数组中的元素从第一个开始与所有后面的数进行比较2:每次比较时如果被比较数大于比较数的话,则交换两个元素在数组中的位子.3:依次对每个下标进行比较.五:冒泡排序:相邻两个元素进行比较,则最出现了(或最小或选择最大)六:排序的基本做法都有交换位子,所以交换位子做成一个函数功能.两个明确七:排序的性能问题:选择排序法,减少换位次数,记录脚标值.num 和 index两个变量八:查找工作,给定一个确定值,找到该值的位子.九:折半查找法:十:面试题:给定一个有序的数组,如果往该数组存储一个元素,并保证该数组有序,那么这个元素存储的角标如何获取.十一:进制的转换,转换为16进制,与15进行与运算,然后>>>不断进行与运算十二:进制的转换,查表法.1:如果数据出现了对应关系,而且对应关系一方是有序的数据编号,并作为角标使用的,这时必须想到数组的使用.2:就可以将数据存储到数组中,根据运算的结果作为角标直接去查数组中对应的元素即可,这种方式称为查表法.3:数据一多就给存起来.在进行操作,可以用数组作为临时容器.数组中的数组二维数组.箱子里面有小箱子,小箱子里有格子,格子里装着元素.实体都得分配空间角标都是一个指向.二维数组的使用场景:数据多了用数组存,数组多了用数组存.数据多了分类存储.。
【黑马程序员】毕向东老师Java基础入门教程笔记
【黑马程序员】毕向东老师Java基础入门教程笔记毕向东Java基础视频教程_适合初学者入门完整视频:/course/7.html?1911sxkqq 提取码:ks8m课程资料:https:///s/1jAjI85SlUTlrTuF_J2QNeQ 提取码:4bfg黑马程序员视频库网址:(海量热门编程视频、资料免费学习)学习路线图、学习大纲、各阶段知识点、资料网盘免费领取+QQ 3285264708 / 35496641951.编程:人与计算机之间交流的过程就是编程。
2.Java语言特点:跨平台性。
原理:JAVA程序是通过java虚拟机运行在系统平台上的,只要该系统可以安装相应的java虚拟机,该系统就可以运行JAVA程序。
3.JRE和JDK的区别:JDK:开发工具包,JDK是提供给开发人员使用的工具包。
JRE:JAVA运行环境包括java虚拟机和java程序所需的核心类库。
4.JAVA虚拟机jvm是JAVA语言的运行环境,jvm读取并处理编译过的与平台无关的字节码文件5.JAVA程序运行机制Java源文件通过javac.exe 编译器编译成字节码文件,然后再通过jvm运行。
6.Java中需要注意的地方:一个JAVA源文件只定义一个类,不同的类使用不同的源文件定义;将每个源文件中单独定义的类都定义成public的;保持JAVA源文件的主文件名与源文件中的类名一致;7.Main方法的作用:程序的入口,保证程序的独立运行,被JVM调用。
8.文档注释:单行注释:// 多行注释/* */ 文档注释/** */9.标识符的命名规则:由字母、数字、下划线、$组成,不能以数字开头,严格区分大小写,不能使用关键字,10.Java中的常量和变量定义变量的格式:数据类型变量名=初始化值;作用范围:定义开始到定义它的代码块结束,定义范围内的左大括号开始,到右大括号结束。
同一作用范围内,不允许多个局部变量命名冲突;常量分为:整型常量小数常量布尔型常量字符型常量空常量(null)。
java各详细总结知识点
java各详细总结知识点一、Java语法1. 数据类型Java中的数据类型分为基本数据类型和引用数据类型。
基本数据类型包括整型,浮点型,字符型和布尔型。
引用数据类型包括类、接口、数组等。
2. 变量在Java中,变量是用来存储数据的容器。
它们可以存储不同类型的数据,例如整数、浮点数、字符等。
变量分为局部变量和成员变量。
3. 运算符Java中的运算符包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。
这些运算符可以实现数据的计算和比较。
4. 控制流Java中的控制流包括顺序结构、选择结构和循环结构。
通过控制流语句,程序可以根据条件执行不同的代码块,实现不同的功能。
5. 方法方法是Java中用来组织和重用代码的一种机制。
它可以细化程序的逻辑结构,并提高代码的可读性和可维护性。
6. 数组数组是一种用来存储多个相同类型数据的容器。
在Java中,数组可以是一维的、二维的甚至多维的。
使用数组可以方便地管理大量数据。
7. 字符串在Java中,字符串是一种特殊的对象类型。
Java提供了丰富的字符串处理方法,例如字符串连接、子字符串提取、字符串比较等。
8. 输入输出在Java中,通过输入输出流可以实现与外部设备的交互。
Java提供了丰富的输入输出类和方法,可以实现文件的读写、网络通信等功能。
二、面向对象编程1. 类和对象在Java中,所有的代码逻辑都是围绕类和对象展开的。
类是一种模板,描述了对象的属性和行为。
对象是类的实例,可以根据类创建多个对象。
2. 封装封装是面向对象编程的核心思想之一。
通过封装,可以将数据和行为封装在一个对象中,避免外部直接访问对象的数据。
3. 继承继承是一种代码复用的机制,可以让子类继承父类的属性和方法。
通过继承,可以实现类与类之间的层次关系,提高代码的重用性和扩展性。
4. 多态多态是面向对象编程的另一个核心概念。
通过多态,可以使不同类的对象对同一消息作出不同的响应。
多态性可以提高代码的灵活性和可扩展性。
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中设置的路径下找。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 PlatformMicro 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\\jdk path=%JAVA_HOME%\\bin 2):临时配置方式:setpath=%path%;C:\\Program Files\\Java\\jdk\\bin特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
classpath的配置: 1):永久配置方式:classpath=.;c:\\;e:\\ 2):临时配置方式:setclasspath=.;c:\\;e:\\注意:在定义classpath环境变量时,需要注意的情况如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;如果指定了classpath,那么会在指定的目录下查找要运行的类文件。
还会在当前目录找吗?两种情况: 1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目1 / 67录找。
一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。
4,javac命令和java命令做什么事情呢?要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java 的编译器程序。
对指定扩展名的.java文件进行编译。
生成了jvm可以识别的字节码文件。
也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行. 一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数. 5,虚拟机当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,我可以马上恢复虚拟机到安装软件之前的状态。
----------------------------------------------------------------------------------------------二:java语法基础:1,关键字:其实就是某种语言赋予了特殊含义的单词。
保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。
2,标示符:其实就是在程序中自定义的名词。
比如类名,变量名,函数名。
包含 0-9、a-z、$、_ ;注意: 1),数字不可以开头。
2),不可以使用关键字。
3,常量:是在程序中的不会变化的数据。
4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
作用:方便于运算。
因为有些数据不确定。
所以确定该数据的名词和存储空间。
特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。
变量空间的开辟需要什么要素呢?1,这个空间要存储什么数据?数据类型。
2,这个空间叫什么名字啊?变量名称。
3,这个空间的第一次的数据是什么?变量的初始化值。
变量的作用域和生存期:变量的作用域:作用域从变量定义的位置开始,到该变量所在的那对大括号结束;生命周期:变量从定义的位置开始就在内存中活了;变量到达它所在的作用域的时候就在内存中消失了;数据类型: 1):基本数据类型:byte、short、int、long、float、double、char、boolean 2):引用数据类型: 数组、类、接口。
2 / 67级别从低到高为: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 = a a = a ^ b;//a = a ^ b ^ a = b; 练习:高效的算出 2*8 = 2>1; //(max+min)/2; while(arr[mid]!=key){ if(key>arr[mid]){ min = mid + 1; }else if(key mid = (max+min)>>1; }return mid; }--------------------------------------------------------- java分了5片内存。
1:寄存器。
2:本地方法区。
3:方法区。
4:栈。
5:堆。
栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 );只要数据运算完成所在的区域结束,该数据就会被释放。
堆:用于存储数组和对象,也就是实体。
啥是实体啊?就是用于封装多个数据的。
1:每一个实体都有内存首地址值。
2:堆内存中的变量都有默认初始化值。
因为数据类型不同,值也不一样。
3:垃圾回收机制。
----------------------------------------------------------------------------------------------三:面向对象:★★★★★特点:1:将复杂的事情简单化。
2:面向对象将以前的过程中的执行者,变成了指挥者。
3:面向对象这种思想是符合现在人们思考习惯的一种思想。
5 / 67。