JAVA学习经典重点笔记(保证终生受用) word 2003版本
- 格式:doc
- 大小:243.50 KB
- 文档页数:2
java重要知识点笔记《Java 重要知识点笔记》学习 Java 就像是一场充满挑战和惊喜的冒险,在这个过程中,我积累了不少重要的知识点,就像收集宝贝一样,一个都舍不得落下。
今天,我就来好好梳理一下这些宝贝,跟大家分享分享。
首先,不得不说的就是 Java 的基本数据类型。
这就像是建房子的基础材料,有整数类型,像`int` 、`long` ;有小数类型,像`float` 、`double` ;还有字符类型`char` 和布尔类型`boolean` 。
可别小看这些类型,用错了那可就麻烦啦!就说有一次,我在写一个计算商品价格的小程序。
我一开始把价格定义成了`int` 类型,结果当商品价格出现小数的时候,程序就出问题啦!这可把我急得抓耳挠腮,后来才反应过来,应该用`double` 类型来存储价格。
从那以后,我每次定义数据类型都会特别小心,反复思考这个数据可能出现的情况,再也不敢马虎了。
接下来是控制流语句,像`ifelse` 、`for` 循环、`while` 循环这些。
它们就像是指挥交通的信号灯,控制着程序的运行方向。
记得有一次,我要写一个程序找出一个数组中的最大值。
我一开始用了一个`for` 循环,但是在判断条件那里写错了,导致程序一直找不到最大值。
我坐在电脑前,盯着代码看了半天,脑袋都快想破了。
最后终于发现,原来是我在循环条件里把小于号写成了大于号,哎呀,真是低级错误!但是通过这次教训,我对循环的理解更深了,以后写循环语句的时候都会特别注意细节。
再来说说面向对象编程,这可是 Java 的核心概念之一。
类和对象就像是一个个模具和用模具生产出来的产品。
通过定义类,我们可以创建出无数个具有相同属性和方法的对象。
有一次,我要写一个模拟动物世界的程序。
我先定义了一个`Animal` 类,里面有动物的属性,比如名字、年龄、种类,还有动物的行为方法,比如吃东西、睡觉、奔跑。
然后我创建了不同的动物对象,有猫、狗、兔子。
Java是一种广泛应用的编程语言,许多软件开发人员都需要掌握Java的重要知识点。
在本文中,我将介绍一些Java编程中的必考知识点,并提供了逐步思考的方式来理解这些知识点。
1.变量和数据类型在Java中,变量用于存储数据。
首先,我们需要了解不同的数据类型,如整数、浮点数、字符、布尔值等。
然后,学习如何声明和初始化变量,并理解变量的作用域和生命周期。
2.运算符掌握Java中的各种运算符,如算术运算符、关系运算符、逻辑运算符等。
了解它们的优先级和使用方法,以便在编写代码时正确地进行计算和比较。
3.控制流程学习使用条件语句(如if-else语句和switch语句)和循环语句(如for循环和while循环)来控制程序的执行流程。
理解条件表达式和循环条件的使用,以及如何避免常见的控制流错误。
4.数组和集合了解如何声明和使用数组,在Java中数组是一种存储固定大小的相同类型元素的数据结构。
同时,学习使用Java集合框架中的List、Set和Map等集合类来处理动态大小的数据。
5.方法和函数理解方法和函数的概念,并学习如何定义和调用它们。
了解方法的参数传递方式(按值传递或按引用传递),以及如何使用返回值来实现代码的重用和模块化。
6.异常处理学习如何使用try-catch块来捕获和处理Java程序中的异常。
了解常见的异常类型,并学会使用异常处理机制来优雅地处理错误和异常情况。
7.面向对象编程掌握面向对象编程的基本概念,如类、对象、继承、封装和多态等。
了解如何使用类和对象来组织和管理代码,以及如何设计和实现Java类的关系和层次结构。
8.文件和输入输出学习如何读写文件和处理输入输出流。
了解Java中的文件操作和流操作的基本语法和用法,以及如何避免内存泄漏和资源泄漏等常见问题。
以上是Java编程中的一些必考知识点。
通过逐步思考和实践,我们可以逐渐掌握这些知识,并应用到实际的Java项目中。
无论是初学者还是有经验的开发人员,都可以通过不断学习和练习来提高自己的Java编程能力。
Java知识点整理第二章 Java基本语法类名、方法名、变量:1、必须以字母、下划线、美元符号开头2、不能有空格、就是不能同名3、严格区分大小写基本数据类型和引用数据类型:1、byte、short、int、long2、float、double3、boolean4、char小类型转大类型:自动转换大类型转小类型:强制转换(有可能会出现精度丢失)运算符:++++在前;先运算,在赋值。
++在后;先赋值,后运算。
a+=1 === a = a+1流程控制语句:1、顺序结构2、选择结构 if else;switch case(在JDK1.7版本以后可以比较字符);a、if else:在具体内容不确定的时候,只知道一个范围。
b、switch case:当我取值已经确定好的时候。
3、循环结构 for 、while(先判断后执行) 、do while(先执行后判断)当我们知道集体的循环次数的时候用for; 在不知道具体次数的时候用 whilebreak:跳出循环continue:跳过本次循环,开始下次循环数组:声明数组:int[] a;int a[];创建:int[] a = new int[5];int[] a = new int[]{1,2,2,3,4};int[] a = {1,2,3,4,4};数组就是存放相同元素类型的集合。
数组的下标是从0开始数组的长度始终是比数组的最大下标大1数组的存放是按照顺序存放数组的长度是固定的,不能改变的。
第三章类及对象OOP类是对象的抽象形式,对象是类的具体表现实例化对象:类名对象名 = new 类的构造方法();四个访问权限修饰符:public:共有的,同一个项目下面都可以访问protected:受保护,同类里面、同包里面、不同包里面的子类可以默认的:同一个类里面、同一个包下面。
private:私有的,只能在当前类里面使用封装:当我们不想让他人看到具体的实现,我们就将内容封装起来,提供一个公开的方法进行读写。
JAVA知识点总结1. JAVA的特点:(0简单易用、完全面向对象;⑦与平台无关性、可扩展性强;(0可移植性高、支持分布式编程;④健壮、安全可靠并性能优异;⑤支持多线程开发技术;(0支持动态开发。
2. JVM: Java虚拟机(JVM是Java实现跨平台的基础)。
Java的源程序(*.jav 一)_>编译(命令:java+文件名.java )--------------------- ► Java字节码(*.class 编译时自动形成,与源程序名一致) -------- 运行(命令:java+源程序的文件名--------- JVM (Windows、Linux)广开发工具,Javac及基础核心类JD KL 运行环境,Java及基础核心类3. 编写第一个Java程序:Java源文件扩展名为:” .java ”一个源文件中最好只有一个java类,但是可以包含多个类public修饰的类,文件名与类名必须一致(包括大小写)被运行的类中需要有一个方法:public static void main(String[ ] args){}一个源文件中最多有一个public修饰的类例如:public class Test{public static void main(String args[]){System.out.println("这个编写的第一个java 程序!!!” );}}在运行程序之前先配置环境变量:path变量值为:JDK安装目录下bin ;classpath 变量值为:JDK安装目录下lib ; 或.;JDK安装目录下lib tools.jar在dos命令窗口中输入以下命令进行运行:编译命令:javac Test.java运行命令:java Test生成文档命令:javadoc Test.java4. Java编程规范A、命名规定包:包名应该是小写的名词。
女口:package shipping.objects类:类名应该是名词,大小写混合,每个单词的首字母大写。
诚信、创新、开放、合作JAVA的面向对象编程--------课堂笔记面向对象主要针对面向过程。
面向过程的基本单元是函数。
什么是对象:EVERYTHING IS OBJECT(万物皆对象)所有的事物都有两个方面:有什么(属性):用来描述对象。
能够做什么(方法):告诉外界对象有那些功能。
后者以前者为基础。
大的对象的属性也可以是一个对象。
为什么要使用面向对象:首先,面向对象符合人类看待事物的一般规律。
对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。
方法的定义非常重要。
方法有参数,也可能有返回值。
注意区分:对象(本身)、对象的实现者、对象的调用者。
分析对象主要从方法开始。
我们通过类来看待对象,类是对象的抽象。
其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。
对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。
这样才能使每个对象本身做成最好的。
对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。
实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。
可复用性是OOP的基础。
比较面向过程的思想和面向对象的思想:面向过程的思想:由过程、步骤、函数组成,以过程为核心;面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。
面向过程是先有算法,后有数据结构。
面向对象是先有数据结构,然后再有算法。
在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。
开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能。
从语法上来看,一个类是一个新的数据类型。
在面向对象编程中,除了简单数据类型,就是对象类型。
定义类的格式:class Student{代码}注意类名中单词的首字母大写。
实例变量:定义在类中但在任何方法之外。
(New出来的均有初值)局部变量:定义在方法之中的变量。
局部变量要先赋值,再进行运算,而实例变量均已经赋初值。
这是局部变量和实例变量的一大区别。
java复习期末重点考点总结一、基本语法1. 变量和常量定义变量和常量,变量的作用域,变量类型转换等。
2. 数据类型Java的基本数据类型,如整型、浮点型、字符型、布尔型等。
3. 运算符Java的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等。
4. 控制结构条件语句,如if语句、switch语句。
循环语句,如for循环、while循环、do-while循环。
5. 数组一维数组、多维数组的定义和使用。
6. 方法定义方法,方法的重载、调用以及参数传递。
7. 异常处理Java的异常处理机制,如try-catch-finally语句块。
常见的异常类及其使用。
二、面向对象1. 类和对象类和对象的定义,成员变量和成员方法的访问权限。
2. 构造方法和析构方法构造方法和析构方法的定义和使用。
3. 继承子类和父类的关系,继承的实现和使用。
方法重写和父类引用子类对象的特点。
4. 接口接口的定义和实现,接口的多继承。
多态的概念和实现,向上转型和向下转型。
6. 包包的定义和使用,包的导入和导出。
三、输入输出1. 文件操作文件的读取和写入,字符流和字节流的使用。
2. 序列化和反序列化对象的序列化和反序列化,使用序列化实现对象的存储和传输。
四、集合框架1. 集合接口和类常用集合接口和类的介绍和使用,如List、Set、Map等。
2. 迭代器集合的迭代器,实现对集合元素的遍历和操作。
3. 泛型泛型的概念和使用,泛型类和泛型方法。
4. 排序和比较使用集合框架实现元素的排序和比较。
五、线程1. 线程的创建和启动线程的创建方式,使用Thread类和Runnable接口。
2. 线程同步线程同步的方法,如使用synchronized关键字实现线程同步。
3. 线程通信线程之间的通信方式,如使用wait()、notify()、notifyAll()方法进行线程通信。
线程池的定义和使用,使用线程池实现线程的复用。
六、网络编程1. 套接字套接字的概念和使用,使用套接字实现网络通信。
Java_U1课堂笔记(一)初识Java一、配置Java环境变量:1、复制JDK安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0_51\bin2、粘贴到我的电脑->属性->高级系统设置->环境变量->Path3、加上英文的分号4、验证是否配置正确:dos-->java -version进入DOS窗口的方法:运行(或快捷键windows键+r)二、Java程序编写三步骤:编写 .java编译:javac **.java运行java **三、使用jad反编译工具:DOS中切换至jad安装目录,如:C:\jad1.5.8g.win输入命令:jad -s java D:\t01\HelloWorld.class四、变量的使用:页脚内容1变量取名,命名规则类型数值:int、double、float(f)非数值:char、String类型名字= 值;int age=10;五、上机验证:System.out.println(5+3);System.out.println("5"+3);六、Scanner的使用,接收用户键盘输入Scannerimport java.util.Scanner;Scanner input=new Scanner(System.in);input.next();(相关方法,nextDouble()、nextFloat()、nextInt(等)bin:exejre页脚内容2libsrc.zip(二)数据类型一、数据类型转换自动类型转换:int num=100;double b=num;强制类型转换double num=100.9;int b=(int)num;二、运算符赋值运算符=算数运算符+ - * / % ++ --+= -= *= /= %=关系运算符> < >= <= == !=逻辑运算符&& || !页脚内容3条件运算符?:了解优先级即可三、流程控制1、if:基本ifif-else多重if嵌套if注意:条件是boolean值常见错误:if(num=5){}else{}大括号不省略多重if顺序问题注意:页脚内容4流程图的使用和问题的分析解决过程2、switch等值比较注意:(1)语法上的常见错误(2)和多重if的异同循环结构:解决重复性的操作简介高效(三)循环结构一:循环:(1)while循环while(条件){操作循环变量迭代}注意:页脚内容5代码缩进循环能否正常退出(2)do-while循环do{循环}while(条件);注意:代码缩进循环能否正常退出和while的区别:语法上、执行上(至少执行一次)(3)for循环for(变量初始化;条件;变量迭代){循环操作}页脚内容6注意:代码缩进循环能否正常退出执行顺序循环变量可以有多个二、双重循环双重循环的特点:外层循环进入一次,内层循环就要完整的执行一遍特点:外执行一次内执行一轮双重循环次数:外层循环次数*内层循环的次数实现的重点:页脚内容7(1)确定谁做外层循环,确定谁做内层循环(2)两层循环变量有没有规律性的关系1、打印图形:找规律矩形行i外层星星j内层1 52 53 54 55 5平行四边形行i外层内层:空格星星1 4=5-i 52 3=5-i 53 2=5-i 5页脚内容84 1=5-i 55 0=5-i 5等腰三角形行i外层内层:空格星星1 4=5-i 1=2*i-12 3=5-i 3=2*i-13 2=5-i 5=2*i-14 1=5-i 7=2*i-15 0=5-i 9=2*i-12、打印九九乘法表行i(1-9)第一个操作数i 第二个操作数(从1到i)三:循环应用1、分析需求:重复做一件事情前提条件(循环进入的条件)做什么事情(循环操作)页脚内容92、用代码解释选择一种合适的循环结构whiledo-whilefor根据所选择的结构套用语法while(条件){}do{}while(条件);for(循环变量初始化;条件;迭代){}3、容易出错的点(1)变量在何处声明例1:计算5门课平均成绩页脚内容10例2:for(int i=0;i<=6;i++){System.out.println(i);}int j=i;System.out.println(j);(2)没有适当的(合适的)跳出循环根本跳不出来根本进不去循环多或少循环了一次四、循环的跳转break:跳出整个循环continue:跳出本次循环,进入下次循环return:结束方法(了解即可)五、程序调试页脚内容11设置断点Debug->单步运行F5 F6观察变量(三)数组一、数组1、数组的基本使用(1)数组的作用一组相同数据类型的数数组也是变量,内存中一串连续的空间(2)数组的几个基本概念标识符(数组名字)元素下标:从0开始数据类型数组的长度(数组名字.length)(3)数组使用步骤声明数组页脚内容12int[] num;int num[];分配空间num=new int[8];赋值处理数据int[] num={5,8,7};int[] num=new int[]{5,8,7};(4)循环和数组结合的使用下标(0-数组.length-1)遍历时两种方法:方法一:传统for方法二://增强型for(foreach)for(int score:scores){sum+=score;页脚内容13}二、回顾数组变量,内存中一串连续的空间相同数据类型的一组数据数组的基本概念元素数据类型(数组类型)下标(0,数组.length-1)数组的长度:数组.length数组的基本使用声明数组(类型[] 数组名称或类型数组名称[])分配空间(数组名称= new 数据类型[5];)赋值(num[0]= ;)处理数据变量:基本数据类型页脚内容14int、double、float、char、boolean引用数据类型String、数组内存分布不同使用上不同.三、数组的典型使用1、求最大值、最小值(打擂台)2、插入算法(找位置)3、冒泡排序数组存储5个数字下标:0 1 2 3 4外层循环内层循环i:0第一轮+ j比较次数:4 =4:length-1页脚内容15i:1第二轮+ j比较次数:3=4:length-1i:2第三轮+ j比较次数:2 =4:length-1i:3第四轮+ j比较次数:1=4:length-1i+j=数组.length-1j=数组.length-1-i共比较几次?5个数字:4+3+2+1=106个数字:5+4+3+2+1=157个数字:6+5+4+3+2+1=21n个数字:(n-1)+(n-2)+(n-3)+.....+1=n*(n-1)/24、Arrays类的使用常用方法:页脚内容16sort().....记得查API帮助文档(帮助文档已经在网盘中提供了,如果大家在Oracle官网中没有下载,可以找中心的技术顾问老师提供网盘用户名和密码,登录后拿到帮助文档)数据类型基本数据类型int double char boolean 。
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)一个字符串就是一个String的匿名对象;String的内容一旦声明则无法改变。
(2)This()必须放在构造方法的首行。
在使用this调用构造方法的时候至少有一个构造方法是没有使用this()调用的,而次构造方法将作为调用的出口,一般这个出口都会使用无参构造函数。
This有一个最重要的概念——表示当前对象。
当前正在调用类中方法的对象,成为当前对象。
所以this.属性就表示当前对象的属性。
(3)Static的方法只能调用static的属性和方法,不能调用非static的属性或方法。
因为静态属性和方法可以在没有实例化对象的时候调用,而类中的普通方法和普通属性,肯定只有在对象实例化之后才有可能调用。
(4)Main(String args[] )用于接收参数,就是java 类名参数1 参数2 参数3
★构造方法私有化后,则就成单例问题了,单例声明:private static 类名对象名=new 类名(5)直接在类中定义的代码块称为构造块。
构造块会重复调用多次,构造块会优先于构造方法执行。
使用static关键词声明的代码块称为静态块,静态块优先于主方法执行,静态块用于对静态属性初始化,优先于构造块执行,而且只执行一次。
(6)内部类的唯一优点:在于可以方便的访问外部类中的私有成员。
如果要在外部直接使用内部类的实例化对象:外部类.内部类内部类对象=外部类实例.new 内部类实例()
一个内部类如果使用static关键字声明的话,则此内部类就将成为外部类,可以直接通过外部类.内部类的形式访问。
如:Outer.Inner in=new Outer.Inner();
(7)在方法中定义的内部类,可以直接访问外部类中的各个成员,但如果要访问方法中的参数,则在参数上要使用final关键字声明。
(8)链表:对于单向链表,主要是传递的引用数据类型,开发的意义不大,面试的意义很大。
主要是应用内部类。
(李兴华JAVA培训14课)
(9)子类一定会调用到父类的构造方法,默认是有一个super()调用父类的无参构造方法。
(10)在使用this调用其他构造方法的时候,至少留一个构造方法,是没有使用this调用的,
作为统一的出口,肯定调用父类的构造方法。
(11)父类方法是prvate访问权限,子类中使用的是default访问权限,是重新定义而不是重
写。
(12)如果希望调用父类中被覆盖的方法,只能通过super.fun()方法调用
(13)final声明的类不能继承、方法不能覆盖、变量不能修改。
如果用final申明一个常量的话,
则常量的标识符必须全部大写。
使用public static final声明的常量为全局常量。
(14)抽象类:必须被子类继承,而且被继承的子类需要实现抽象类中的全部抽象方法。
抽象
方法是只声明不实现的方法,即没有{}大括号,同时用abstract关键字。
有抽象方法的类必须定义成抽象类。
(15)接口是一个特殊的类,在JAVA中接口是由抽象方法和全局常量组成。
(16)在接口中public static final定义全局常量和public static定义抽象方法时可以省略。
(17)一个接口不可以继承一个抽象类,但是一个接口却可以同时继承多个接口。
(18)对象的多态性主要指的是,子类和父类对象的相互转换关系
向上转型:父类父类对象=子类实例(自动完成) A a=new B()
向下转型:子类子类对象=(子类)父类实例(强制完成) B b=(B)new A()在使用向下转型的时候一定要先使用向上转型。
(19)instanceof关键字来判断传进的对象到底是哪个类的实例。
用法:
对象instanceof 类 返回Boolean类型的数据。
(20)为了保证对象的向下转型操作正确,在操作之前最好加上instanceof关键字进行判断。
在继承关系中,父类的设计很重要。
(21)抽象类本身最大的用处就是在于模板设计,“人”是模板,“学生”、“工人”是该模板下
的内容。
利用的是子类为父类实例化,因为会发生自动向上转型,同时调用的方法永远是被覆盖的方法。
(22)正常情况下,一个接口的子类要实现全部的抽象方法。
(23)在开发中当遇到与字符串比较时,要把字符串放到前面,这样可以避免空指向异常。
(24)对于一个完整的类,应该覆写Object类中的一下三个方法:
toString():对象打印时调用public String toString()(如果不覆盖打印的是对象地址)equal():对象比较时使用public boolean equals(Object obj) 一般都要通过instanceof判断是不是属于该类的对象,再进行下一步操作。
hashCode()
(25)父类的构造方法执行完之后实际上是为父类中的属性初始化,但是未执行完的话,子类
的构造方法就永远不可能调用,那么子类中所有的属性都无法初始化,无法初始化,那么默认的值就是0。
(26)开发中记住一个原则:一个类永远不要去继承一个已经实现好的类,要么继承抽象类,要
么实现接口。