最全的java学习笔记(必看)

合集下载

Java基础学习(基础语法)

Java基础学习(基础语法)

Java语言学习笔记1、java基础语法1.1组成元素:1.1-1标识符:(1)作用:起名字,变量、方法、源文件,(2)标识符规则:只能由字母、数字、_、$组成,数字不能打头,java 支持汉字,不推荐使用汉字,尽量见名知意,java严格区分大小写1.1-2关键字:也叫保留字,系统保留的标示符,系统赋予关键字特殊的语法含义,我们不能将关键字当做普通的标示符使用,只能使用系统赋予的语法编程1.1-3数据类型:(1)作用:①、对变量类型严格控制;②、对不同类型变量内存空间进行分配(2)基本类型:①、整数类型:a、byte占8位,[-128,127]b、short占16位,[-2^15,2^15-1]c、int占32位,[-2^31,2^31-1]d、java中整数默认是int类型,如果一个整数超过了int的范围则需要在其后加L(l)将int数据转换为longe、long占64位,[-2^63,2^63-1]f、int a = 5;java中整数支持2进制,8进制和16进制a、2进制整数用0b开头b、8进制整数用0开头c、16进制整数用0x开头d、0x11~~16= a,b,c,d,e,f②、小数类型:也叫浮点型a、浮点型数据有精度的区分float:单精度浮点型,精确位数为6到8位,小数点不占位数。

double:双精度浮点型,精确位数为14到16位。

java中小数默认是double类型,所以必须在使用float时需要在数据后加F(f)将double转换成float类型。

③、字符类型:java采用的是unicode编码方式,使用两个字节对所有字符进行编码范围为[0,65535] (字符编码有:ascii、gbk、gb2312、gb18030、big5、iso-8859-1)char表示单个字符,使用 ' ' 括起来,汉字也是字符转义字符:\;\\:表示\ ;\t:表示tab;\r:表示回车;\n:表示换行。

Java读书笔记

Java读书笔记

Java读书笔记第一篇:Java读书笔记读书笔记1、类和对象:类是用来定义一组对象共同具有的状态和行为的模版。

而对象是现实世界中个体或事物的抽象表示,并且封装了它们的属性和行为。

2、为了防止命名冲突,Java采用了管理类文件的机制,即类包机制。

(package)定义包名的语法格式:“package包名;”Java命名规则要求包的命名需要使用小写字母。

3、成员变量和成员方法:1成员变量是在类体中定义的变量即全局变量,○成员变量一般用于定义对象的状态。

成员变量是给对象使用的,每个对象被创建后都会有属于自己的属性,即成员变量。

通过修改这些属性,从而改变对象的某个状态。

2成员方法是对象行为的描述。

○定义成员方法的语法格式:“[修饰符] 返回值类型方法名([形参表]){······//方法体}”修饰符:可以是:publicprivateprotactedstaticfinall等;返回值类型:如果方法需要返回值,必须这里声明方法的返回值类型,可以是基本数据类型(int short double booleanvoid等),也可以是对象类型如:数组、字符串等。

形参表:(可选部分)说明方法被调用时应该向它传递的数据。

形参表可以有一个也可以有多个,当有多个形参时每个形参之间要用“,”隔开。

1创建对象:创建对象使用到new语句。

4、对象:○声明并创建对象的语法格式如下:“类名对象名=new 类构造方法()”构造方法:构造方法是类创建对象是必须执行的方法,用于构造一个新的对象并初始化对象属性。

2访问对象的属性:○语法格式:“对象名.属性”3执行对象的行为:○对象的行为就是对象的成员方法,通常说调用或执行对象的某个方法。

语法格式:“对象名.成员方法名();”4对象的销毁:Java提供了垃圾回收机制,对不再使用的对象会自动销毁,也可○以在程序中显式的为某个对象赋null值,使对象不再被使用。

(完整版)Java学习笔记(必看经典)

(完整版)Java学习笔记(必看经典)

诚信、创新、开放、合作JAVA的面向对象编程--------课堂笔记面向对象主要针对面向过程。

面向过程的基本单元是函数。

什么是对象:EVERYTHING IS OBJECT(万物皆对象)所有的事物都有两个方面:有什么(属性):用来描述对象。

能够做什么(方法):告诉外界对象有那些功能。

后者以前者为基础。

大的对象的属性也可以是一个对象。

为什么要使用面向对象:首先,面向对象符合人类看待事物的一般规律。

对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。

方法的定义非常重要。

方法有参数,也可能有返回值。

注意区分:对象(本身)、对象的实现者、对象的调用者。

分析对象主要从方法开始。

我们通过类来看待对象,类是对象的抽象。

其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。

对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。

这样才能使每个对象本身做成最好的。

对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。

实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。

可复用性是OOP的基础。

比较面向过程的思想和面向对象的思想:面向过程的思想:由过程、步骤、函数组成,以过程为核心;面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。

面向过程是先有算法,后有数据结构。

面向对象是先有数据结构,然后再有算法。

在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。

开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能。

从语法上来看,一个类是一个新的数据类型。

在面向对象编程中,除了简单数据类型,就是对象类型。

定义类的格式:class Student{代码}注意类名中单词的首字母大写。

局部变量:定义在方法之中的变量。

局部变量要先赋值,再进行运算,而实例变量均已经赋初值。

这是局部变量和实例变量的一大区别。

实例变量的对象赋值为null。

Java学习笔记(必看经典).pdf

Java学习笔记(必看经典).pdf
对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。 实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚 )。 可复用性是 OOP 的基础。
比较面向过程的思想和面向对象的思想: 面向过程的思想:由过程、步骤、函数组成,以过程为核心; 面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。 面向过程是先有算法,后有数据结构。 面向对象是先有数据结构,然后再有算法。
关系运算符:instanceof a instanceof Animal;(这个式子的结果是一个布尔表达式) a 为对象变量,Animal 是类名。 上面语句是判定 a 是否可以贴 Animal 标签。如果可以贴则返回 true,否则返回 false。
在上面的题目中: a instanceof Animal 返回 True, a instanceof Dog 也返回 True,
This 表示当前对象。
Public void printNum(){ Int number=40; System.out.println(this.number);
} 此时打印的是实例变量,而非局部变量,即定义在类中而非方法中的变量。
This.number 表示实例变量。 谁调用 this.number 那么谁即为当前(this)对象的 number 方法。
可以构造多个构造方法,但多个构造方法的参数表一定不同,参数顺序不同即属于不同的构造方法: public student(string name,int a){ } public student(int a,string name){ } 为两个不同的构造方法。 如果我们未给系统提供一个构造方法,那么系统会自动提供一个为空的构造方法。 练习:写一个类,定义一个对象,定义两个构造方法:一个有参,一个无参。 (编写一个程序验证对象的传递的值为地址) 注意下面这种形式: static void changename(student stu){stu.setName “LUCY”} 注意生成新的对象与旧对象指向无关,生成新对象生命消亡与旧对象无关。

java基础知识大全(必看经典)

java基础知识大全(必看经典)

第一讲 Java语言入门1.1 Java的特点1.1.1面向对象:•与C++相比,JAVA是纯的面向对象的语言C++为了向下兼容C,保留了很多C里面的特性,而C,众所周知是面向过程的语言,这就使C++成为一个"混血儿"。

而JAVA语法中取消了C++里为兼容C所保留的特性,如取消了头文件、指针算法、结构、单元等。

1.1.2可移植(平台无关性):•生成中间字节码指令与其他编程语言不同,Java并不生成可执行文件(.exe文件),而是生成一种中间字节码文件(.class文件)。

任何操作系统,只要装有Java虚拟机(JVM),就可以解释并执行这个中间字节码文件。

这正是Java实现可移植的机制。

•原始数据类型存储方法固定,避开移植时的问题Java的原始数据类型的大小是固定的。

比如,在任何机器上,整型都是32位,而C++里整型是依赖于目标机器的,对16位处理器(比如8086),整数用两个字节表示;在像Sun SPARC这样的32位处理器中,整数用4个字节表示。

在Intel Pentium处理器上,整数类型由具体的操作系统决定:对于DOS和Win32来说,整数是2个字节;对于Windows 9x 、NT和2000,整数是4个字节。

当然,使整数类型平台无关之后,性能必然有所下降,但就Java来说,这个代价是值得的。

Java的字符串,则采用标准的Unicode格式保存。

可以说,没有这个特性,Java的可移植性也不可能实现。

1.1.3简单•JAVA在语法上与C++类似JAVA的语法与C++很接近,有过C或者C++编程经验的程序员很容易就可以学会JAVA语法;•取消了C++的一些复杂而低效的特性比如:用接口技术代替了C++的多重继承。

C++中,一个类允许有多个超类,这个特性叫做"多重继承",多重继承使得编译器非常复杂且效率不高;JAVA的类只允许有一个超类,而用接口(Interface)技术实现与C++的多继承相类似的功能其它被取消的特性包括:虚拟基础类、运算符过载等•JAVA的基本解释器和类支持模块大概仅40K即使加入基本的标准库和支持线程的模块,也才220K左右。

第一章-Java基础笔记

第一章-Java基础笔记

第⼀章-Java基础笔记Java语⾔的概述Java是⼀门⾯向对象的语⾔,Java相对于C语⾔来说学习相对简单,它主要的三⼤特点就是:封装、继承、多态,并且只需要进⾏⼀次源码编译,在任何装有对应版本的JVM 虚拟机环境的计算机下运⾏;Java的三个版本JavaSE主要⽤于桌⾯应⽤的开发JavaME主要⽤于嵌⼊式系统的开发JavaEE主要⽤于企业级的WEB端开发和服务器开发Java环境介绍JDK - 提供了开发者的⼀些⼯具包,并包含了[JRE和JVM]JRE - Java的运⾏环境,提供了运⾏时需要的类库,并包含了[JVM]JVM - Java的虚拟⼀块内存区域,⽤于执⾏Java的代码Java跨平台交互图Java代码的运⾏机制后缀点java的⽂件会通过 javac命令进⾏⽂件的编译成⼀个能够被JVM读懂的字节码⽂件,通过加载、校验、初始化的过程都内存中,通过JVM寄存器读取⽂件中的⾏号,进⾏执⾏相关代码;注释注释是为了在编写程序时对某个类、⽅法或是⼀段代码进⾏功能作⽤的说明,它不会被编译成代码执⾏,只是起到⼀个描述作⽤,便于对代码的理解;Java中的注释分为3种:单⾏注释://多⾏注释:/* */⽂档注释:/** */对注解的内容⽣成JavaDoc⽂档DOS命令进⼊到要⽣成Doc⽂档的层级⽬录,执⾏:javadoc -encoding UTF-8 -charset UTF-8 ⽂件名称/*** @Author JavaCat7* @Description 这是⼀个⽂档注释*/public class Demo{/*** @Parameter args 对参数的描述* @Description 这是⼀个⽂档注释*/public static void main(String[] args){//这是⼀个单⾏注释System.out.println("Hello Java");/*这是多⾏注释这是多⾏注释*/}}标识符每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;规范:每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;**规范:**1.严格区分⼤⼩写;2.开头可以是$ 或 _ 或 A-Z a-z的字母组成,也可以汉字(不会这么⼲);3.可以由数字、字母或者是 $ 或 _ 组成,但数字不能⽤于开始;4.不可以包含特殊字符;5.不能以Java语⾔中的保留字作为命名;6.类名采取⼤驼峰命名法;7.⽅法和变量采取⼩驼峰命名法;8.常量采取⼤学加_进⾏命名;基本数据类型Java是强类型计算机语⾔,所有的变量必须先定义才能使⽤,对于强类型⽽⾔主要就是指的数据安全,强类型的语⾔有很多,⽐如C、C++、python...计算机存储单位换算bit(位) - 是计算内部数据存储的最⼩单元,通过8个⼆进制位进⾏表⽰;byte(字节) - 是计算机中数据处理的基本单位,通常使⽤B来表⽰;8个bit(位) = 1B(字节)1024个B(字节) = 1KB1024个KB = 1MB1024个MB = 1GB....//整数类型byte a = 1;short b = 2;int c = 3;long d = 4L;//⼩数类型float e = 5.0f;duble f = 6.0d;//字符类型char g = 'a';//布尔类型boolean h = true;boolean i = false;数据类型的转换各数值相关数据类型⽀持类型上的转换,既可以把排序级别较低的类型转换成排序级别较⼤的类型,也可以把排序级别较⾼的类型转换成级别较低的类型(但会造成数据的丢失);数据的转换强制类型转换 - 在要转换的变量前使⽤:要转换的对应数据类型如- (int)⾃动类型转换 - 在不同的数值数据类型运算中,它会以排序级别较⾼的数据类型作为基础⾃动转换int number1 = 128;//正常byte的值是 -128 - 127,强制把int类型转换成byte会造成数据的不精确byte number2 = (byte)number1;int number3 = 519;float number4 = 1.0f;//在运算过程中因为float的排序级别⽐int⾼,那么它会⾃动转换成float类型在完成运算float number5 = number3 + number4;变量,静态变量,常量及作⽤域变量是指可以变化的值,通过数据类型和变量名可以在内存中申请⼀块存储的空间,通过内存的引⽤地址可以设置改变内存中存储的值或者修改值,所有的变量必须先赋值才可以使⽤;成员变量成员变量是指在类中与⽅法同级的位置中定义的成员变量,在该位置定义的变量可以不⽤设置值就可以使⽤,因为它会对类进⾏初始化,并完成初始化赋值,就算不给他们赋值也会有默认的初始值,他们的默认初始值都是最⼩的单元;作⽤域成员位置的变量,可以在⾮静态⽅法的所有位置使⽤,如果要在静态⽅法中使⽤,需要先创建对象;public class Variable{int a; //默认为:0float b; //默认为:0.0char c; //默认为:''boolean d; //默认为:false}局部变量局部变量是指在⽅法内部定义的变量,必须要先完成初始化后,才可以被使⽤;作⽤域局部位置的变量,外部⽆法使⽤,只能在⽅法内部使⽤,可以和外部的变量名称相同;public class Variable{int number;public void method(){int number = 3;//可以和成员位置的变量名称相同}}静态变量静态变量是指被static关键字修饰的变量,被修饰的变量⼜称为类变量;作⽤域静态变量可以作⽤域与所有⽅法中,静态变量只能定义在类的成员位置;public class Variable{static int number ;public static void main(String[] arags){System.out.println(number);}public void method(){System.out.println(numbe);}}常量常量是指不能被改变的值,它在创建到成员位置必须要先完成赋值,⼀旦被创建它的值是不允许被更改的;作⽤域它的作⽤域和成员变量相同public class Variable{final int NUMBER = 3.1415926;}静态常量静态常量是指从属于类的常量,在完成初始化以后是不可以被修改的,并且被public所进⾏修饰;作⽤域它的作⽤域和静态变量相同运算符算术运算符int a = 5;int b = 2;int number = a + b; //number = 7;int number = b - a; //number = 3;int number = a * b; //number = 10;int number = a / b; //number = 2,只取整数;double number = a / (double)b; //number = 2.5int number = a % b; //number = 1;⾃增⾃减运算符int a = 1;int b;b = a++; //b = 1; 先把a的值赋值给b,后a进⾏ +1 操作;b = a--; //b = 2; a前⾯进⾏了⾃增那么就是2,先把2赋值给b,然后进⾏ -1 操作;b = ++a; //b = 2; 前⾯a进⾏了⾃减那么就是1,先对a进⾏⾃增加1,然后在赋值给b;b = --a; //b = 1; 前⾯a是2,先对a进⾏⾃减1,在赋值给b;赋值运算符int a = 5;//把 5 赋值给 a;int b = 2;//把 2 赋值给 b;a += b; // a = 7(a+b的结果在赋值给a);a -= b; // a = 3;a *= b; // a = 10;a /= b; // a = 2;a %= b; // a = 1;关系运算符int a = 5;int b = 2;a > b; //truea < b; //falsea >= b; //falsea <= b; //truea == b; //falsea != b; //true逻辑运算符boolean a = true;boolean b = false;a &&b = false;//都true则true,第⼀个条件为false就不会在看第⼆个条件,直接返回falsea ||b = true;//⼀个条件为true则true,第⼀个条件为tre就不看第⼆个条件,直接返回true! a = false;//取反a &b = false;//2个条件都要执⾏a |b = true;三元运算符int a = 5;int b = 5;a ==b ? "等于":"不等于"; //为true返回第⼀个,为false返回第⼆个流程控制语句If语句if语句就是判断条件是否成⽴,成⽴就执⾏if中的代码,不成⽴就不进⼊;boolean flag = true;if(flag){System.out.println("...");}if...else语句if...else语句就是根据判断的条件是否成⽴,成⽴⾛if语句,不成⽴⾛else语句;boolean flag = true;if(flag){System.out.println("成⽴");}else{System.out.println("不成⽴");}if...else if语句if...else if⽀持多条件的判断,只会进⼊⼀个匹配的条件;boolean flag = true;boolean fail = false;if(flag){System.out.println("条件匹配");}else if(fail){System.out.println("条件匹配");}else{System.out.println("条件都不匹配");}switch条件控制语句witch语句从JDK1.7开始可以⽀持匹配:String字符串;注意事项:每个case 后⾯必须跟⼀个数值常量或字符串常量⽤于匹配;匹配的语句后⾯需要加上break关键字,防⽌case穿透;String week = "星期⼀";switch(week){case "星期⼀":System.out.println("今天是星期⼀");break;case "星期⼆":System.out.println("今天是星期⼆");break;case "星期三":System.out.println("今天是星期⼆");break;default:System.out.println("今天星期⼏都不是");}循环控制语句for循环语句for(初始值,条件表达式,更新)for(int i = 1 ; i <= 10 ; i++){System.out.println(i);}增强for循环for(接收类型的变量,表达式)int [] arrays = {1,2,3,4,5,6,7,8,9,10};for(int i : arrays){System.out.println(arrays);}while循环语句while(条件表达式)int number = 1;while(number <= 100){System.out.println(number);number ++;}do...while循环语句do{先把语句执⾏⼀遍}while(条件表达式);boolean flag = true;do{System.out.println("先执⾏⼀遍");flag = false;}while(flag);break和continue关键字break关键字结束循环的意思;for(int i = 1; i <= 100; i++){if(i == 10){System.out.println("打印10后结束循环");break;}}continue关键字跳过当前循环,进⼊下⼀次循环;for(int i = 1 ; i <= 10; i ++){if(i % 2 == 1){continue;}System.out.println("打印:"+i);}⽅法概述:⽅法就相当于使⽤多⾏代码进⾏组合去实现的⼀个功能⽚段,对代码进⾏封装利⽤,可实现多次调⽤;⽅法的定义修饰符返回值⽅法名称(形参形参名称){⽅法体}public class Function{public static void main(String[] arags){}public void method1(){}public void method2(String name,int age){}public static void method3(){}public int method03(){int a = 3;return a;}public int method04(int a,int b){if(a == b){System.out.println(a + "和" + b + "相等");return -1;}return a > b ? a : b;}}⽅法的重载⽅法的重载是指⽅法名称相同,传递的参数类型不同,个数不同,顺序不同与返回值⽆关;这样的⽅法被称为⽅法的重载;public class Function{public int max(int a,int b) {return a > b ? a : b;}public double max(double a,double b){return a > b ? a : b;}}形参和实参形参是指在()内部的参数,实参是指被真实传递的参数;public class Function{public static vid main(String[] args){Function function = new Function();function.max(3,5);}public int max(int a,int b) {return a > b ? a : b;}}可变参数在⽅法的()中我们有时候不知道要传递多少参数,那么我们可以传递⼀个数据类型紧跟后⾯加上...来表⽰;但需要注意的是⼀个⽅法中指允许⼀个可变参,如果有其他类型的参数,那么可变参数需要写在最后⾯;可变参数本质上就是⼀个数组;public class Function{public void method(String name,int... numbers){for(int num : numbers){System.out.println(num);}}}递归递归的本质就是⾃⼰调⽤⾃⼰,它可以解决⼀些业务,但效率和开销较⼤,对⼀些⽐较⼩的运算可以使⽤;//递归求3的阶乘public class Founction{public static void main(String[] args){}public int founction(int number){int result = 1;if(number == result){return result;}return number * founction(number - 1);}}数组数组就是⼀组数据的集合,Java中的数组必须存储和数据类型相符合的值,不允许与定义的数据类型不匹配;⼀旦数组被创建出来,它的长度就不允许被改变,数组有下标(索引)的概念,都是从0开始,如果操作的数据超过数组的长度那么就会报出下标索引越界异常[ IndexOutofBoundsException ];数组的定义int[] array = new int[3];int array[] = new int[3];int array[] = {1,2,3};数组的内存模型图数组的遍历⽅式int[] arr = new int[10];//⽅式⼀for (int i = 0; i < arr.length ; i ++) {System.out.println(arr[i]);}//⽅式⼆for (int num : arr) {System.out.println(num);}⼆维数组int[][] arr = new int[3][2];String[][] strArr = {{"hello","hello"},{"hi","hi","hi",{"java","java","java","java"}}Arrays⼯具类Arrays数组的⼯具类,是jdk已经帮我们提供好的⼀套数据⼯具类,⽅便我们对数据相关进⾏⼀些操作;int[] arr = {3,51,1,33,82,22,55,53};Arrays.toString(arr);//把数组变成⼀个字符串Arrays.sort(arr);//对数组内容进⾏升序排列Arrays.fill(arr,0);//把数组的内容全部进⾏替换为0常见算法冒泡排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//冒泡排序算法public static void popArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每次⽐较⼀轮,需要减少1次⽐较的次数for (int j = 0; j < arr.length - i - 1; j++) {//如果前⾯的数据⽐后⾯⼤,那么就交换位置if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}选择排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//选择排序public static void selectOrderArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每⽐较⼀次,需要减少1次⽐较的次数,会把⼩的先往前排for(int j = i+1;j<arr.length;j++){if(arr[i]>arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}⼆分查找public static int[] arr = new int[]{1, 2, 3 , 4, 6, 7, 8, 13, 19};//2分查找法public static void branchFind(int [] arr,int number){int startNode = 0;int endNode = arr.length-1;int middle = 0;while (startNode <= endNode){//中间的指针由开始节点和结束节点计算得来middle = (startNode+endNode)/2;if(number == arr[middle]){System.out.println("找到了");break;}else if(number < arr[middle]){endNode=middle-1;System.out.println(number+"⼩于中间值,结束节点变更为中间节点-1"); }else if(number > arr[middle]){startNode = middle+1;System.out.println(number+"⼤于中间值,开始节点变更为中间节点+1"); }else{System.out.println("没有找到该元素");break;}}}。

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必备基础知识点(超全)

Java必备基础知识点(超全)

Java必备基础知识点(超全)Java基础1、简述Java的基本历史java起源于SUN公司的⼀个GREEN的项⽬,其原先⽬的是:为家⽤消费电⼦产品发送⼀个信息的分布式代码系统,通过发送信息控制电视机、冰箱等2、简单写出Java特点,写出5个以上,越多越好简单的、⾯向对象的、分布式的、安全的、稳定的、与平台⽆关的、可解释的、多线的、动态的语⾔。

3、什么是Java?JAVA:⼀种编程语⾔⼀种开发环境⼀种应⽤环境⼀种部署环境4、请写出Java的版本分类,以及每种版本的应⽤⽅向三种版本:JME:是⾯向内存有限的移动终端. 为消费性产品设计的;JSE:是SUN公司针对桌⾯开发和低端商务计算⽅案开发的版本。

为笔记本电脑、PC机设计的;JEE:是⼀种利⽤JAVA 2平台来简化企业解决⽅案的开发、部署和管理相关的复杂问题的体系结构。

为企业级的、服务器端的⾼端应⽤⽽设计的;5、描述Java技术的主要特性java虚拟机垃圾回收代码安全性如果你想学习Java可以来这个群,⾸先是⼆⼆零,中间是⼀四⼆,最后是九零六,⾥⾯有⼤量的学习资料可以下载。

6、描述 Java虚拟机的功能(1)通过 ClassLoader 寻找和装载 class ⽂件(2)解释字节码成为指令并执⾏,提供 class ⽂件的运⾏环境(3)进⾏运⾏期间垃圾回收(4)提供与硬件交互的平台7、简述Java代码安全性(1)编译时的错误检验(2)类装载检查,把本机上的类和⽹络资源类相分离,在调⼊类的时候进⾏检查,因⽽可以限制任何“特洛伊⽊马”的应⽤(3)字节码校验(4)沙箱机制,限定访问权限8、描述Java垃圾回收机制Java 编程语⾔解除了程序员释放内存的责任。

它可提供⼀种系统级线程以跟踪每⼀次内存的分配情况。

在 Java 虚拟机的空闲周期,垃圾收集线程检查并释放那些可被释放的内存。

垃圾收集在 Java 技术程序的⽣命周期中⾃动进⾏,它解除了释放内存的要求,这样能够有效避免内存漏洞和内存泄露(内存泄露就是程序运⾏期间,所占⽤的内存⼀直往上涨,很容易造成系统资源耗尽⽽降低性能或崩溃。

java的全部知识点总结

java的全部知识点总结

java的全部知识点总结Java是一种广泛使用的高级编程语言,其设计目的是使应用程序跨平台运行。

Java已经成为最受欢迎的编程语言之一,被广泛应用于企业级软件开发、Web应用程序和移动应用程序开发等领域。

本文将对Java的各种知识点进行总结,包括基础知识、面向对象编程、异常处理、集合框架、多线程、网络编程、IO流、反射等方面。

基础知识Java是一种面向对象的编程语言,它的基础知识包括数据类型、运算符、流程控制、方法和数组等。

数据类型:Java的数据类型包括基本数据类型和引用数据类型。

基本数据类型包括整型、浮点型、字符型和布尔型,引用数据类型包括类、接口、数组等。

运算符:Java的运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符等。

流程控制:Java的流程控制包括if语句、switch语句、while循环、do-while循环、for循环和分支语句等。

方法:Java的方法是一组执行特定任务的代码块,可以被其他代码调用,有返回值和参数等特点。

数组:Java的数组是一种存储相同类型数据的集合,可以存储基本数据类型或者引用数据类型。

面向对象编程面向对象编程是Java的核心特性之一,其基本知识点包括类与对象、封装、继承、多态、接口和抽象类等。

类与对象:类是Java中的一种重要机制,是一种数据结构和行为的模板。

对象是类的实例化结果,拥有类的属性和行为。

封装:封装是指将对象的属性和行为封装在一起,对外部隐藏对象的实现细节。

继承:继承是指一个类可以派生出其他类,派生类可以继承基类的属性和行为,并可以添加新的属性和行为。

多态:多态是指多个类可以使用同一行为名称,但具体行为的实现可以由不同类覆盖实现。

接口:接口是Java中一种重要的机制,定义了一组与实现无关的方法,被不同的类实现。

抽象类:抽象类是一种包含抽象方法的类,不能被直接实例化,需要被派生类实现其抽象方法。

异常处理异常处理是Java中的重要特性,用于处理程序运行时的错误和异常。

(完整版)最全的java学习笔记(必看)

(完整版)最全的java学习笔记(必看)

Java学习笔记目录一、Java技术基础 .........................................................................................................................1.1编程语言...............................................................................................................................1.2 Java的特点...........................................................................................................................1.3 Java开发环境.......................................................................................................................1.4 Java开发环境配置...............................................................................................................1.5 Linux命令与相关知识 ........................................................................................................1.6 Eclipse/Myeclipse程序结构 ................................................................................................二、Java语言基础 .........................................................................................................................2.1基础语言要素.......................................................................................................................2.2八种基本数据类型...............................................................................................................2.3常量和变量...........................................................................................................................2.4运算符与表达式...................................................................................................................2.5编程风格...............................................................................................................................2.6流程控制语句.......................................................................................................................2.7数组.......................................................................................................................................2.8字符串...................................................................................................................................2.9方法三要素...........................................................................................................................2.10插入排序.............................................................................................................................2.11冒泡排序.............................................................................................................................2.12冒泡排序:轻气泡上浮的方式.........................................................................................2.13二分法查找.........................................................................................................................2.14 Java系统API方法调用 ....................................................................................................2.15二进制基础.........................................................................................................................2.16 Java基础其他注意事项.....................................................................................................三、面向对象 .................................................................................................................................3.1类...........................................................................................................................................3.2对象.......................................................................................................................................3.3包...........................................................................................................................................3.4方法及其调用.......................................................................................................................3.5引用.......................................................................................................................................3.6访问控制(封装)...............................................................................................................3.7构造器...................................................................................................................................3.8 super()、super.和this()、this........................................................................................3.9重载和重写...........................................................................................................................3.10继承.....................................................................................................................................3.11 static ....................................................................................................................................3.12 final .....................................................................................................................................3.14抽象类.................................................................................................................................3.15接口.....................................................................................................................................3.16内部类.................................................................................................................................3.17匿名类.................................................................................................................................3.18二维数组和对象数组.........................................................................................................3.19其他注意事项.....................................................................................................................四、Java SE核心I .........................................................................................................................4.1 Object类...............................................................................................................................4.2 String类................................................................................................................................4.3 StringUtils类 ........................................................................................................................4.4 StringBuilder类....................................................................................................................4.5正则表达式...........................................................................................................................4.6 Date类..................................................................................................................................4.7 Calendar类 ...........................................................................................................................4.8 SimpleDateFormat类 ...........................................................................................................4.9 DateFormat类.......................................................................................................................4.10包装类.................................................................................................................................4.11 BigDecimal类 ....................................................................................................................4.12 BigInteger类.......................................................................................................................4.13 Collection集合框架 ...........................................................................................................4.14 List集合的实现类ArrayList和LinkedList ......................................................................4.15 Iterator迭代器....................................................................................................................4.16泛型.....................................................................................................................................4.17增强型for循环..................................................................................................................4.18 List高级-数据结构:Queue队列 ..................................................................................4.19 List高级-数据结构:Deque栈 ......................................................................................4.20 Set集合的实现类HashSet ................................................................................................4.21 Map集合的实现类HashMap ............................................................................................4.22单例模式和模版方法模式.................................................................................................五、Java SE核心II ........................................................................................................................5.1 Java异常处理机制...............................................................................................................5.2 File文件类 ...........................................................................................................................5.3 RandomAccessFile类...........................................................................................................5.4基本流:FIS和FOS ............................................................................................................5.5缓冲字节高级流:BIS和BOS ...........................................................................................5.6基本数据类型高级流:DIS和DOS ..................................................................................5.7字符高级流:ISR和OSW ..................................................................................................5.8缓冲字符高级流:BR和BW .............................................................................................5.9文件字符高级流:FR和FW ..............................................................................................5.10 PrintWriter ...........................................................................................................................5.11对象序列化.........................................................................................................................5.12 Thread线程类及多线程 ....................................................................................................5.13 Socket网络编程.................................................................................................................5.15双缓冲队列.........................................................................................................................Java技术基础1.1编程语言机器语言:0 1 在硬件直接执行汇编语言:助记符高级语言:(Java运行比C/C++慢)1)面向过程的高级语言:程序设计的基本单位为函数,如:C/C++语言。

传智播客刘意老师JAVA全面学习笔记(word文档良心出品)

传智播客刘意老师JAVA全面学习笔记(word文档良心出品)

JAVA 学习路线第一天1:计算机概述(了解)22:键盘功能键的认识和快捷键(掌握)2 3:常见的DOS命令(掌握)34:Java语言概述(了解)35:JDK,JRE,JVM的作用及关系(掌握) 3 6:JDK的下载,安装,卸载(掌握)47:第一个程序:HelloWorld案例(掌握)4 8:常见的问题(掌握)59:path环境变量(掌握)510:classpath环境变量(理解)5第二天1:关键字(掌握)62:标识符(掌握)63:注释(掌握)74:常量(掌握)75:进制转换(了解)76:变量(掌握)87:数据类型(掌握)88:数据类型转换(掌握)8第三天1:运算符(掌握)102:键盘录入(掌握)113:流程控制语句124:if语句(掌握)12第四天1:switch语句(掌握)142:循环语句(掌握)153:控制跳转语句(掌握)17第五天1:方法(掌握)182:数组(掌握)19第六天1:二维数组(理解)232:两个思考题(理解)233:面向对象(掌握)23第七天1:成员变量和局部变量的区别(理解)252:类作为形式参数的问题?(理解)253:匿名对象(理解)254:封装(理解)255:private关键字(掌握)256:this关键字(掌握)267:构造方法(掌握)268:代码:Student s = new Student();做了哪些事情?(理解)27 9:面向对象的练习题(掌握)27第八天1:如何制作帮助文档(了解)282:通过JDK提供的API学习了Math类(掌握)283:代码块(理解)284:继承(掌握)28第九天1:final关键字(掌握)302:多态(掌握)303:抽象类(掌握)324:接口(掌握)33第十天1:形式参数和返回值的问题(理解)352:包(理解)353:导包(掌握)354:权限修饰符(掌握)365:常见的修饰符(理解)366:内部类(理解)37第十一天1:Eclipse的概述使用(掌握)402:API的概述(了解)403:Object类(掌握)40第十二天1:Scanner的使用(了解)412:String类的概述和使用(掌握)41第十三天1:StringBuffer(掌握)442:数组高级以及Arrays(掌握)443:Integer(掌握)464:Character(了解)47第十四天1:正则表达式(理解)472:Math(掌握)493:Random(理解)494:System(掌握)495:BigInteger(理解)506:BigDecimal(理解)507:Date/DateFormat(掌握)508:Calendar(掌握)51第十五天1:对象数组(掌握)522:集合(Collection)(掌握)523:集合(List)(掌握)55第十六天1:List的子类(掌握)572:泛型(掌握)583:增强for循环(掌握)584:静态导入(了解)585:可变参数(掌握)596:练习(掌握)597:要掌握的代码59第十七天1:登录注册案例(理解)602:Set集合(理解)603:Collection集合总结(掌握)604:针对Collection集合我们到底使用谁呢?(掌握)61 5:在集合中常见的数据结构(掌握)61第十八天1:Map(掌握)622:Collections(理解)63第十九天1:异常(理解)642:File(掌握)65第二十天1:递归(理解)662:IO流(掌握)663:自学字符流第二十一天1:字符流(掌握)69第二十一天1:字符流(掌握)692:IO流小结(掌握)703:案例(理解练习一遍)71第二十二天1:登录注册IO版本案例(掌握)722:数据操作流(操作基本类型数据的流)(理解)72 3:内存操作流(理解)724:打印流(掌握)725:标准输入输出流(理解)736:随机访问流(理解)737:合并流(理解)738:序列化流(理解)739:Properties(理解)7410:NIO(了解)74第二十三天1:多线程(理解)75第二十四天1:多线程(理解)772:设计模式(理解)77第二十五天1:如何让Netbeans的东西Eclipse能访问79 2:GUI(了解)79第二十六天1:网络编程(理解)80第二十七天1:反射(理解)822:设计模式823:JDK新特性82JA V A学习总结姓名:陈鑫第一天1:计算机概述(了解)(1)计算机(2)计算机硬件(3)计算机软件系统软件:window,linux,mac应用软件:qq,yy,飞秋(4)软件开发(理解)软件:是由数据和指令组成的。

java笔记

java笔记

Java学习笔记(讲师:韩顺平)整理:reamd1、先建一个工程——>包——>类2、java中类名首字母大写方法名的首字母是小写的①匈牙利法:myCode②下划线法:my_code3.先设计类 然后根据类创建对象实例化一个开辟一个内存设计类的过程class 类名{};设计类的属性时,尽量带着private的控制访问符号,如需要访问类私有的属性,可通过构造一个公共的方法去给予外界一定的访问权。

(1)构造方法,在建立一个新的对象时会自动调用构造方法初始化成员属性。

(注:若类的形式为:class Clerk{int age;};则构造函数的形式为public Clerk(int age){ this.age=age;};)(2)类方法:public static int total() {方法语句;}4. this指向一个对象,而不是类this只能在类定义中用5.(1)static int a;a称为静态变量或类变量,因此其可以被任何一个变量访问;因此它不是任何一个实例所共有的6.java面向对象语言的三大特征:封装、继承、多态。

(可附加:抽象)(1)封装:访问控制符Public 对外公开Protected 对子类和同一个包公开默认向同一个包公开private 只有类本身才可以访问(2)能够继承的访问控制为:Public protected 默认(3)方法的重载方法的名称相同、方法的参数不同。

方法的覆盖:方法的名称相同就把父类覆盖了。

不能把父类方法的访问权限缩小。

(4)多态大类下创建实例,能够自动识别。

7.抽象类,接口,final(1)抽象类:用abstract关键字来修饰一个类,抽象方法不能有主体。

(2)接口:interface 接口名class 类名implements 接口名Implement实现原则:当一个接口实现了,就要求实现接口中的所有方法。

原则:接口不能被实例化;接口中的所有方法不能有主体,(3)final 修饰不希望被他人修改的父类的属性和方法。

JAVA基础知识笔记大全

JAVA基础知识笔记大全

石材背景墙组装电脑3000元电脑配置单Java编程基础说明1.1. Java开发环境搭建JDK与JREJDK(J ava D evelopment K it) Java开发工具,包含开发Java程序的所有组件,包含JRE JRE(J ava R untime E nvironment) Java运行环境,如果要运行Java程序,就需要JRE的支持常用组件:src.zip Java是一门开源的语言,其源代码都在这个压缩包中rt.jar Java的基础核心类库,我们编写Java程序时使用的class都在这个jar包中javac.exe 编译器,将.java源代码编译为.class文件java.exe 虚拟机,运行Java程序的工具jar.exe 将class文件打成jar包的工具javadoc.exe 生成帮助文档的工具环境变量:环境变量是指在操作系统中用来指定操作系统运行环境的一些参数JA V A_HOME:在环境变量中新建JA V A_HOME指定到jdk的安装目录,有些java的安装软件运行会寻找JA V A_HOMEpath:如果想在任意目录下运行一个程序,我们就需要将程序所在的路径配置在path环境变量中。

通常我们会将javac.exe所在目录配置到path中,因为我们需要在任意目录下都能编译Java源文件。

配置完成之后可以在命令行输入javac测试,如果显式帮助信息则是配置成功。

配置:%JA V A_HOME%\bin;classpath:Java虚拟机运行时加载类的路径。

JDK5之后不配置默认为当前目录“.”。

如使用JDK1.4或以下版本时需要人工配置。

暂时不需要配置,默认加载当前目录下的所有class文件。

配置方式:我的电脑鼠标右键点击我的电脑–属性–高级–环境变量找到要修改的变量将其值修改,此种方式永久有效注意配置后检查:编译器版本查看方式:javac –version虚拟机版本查看方式:java –version1.2. HelloWorld编写源代码在电脑磁盘中新建记事本HelloWorld.txt,更改扩展名改为.java,使用记事本在java文件中写入代码。

Java学习笔记整理(细节)

Java学习笔记整理(细节)

Java学习笔记整理本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献。

当然,本文档主要是对java语言基础(当然还有很多基础没有涉及到)的进行较全面的理解已经整理,只要充分掌握了基础知识,学习高级部分的知识才会事半功倍犹如轻车熟路一般容易上手。

正文:CLASSPATH的设置:我们知道运行java必须要设置CLASSPATH环境变量,但是sun java 1.4之后改进了设计,JRE会自动搜索当前路径下的类文件,而且使用java的编译和运行工具时,系统会自动加载dt.jar和tools.jar文件中的类,因此不再需要设置该环境变量。

当然,如果你设置了CLASSPATH环境变量就必须设置全,比如包含当前路径,否则将会出现找不到类的问题。

Java程序的源文件必须与public类的类(接口)名相同,如果源文件所有类都没有使用public修饰,则文件名可以是任意合法的文件名,因此,一个Java源文件里最多自能定义一个public类(接口)。

运算符的结合性和优先级只有单目运算符,赋值运算符和三目运算符是从右向左结合的,其余全是左结合的。

运算符优先级运算符说明java运算符分隔符. [] () {} , ;单目运算符++ -- ~ !强制类型转换运算符(type)四则运算符和求余运算移位运算符<<>>>>>关系运算符<<= >>= instanceof等价运算符== !=按位与&按位异或^按位或|条件与&&条件或||三目运算符?:赋值运算符= += -= /= *= &= |= ^\ <<= >>= >>>= %=break continue 后跟标签,可以直接结束其外层循环。

return 用于结束整个方法。

JAVA常用知识点(必备)

JAVA常用知识点(必备)

JAVA常⽤知识点(必备)1、JAVA的跨平台原理java通过不同系统,位数,版本的虚拟机来屏蔽不同的指令集差异,对外提供统⼀的接⼝(java api)2、JAVA特性封装:属性私有化,对外提供⽅法(set/get)继承:在⼀个现有类基础上,修改或新增新的内容多态:引⽤变量指向的具体类型和⽅法在运⾏时才确定3、String、StringBuffer、StringBuiler区别String是内容不可变的字符串,StringBuffer、StringBuiler是内容可变的字符串StringBuffer是线程安全的、StringBuiler是⾮线程安全的4、集合(1)集合分两种,值集合和键值集合值集合主要是List和Set,都继承了Collection接⼝键值集合主要是Map(2)List:有序,可重复分为ArrayLIst、LinkedList和VectorArrayList底层是数组实现,为连续的内存空间,所以查找速度快,增删速度慢LinkedList底层是链表实现,不连续的内存空间,所以增删速度快,查找速度慢Vector底层是数组,线程安全(3)Set:⽆序,不可重复重写equals和hashcode⽅法,因为在add,会先⽤equals判断值是否相等,再判断是否具有相同的hash值(属性相同的对象被看作同⼀个对象)(4)Map:键值对hashMap:可以存储空值,⾮线程安全。

put存储键值对的时候,会调⽤hashcode⽅法返回⼀个hashcode值,找到bucket位置存储Entry对象,使⽤get(key)获取对象解决hashmap⾮线程安全问题:因为hashmap内部类似链表结构,在多线程环境下有可能成环,解决⽅法ConcurrentHashMap(把⼀个Map分成N个segment,分别加锁,保证线程安全)。

hashtable:线程安全5、拷贝⽂件思路:源⽂件、源地址、⽬标⽂件、⽬标地址缓存输⼊输出流(FileInputStream、FileOutputStream)改进:FileChannels(transferTo),适合拷贝⼤⽂件6、线程池为了避免重复的创建和销毁线程,让创建的线程进⾏复⽤,存放空闲线程的⼀个池⼦Executors.NewFixedThreadPool()创建⼀个固定⼤⼩的线程池7、存储过程的好处(1)预编译,只在创建时进⾏编译,提⾼数据库执⾏速度(2)⽐较复杂的业务需要多条sql,提⾼⽹络传输速度(3)安全性8、ajax参数url:请求地址type:get/postdata:请求数据dataType:服务器返回数据类型(json、text、xml、html)success:成功调⽤函数erroe:失败调⽤函数9、Struts2执⾏流程(1)服务端接收客户端请求,经过⼀系列的过滤器,到达核⼼过滤器(StrutsPrepareAndExecuteFilter)(2)StrutsPrepareAndExecuteFilter通过ActionMapper将请求交给ActionProxy代理(3)ActionProxy通过Configeration Manager找到配置⽂件,找到需要调⽤的Action(4)创建⼀个ActionInvocation实例,调⽤Action⽅法,调⽤前后还会执⾏相关的拦截器(5)通过结果集的name返回对应的结果集,对浏览器进⾏响应10、Struts2拦截器通过动态配置,在action前后加⼊⼀些相关的逻辑包括:登录判断,未登录跳转到登录页⾯⽤户权限判断,没有权限给出判断信息操作⽇志11、SpringMvc⼯作流程(1)⽤户向服务器发起请求,请求交给前端控制器DispatcherServlet处理(2)DispatcherServlet对请求的URL进⾏解析,得到URI,调⽤HandlerMapping获得Handler配置的所有相关对象(3)DispatcherServlet根据获得的Handler,选择⼀个合适的HandlerAdapter,执⾏Handler(4)Handler执⾏完成后,返回⼀个ModelAndView对象(5)DispatcherServlet根据返回的ModelAndView,选择⼀个合适的视图解析器,返回客户端12、Struts1⼯作流程(1)服务段接收到客户端请求,交给ActionServlet处理(2)拦截所有.do请求,将客户请求封装到actionForm⾥⾯,到配置⽂件去匹配对应的action(主要有⼏个属性,name对应封装的actionform,input匹配拦截的路径和⽅法,type匹配action的实现类)(3)action处理完返回actionforward对象,根据配置⽂件找到对应页⾯返回给客户端13、SpringMvc和Struts2区别(1)核⼼控制器不同,SpringMvc是Servlet,Struts2是filter(2)控制器实例不同,SpringMvc是基于⽅法级别,只会有⼀个实例,线程不安全,Struts2基于对象,针对不同的请求,产⽣不同的ActionInvaction实例(3)参数传递:Struts2是通过值栈传递,SpringMvc是通过⽅法的参数传递(4)intercepter拦截器:Struts2有⾃⼰的拦截器,SpringMvc⽤aop实现(5)SpringMvc处理ajax请求直接返回数据@ResponseBody14、Struts1和Struts2的区别(1)因为forward都是返回到具体的jsp页⾯,每⼀个forward对应配置⽂件的⼀个forward标签,每⼀次改动配置⽂件都要重启Tomcat(2)struts1⾥的action是单例模式的,供多个请求共享,所以不是线程安全的。

Java基础知识笔记总结

Java基础知识笔记总结

Java知识——精华总结一、java概述与基础知识 (6)二、方法与数组 (19)三、面向对象(1) (28)四、面向对象(2) (39)五、异常处理和常用类 (59)六、线程技术 (77)七、集合框架(1) (93)八、集合框架(2) (110)九、IO操作(1) (123)十、IO文件操作(2) (135)十一、网络编程 (146)十二、反射机制 (162)十三、GUI界面 (181)十四、Java高新技术(1) (197)十五、Java高新技术(2) (205)十六、Java高新技术(3) (215)十七、面试题之交通灯管理系统 (233)十八、面试题之银行业务系统 (241)一、java概述与基础知识 (6)1、何为编程? (6)2、Java语言概述,历史、特点 (6)3、什么是跨平台性?原理是什么?JVM (6)4、Jre和Jdk的区别? (7)5、java虚拟机JVM (7)6、Java程序运行机制 (7)7、学习java注意的地方 (8)8、Java语法格式 (8)9、代码注释:单行//,多行/* */,文档注释/** */ (8)10、Java中的标识符 (8)11、java中的常量和变量 (9)12、Java成员变量和局部变量 (9)14、基本数据类型转换之向上转型和向下转换 (11)15、Java的运算符 (12)16、表达式和三目运算符 (12)17、程序流程控制 (13)18、三大循环结构: (15)19、嵌套循环与流程控制 (17)二、方法与数组 (19)1、什么是方法(Method)? (19)2、Java中方法的格式: (19)3、方法里的属性 (20)4、方法特点 (20)5、什么是方法的重载(Overload)? (21)6、可变参数 (22)7、数组简介: (22)8、一维数组的声明与初始化: (23)9、数组的使用: (24)10、分配内存空间 (25)11、二维数组: (26)12、操作数组的工具类-Arrays (27)13、Java5新特性对数组的支持: (28)三、面向对象(1) (28)1、什么叫面向对象? (28)2、类 (29)3、构造方法 (30)4、static关键字 (31)5、匿名对象 (32)6、this关键字 (32)7、面向对象之封装 (32)8、访问修饰符 (33)9、类的设计分析 (34)10、面向对象之继承 (34)11、子类访问父类和方法覆写 (35)12、super关键字和调用父类构造方法 (36)13、面向对象之多态 (37)14、引用变量类型转换 (38)四、面向对象(2) (39)1、基本数据类型的包装类 (39)2、基本数据类型和包装类相互转换 (40)3、基本类型和String之间的转换 (41)4、Object类 (41)5、代码块 (42)6、构造方法的私有化 (43)7、Singleton模式(单例模式) 饿汉式和懒汉式 (44)8、final 关键字 (46)9、抽象类 (46)10、抽象类的体现-模板模式 (48)11、接口(interface) (50)12、接口的使用 (51)13、面向接口编程之制定标准和简单工厂模式 (52)14、面向接口编程之适配器模式 (54)15、接口和抽象类的比较 (55)16、匿名内部类 (56)17、枚举类 (56)五、异常处理和常用类 (59)1、异常 (59)2、异常处理格式 (60)3、多异常处理 (60)4、异常的分类 (61)5、声明异常(throws) (62)6、throw (62)8、throw和catch同时使用 (64)9、常用类 (64)10、String方法 (66)11、StringBuffer 与StringBuilder (68)12、Math和Random和UUID (71)13、Date和Calendar (73)14、System (76)六、线程技术 (77)1、进程和线程 (77)2、创建线程方式 (78)3、两种进程创建方式比较 (79)4、线程的生命周期 (81)5、控制线程 (82)6、多线程安全问题 (84)7、多线程安全问题的解决方法 (85)8、线程通信 (89)七、集合框架(1) (93)1、集合类& 容器 (93)2、Collection接口 (94)3、Iterator接口 (94)4、集合遍历输出方式 (95)6、TreeSet (99)7、List接口 (103)8、List接口中常用类 (104)9、Map接口 (108)八、集合框架(2) (110)1、Collections类 (111)2、Arrays (112)3、泛型(Generic) (113)5、声明多个泛型类型和通配符 (118)6、泛型的上限与下限 (119)7、泛型接口和方法 (121)8、泛型的嵌套(map例子) (122)九、IO操作(1) (123)1、IO的概述和File方法 (123)2、递归(Recursion) (125)3、文件过滤器java.io.FilenameFilter (126)4、流 (127)5、操作流的步骤(重点) (128)6、字节流和字符流 (129)7、文件拷贝 (131)8、字节→字符转换流 (134)9、自动关闭资源的try语句 (134)十、IO文件操作(2) (135)1、内存操作流 (135)2、打印流 (137)3、格式化输出 (139)4、标准流 (140)5、Scanner(简单文本扫描器) (141)6、缓冲流 (144)7、合并流(SequenceInputStream) (145)十一、网络编程 (146)1、什么是网络编程? (146)2、网络通讯要素 (147)3、TCP和UDP的联系和用途 (147)4、InetAddress与Socket (148)5、UDP传输 (149)6、TCP传输 (153)8、小例子 (159)十二、反射机制 (162)1、反射的概念 (162)2、获得Class对象 (163)3、九个预定义Class对象 (164)4、利用Class获取类的属性信息 (165)5、Class中得到构造方法Constructor、方法Method、字段Field (167)6、利用反射创建对象 (172)7、使用反射调用方法 (175)8、使用反射调用可变参数方法 (176)9、使用反射操作字段 (178)10、反射和泛型-反射来获取泛型信息 (179)十三、GUI界面 (181)1、GUI(图形用户界面) (181)3、事件监听机制组成 (183)4、Dialog (190)5、菜单 (193)十四、Java高新技术(1) (197)1、Eclipse的使用技巧 (197)2、静态导入(1.5特性,好处是不用写类名) (199)3、可变参数 (200)5、基本数据类型的自动拆箱与装箱 (201)6、枚举 (201)7、反射实现框架功能 (203)十五、Java高新技术(2) (205)1、内省了解JavaBean (205)2、内省综合案例和Beanutils工具包 (205)3、注解(Annotation) (208)4、泛型 (211)十六、Java高新技术(3) (215)1、类加载器 (215)2、类加载器的委托机制 (216)3、一个类加载器的高级问题分析 (220)4、代理的概念与作用 (220)5、动态代理技术 (222)6、分析JVM动态生成的类 (222)8、实现类似spring的可配置的AOP框架 (229)十七、面试题之交通灯管理系统 (233)1、面向对象的分析与设计 (234)2、Road类的编写 (234)3、Lamp类的编写 (236)4、LampController类的编写 (239)5、MainClass类的编写 (239)十八、面试题之银行业务系统 (241)1、需求 (241)2、需求分析 (242)3、NumberManager类 (242)4、NumberMachine类 (243)5、CustomerType枚举类 (244)6、ServiceWindow类 (244)7、MainClass类与Constants类 (248)一、java概述与基础知识1、何为编程?编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。

java各详细总结知识点

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初中高级 笔记,很全,很详细。
一包内的类时,不用引入 import p1.p2.p3.p4.p5.*; --- 声明 p5 包中所有的类,不能代表其子包 系统会在每个 java 程序中隐含导入了 ng 这个包
8、java 中的注释, 单行注释 //...... 多行注释 /* .......*/ 文档注释/** ........<p>(换行标签)*/,用 javadoc 命令可以根据原码中的文档注释生成注释
父类。 java 语言的开发效率高,但执行效率低。(相当于 c++的 55%)
(3)纯面向对象的语言 --- 都要放在类中 (4)垃圾回收机制 --- 自动垃圾收集,永远不会出现内存泄露的问题
4、虚拟机
java 语言是先编译后解释,java 源码是通过编译生成一种特殊的.class 的中间字节码文件 , 然后再由 JVM 进行解释运行。
6、数组 内存中的连续空间 数组是一次性定义多个相同类型的变量 Java 中一个数组就是一个对象,有属性,没有方法
int[] a; //定义一个数组,变量名就是指向数组首地址的指针 a=new int[10]; //为数组分配空间 a.length; //得到数组的长度 数组创建后有初始值:数字类型为 0 布尔类型为 false 引用类型为 null String[] 默认值 null
if(a<3&(b=a)==0) b 赋值 if(a<3&&(b=a)==0) b 不赋值 4) || 短路或,前面为真,表达式为真,后面的操作不会进行, | 会对所有条件进行判 断。 5)instanceof,是用于判断一个对象是否属于某个类型 6)java 中的求余运算符“%”可以对两个实型变量求余 5%2=1
文档(html 格式)。文档注释中可以使用 html 标签。 javadoc -d 路径(指定注释文档的保存路径) xxx.java 文档注释一般写在类定义之前,方法之前,属性之前。 在文档注释中可以用 @author 表示程序的作者,@version 表示程序的版本,前两个注
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%Java学习笔记目录一、 Java技术基础 ...........................................................编程语言..................................................................Java的特点..............................................................Java开发环境............................................................Java开发环境配置........................................................(Linux命令与相关知识.....................................................Eclipse/Myeclipse程序结构...............................................二、 Java语言基础 ...........................................................基础语言要素..............................................................八种基本数据类型..........................................................常量和变量................................................................运算符与表达式............................................................编程风格..................................................................:流程控制语句..............................................................数组......................................................................字符串....................................................................方法三要素................................................................冒泡排序..................................................................冒泡排序:轻气泡上浮的方式................................................二分法查找................................................................~Java系统API方法调用....................................................二进制基础................................................................Java基础其他注意事项....................................................三、面向对象................................................................类 .......................................................................对象......................................................................包 .......................................................................方法及其调用..............................................................。

引用......................................................................访问控制(封装)..........................................................构造器....................................................................super()、super.和 this()、this.........................................重载和重写................................................................继承......................................................................static ...................................................................final....................................................................(多态......................................................................抽象类....................................................................内部类....................................................................匿名类....................................................................二维数组和对象数组........................................................其他注意事项..............................................................四、 Java SE核心I ...........................................................;Object类................................................................String类................................................................StringUtils类...........................................................StringBuilder类.........................................................正则表达式................................................................Date类..................................................................Calendar类..............................................................SimpleDateFormat类......................................................^DateFormat类............................................................包装类....................................................................BigDecimal类............................................................BigInteger类............................................................Collection集合框架......................................................List集合的实现类ArrayList和LinkedList ..................................Iterator迭代器..........................................................泛型......................................................................&增强型for循环............................................................List高级-数据结构:Queue队列...........................................List高级-数据结构:Deque栈.............................................Set集合的实现类HashSet ..................................................Map集合的实现类HashMap ..................................................单例模式和模版方法模式....................................................五、 Java SE核心II ..........................................................Java异常处理机制........................................................'File文件类..............................................................RandomAccessFile类......................................................基本流:FIS和FOS .........................................................缓冲字节高级流:BIS和BOS .................................................基本数据类型高级流:DIS和DOS .............................................字符高级流:ISR和OSW .....................................................缓冲字符高级流:BR和BW ...................................................文件字符高级流:FR和FW ...................................................|PrintWriter ..............................................................对象序列化................................................................Thread线程类及多线程....................................................Socket网络编程..........................................................线程池....................................................................双缓冲队列................................................................Java技术基础编程语言/机器语言:0 1 在硬件直接执行汇编语言:助记符高级语言:(Java运行比C/C++慢)1)面向过程的高级语言:程序设计的基本单位为函数,如:C/C++语言。

相关文档
最新文档