当前位置:文档之家› java基础笔记123456

java基础笔记123456

java基础笔记123456
java基础笔记123456

Java语言是sun公司,已经被甲骨文Oracle公司收购

起源于1996年,前身oak语言

编程语言分类:编译型和解释型

JDK:java开发工具包(编译)

JDK1.2

JDK1.3

JDK1.4

JDK5 变化巨大

JDK6

JDK7

JRE:java运行环境(运行)

JVM:java虚拟机

Java三个版本(旧称):

J2SE:java标准版(桌面应用)

J2EE:java企业版(企业级开发)

J2ME:java微小版(手机开发)

Java三个版本(新称从JDK5以后):

JavaSE

JavaEE

javaME

查看已安装的JDK:开始——运行:cmd,java -version

Java语言的优点:

跨平台(跨操作系统)

面向对象(相对于面向过程)

多线程(并发)

网络编程强

开源(开放源代码)

缺点:

运行慢

不适合图形编程

Java源文件的扩展名是.java

Java程序最小的程序单元是一个类class

{ }语句块可以在其中写一到多条语句

main方法(主方法)是程序入口方法,一个项目必须要有一个main方法源文件.java文件需要编译成.class文件(类文件字节码文件)

编译文件命令javac 文件完整名称

运行类文件java 类名

常用DOS命令

切换驱动:例如f: d:

查看当前目录:dir

进入目录:cd 目录名称

上一级目录:cd..

直接回到根目录:cd\

path环境变量:负责外部命令路径

java是半编译半解释的语言

java基本语法:

public类名需要和文件名保持一致

java的语句用分号结束

java语法区分大小写

main方法必须按照固定规则写

课后练习:编写一个类HelloChina,执行之后输出

*******************

** 你好,中国**

*******************

classpath类路径:搜索类(class文件)的路径

classpath默认配置是.代笔当期目录set classpath=.;其他目录1;其他目录2

不管配置的是path还是classpath,都可以配置多个路径,用分号隔开,应用的时候都是从左向右读取配置,以第一个正确的为准

在java中关键字都是小写的

类名的规范:每个单词的首字母大写

一个工作空间其实就是文件夹(目录),存放项目源代码的文件夹

Eclipse万能键:alt+/ syso + 万能键自动补全打印语句

ctrl+shift+F 格式化代码

ctrl+F11 执行类

API(application program interface):应用程序接口,就是java或者其他第三方提供的功能

注释:对代码进行说明

// 单行注释://后面的文本会被虚拟机忽略编译文件命令javac 文件完整名称

运行类文件java 类名

软件开发流程:

1、可行性分析

2、需求分析->开发测试

3、概要设计->分隔模块,定义框架等

4、详细设计->类设计、接口设计

5、编码

6、测试

7、部署

8、维护

单元测试:

要求:

要有边界值的分析,主要针对分支语句的临界点

语句覆盖,保证写的任何语句都要运行到

判定覆盖,所有判断的地方都要覆盖掉

条件覆盖,保证所有条件都要覆盖掉

路径覆盖,所有分支都要测试到

步骤:

1、针对每个类写一个TestCase,在setUp方法中初始化要测试类,在tearDown方法中将测试类置为null

2、逐一编写以test开头的方法

3、新建一个套件类,再把所有的TestCase类加入套件类

Ant:用于对项目的整体构建、修改及部署等操作

Ant的下载:

去阿帕奇官方网站下载

在eclipse的eclipse3.2\plugins\org.apache.ant_1.6.5

建立ant的步骤:

1、写类:src和build.xml必须自己写,src中的源程序要按照包结构去构建好

projectName

classes

src

build.xml

2、写build.xml

/* */ 多行注释不能嵌套

Ctrl+/ 给选中的行加单行注释或者取消选中的行的单行注释

声明定义变量语法:

数据类型变量名称[= 初始值];

数据类型变量名称1 [= 初始值],变量名称2[= 初始值];

字符串类型String,String的常量(直接量)必须用双引号括起,例如:”hello” , “中国”“157”

+有两种用法:如果+号两边都是数字,做的数学运算,如果+号两边有一个是字符串类型,则按字符串拼接运算进行

变量(标识符)的命名规则:

应以字母、下划线、美元符开头

后跟字母、下划线、美元符或数字

不能用关键字和保留字

严格区分大小写

名称长度没有限制

变量的命名规范:第一个单词全小写,从第二个单词开始首字母大写

例如:int studentId myComputerCpu

Java是强类型语言,任何变量都必须明确定义数据类型!

Java数据类型分为两大类:

基本类型:8种

引用类型:4种

基本类型划分:

整型:byte short int long

浮点数:float double

字符型:char

布尔型:boolean

byte 字节型1字节-128~127

short 短整型2字节-32768~32767

int 整型4字节-2147483648~2147483647

long 长整型8字节-92233720368554775808 ~92233720368554775807

整型的常量(直接量)默认都是int型,long型的常量(直接量)后面加L或者l,例如10L,5l

float 单精度浮点型4字节

double 双精度浮点型8字节

浮点型的常量(直接量)默认都是double型,float型的常量(直接量)后面加F或者f,例

如3.14f,15.6F

基本类型转换:

小类型转换为大类型,是自动转换

大类型转换为小类型,必须强制(显式)转换

byte , short , char 这三种类型做了特殊处理,允许直接赋int型的常量(直接量),但不能超出范围

char 字符型2字节无符号类型0~65535,存储单个字符,字符常量(直接量)必须用单引号括起,例如?a?…中?…0?

编码:计算机只能存储0或者1,任何数据都必须转换为0或者1再存储

Asc码:128位数字分别代表键盘每一个符号例如97~122是a~z 65~90是A~Z

Gb2312简体中文支持6000多汉字

Gbk 简体中文支持2万多汉字

Big5 繁体中文

Unicode 全球统一编码前128位和asc码相同

char型和byte,short没有大小之分,互相都需要做强制转换

char型\u0000表示空字符

String类型如果String s = “”;赋的是空字符串

转义字符:单引号中出现单引号字符,或者双引号中出现双引号字符,用反斜杠转义\

特殊转义字符:\n换行符\r回车符\t退格制表位

课后练习1:声明一个String类型的变量,存储以下形状的字符串

*

***

*****

*******

课后练习2:有两个int变量a和b分别赋上值,交换这两个变量的值再输出

写法1:利用第三个变量

写法2:不用第三个变量

布尔型boolean 1字节只能是true或者false 布尔值和数字型不兼容

数学运算表达式的运算结果类型以参与运算的操作数的最大类型为准,最小是int

++自增1运算--自减1运算

i ++ 等价于i = i + 1;

j –等价于j = j – 1

++ --在后面那么先执行其他运算,再执行自增或自减运算

++ --在前面那么先执行自增或自减运算,再执行其他运算

Scanner类可以读取控制台的用户输入,使用之前需要导入这个类import java.util.Scanner; 比较运算符:运算的结果一定是布尔值true或false

逻辑运算符

逻辑与:同真则真,两边的布尔值都为true,才为true,只要有一个为false,就为false

逻辑或:有一个真就为真,两边的布尔值只要有一个为true,就为true,两边都为fasle,才为false

逻辑非:求反,true变为false,false变为true

& 逻辑与

| 逻辑或

! 逻辑非

&& 短路与:当第一个布尔表达式值为false,不会执行另一个表达式,推荐

|| 短路或:当第一个布尔表达式值为true,不会执行另一个表达式,推荐

^ 异或:都为true或者都为false,返回false,一个true,一个false,返回true

运算符的优先级

++ --

+ - * /

> < >= <= == !=

&& ||

扩展赋值运算符:内置类型转换

i += 5 i = i +5 i= (int) (i+5)

i -= 5 i = i -5

课后练习1:华氏温度和摄氏温度的转换

摄氏度=(华氏度-32) * 5 / 9

课后练习2:摄氏温度和华氏温度的转换

课后练习3:用户输入一个浮点数,最多保留2位小数再输出,例如3.1415927,输出3.14 课后练习4:用户输入一个不大于1000的三位数,把每个位的数字相加,求出和输出

345=3 + 4 + 5=12

单目运算符:-x

双目运算符:5+3 10>2

三目运算符:布尔表达式?值1:值2 如果表达式为true,返回值1,否则返回值2

if语句:

语法1:

if (布尔条件表达式) {

条件为true,执行的XX语句

}

语法2:

if (布尔条件表达式) {

条件为true,执行的XX语句

} else {

条件为false,执行的XX语句

}

语法3:

if (布尔条件表达式1) {

xx语句

} else if (布尔条件表达式2) {

xx语句

} else if (布尔条件表达式3) {

xx语句

} [else {

以上条件都为false,默认执行语句

}]

如果if或者else后面的语句块只有一条语句,可以不写{} switch语法:

switch(表达式) {

case 值1:

XX语句;

break;

case 值2:

XX语句;

break;

……

[

default:

XX语句;

break;

]

}

switch表达式类型必须和int兼容,例如char,short,byte

case后面的值必须是常量或者直接量,而且也必须是和int兼容的类型

多个case值不能有相同的值

break是跳出switch块的语句

default是可选的,可以在任何位置出现

FOR循环:计数循环

for ( 计数变量初始化; 条件表达式; 迭代) {

循环体

}

死循环写法

for ( ; ; ) {

}|

不可达代码:就是永远没有机会执行的代码

课后练习1:用户输入三个整数,代表三角形的三条边TestSanJiaoXing.java 判断是否是三角形

不是==》“不是三角形”

是==》

“等边三角形”

“等腰三角形”

“直角三角形”

“普通三角形”

课后练习2:分页显式算法TestFenYe.java

课后练习3:求出1~100的累加和,1+2+3+……+100的结果

课后练习4:输出10个斐波那契序列1 1 2 3 5 8 13 21 ……

while循环:条件为真就循环

while (布尔表达式) {

循环体

}

以下死循环

while (true) {

}

do…while循环:同while,但是至少执行一次循环体

do {

循环体

} while (布尔表达式);

break:跳出循环

continue:跳出本次循环,继续下次循环

标号:在循环中加标识,主要目的就是跳出外层循环

课堂练习1:输出1~1000之间的完数(所有因子的和等于本身),例如6=1+2+3

课堂练习2:输出100~999之间的水仙花数,例如153=1的立方+5的立方+3的立方

课堂练习3:输出10~100之间的素数(只能被1和自身整除的),例如7,11,29

课堂练习4:用循环输出以下形状4行金字塔

*

***

*****

*******

课堂练习5:用循环输出小九九的4种形状

课后练习6:用循环输出以下数字序列

课后练习7:输出10~200之间的所有完全平方数,例如16,25 ,121

课后练习8:用户输入任意两个数,输出这两个数的最大公约数和最小公倍数

课后练习9:输出1900年到2100年所有的闰年(能被4整除且不能100整除,或者能被400整除,例如:1900不是闰年2000是闰年),每行输出4个年份

课后练习10:输出8X8国际象棋棋盘

■□■□■□■□

□■□■□■□■

■□■□■□■□

□■□■□■□■

■□■□■□■□

□■□■□■□■

■□■□■□■□

□■□■□■□■

课后练习10:李先生岁数的平方与他的夫人的岁数之和是1053,而他的夫人的岁数的平方与他的岁数之和是873,请编写程序计算李先生及其夫人的岁数各是多少。

课后练习11:有两个正整数a和b,已知a*b=2048,求a、b各为何值时,a+b的值最小

课后练习12:用1、2、3、4能组成多少无重复数字的三位数,输出这些数字,例如123 ,124 ,314

课后练习13:有一只猴子吃桃子,每天吃掉桃子的一半,然后不过瘾,再多吃一个,到第10天,就剩一个桃子,问第一天是多少个桃子?

面向对象和面向过程的区别:面向过程最基本的程序单元是一个函数,面向对象的最小的程序单元必须是一个类class

面向对象编程OOP 面向对象设计OOD

抽象

类对象

实例化

类中的成员:

属性:存储对象的数据

方法:实现对象的动作(功能)

public访问权限修饰符:公有权限

方法的返回类型分为两种:

void:无返回值

非void:有返回值,例如返回类型int,String,double,有返回值的方法必须在方法中要有return XXX返回语句,而且要保证返回必须有机会执行,返回值将会返回给方法的调用者

return 返回值:有两种作用,返回值给调用者,退出当前方法停止向下执行

void方法也可以有return语句:作用只有一个,退出当前方法停止向下执行

参数的划分:

形参:写在方法的声明位置

实参:写在方法的调用位置

实参和形参是赋值关系,是把实参的值赋给形参,实参和形参之间个数,顺序,类型必须要

相同或者兼容

UML类图

课后练习:编写一个计算器Computer类,实现两个方法:返回两个数的相加值和两个数的相减值,编写一个TestComputer类,测试打印Computer类的两个方法的返回值是否正确add方法:传入两个参数值如果一个不是正整数,就直接返回0

sub方法:如果a大于b,返回就是a减b的结果,如果b大于a,返回b减a的结果

Computer

+add(a:int,b:int):int

+sub(a:int,b:int):int

递归调用就是方法体中调用自己本身,如果不加以判断容易形成死递归(无限递归)

封装:封装属性不允许赋非法的值,先把属性私有化,提供一对公有的getXXX和setXXX 方法,例如属性名称legs ,它对应的set和get方法就得叫做getLegs和setLegs

如果类的属性可以在类的外边可以直接赋值取值,一般称作为打破封装。

public公有权限:任何地方都可以访问

private私有权限:仅仅能在同一个类中访问

this代表当前的这个对象,就是调用当前方法的那个对象

this.属性:可以用来区分在属性名称和方法中的局部变量名称相冲突的时候

构造方法:主用的作用就是在创建对象的同时,初始化属性的值,如果类中没有显式的声明任何构造方法,那么虚拟机在运行期间会自动的在类中产生一个默认的隐式构造器,这个构造器是没有参数

问题1:有了构造器,set方法还有用吗?

答案:set方法还是有用的,因为构造方法只能在创建对象的时候初始化属性,如果修改属性值,就需要调用set方法

问题2:普通方法的名称可以是类名吗?

答案:可以,因为普通方法和构造方法的调用方式完全不一样

问题3:构造方法可以用对象去调用吗?

答案:不行,构造方法只能用new语句调用

构造方法普通方法

声明语法没有返回值定义,方法名称必

有返回值定义,方法名称任意

须是类名

调用语法new 语句对象.方法

功能创建对象的同时初始化属性

自定义功能

默认有默认构造方法没有默认的

课后练习1:卡车类,load代表载重,最大不能超过500,addLoad在原来的基础上增加重量

Truck

-load:int

+setLoad(load:int):void

+getLoad():int

+addLoad(weight:int):void

一个文件可以写多个类,public类必须放到和类名同名的文件中

在java中的包就是文件夹,src下的第一层包叫做顶层包,顶层包中的包,叫做子包,包和子包之间用点间隔,src本身可以称作默认包

按照欧美和国内的开发规范,项目中的顶层包名:网站后缀.公司名.项目名称

例如:com.ibm.erp

使用不同包中的类:

1.写完整类名包名前缀.类名

2.使用import导入语句导入不同包中的类

https://www.doczj.com/doc/cf13657752.html,ng包的类是自动导入的,不需手动导入,这个包都是常用类

eclipse自动产生导入声明:ctrl+shift+O

文档化注释:/**开始*/结束,可以生成文档API,只能用来注释类,属性,方法

数据类型分为两大类:

基本类型:8种,以值的形式存储,只能存储单一的值

引用类型:4种,以对象的形式存储,存储赋值数据结构

属性被赋值的顺序:

1.默认值

2.声明的同时赋值

3.构造器赋值

4.set方法

赋值操作:如果是基本类型赋的值本身,如果是引用类型,赋的是对象的引用地址,而不是对象实例

课后练习1:客户类

Customer

-ssn:int 客户编号

-cname:String 客户姓名

-address:String 地址

+Customer()

+Customer(ssn:int)

+Customer(ssn:int,cname:String)

+Customer(ssn:int,cname:String,address:String)

get和set方法……

课后练习2:HuiWen回文数类

num属性:表示一个数字

setNum方法:给num属性赋值,必须是5位数,如果是5位数,赋值,返回true,否则不赋值,返回false

isHuiWen方法:判断当前属性值是否是回文数,例如12321

全局变量(属性):类的内部方法的外部声明的变量

局部变量:方法内部或语句块内部声明的变量

全局变量局部变量

声明位置方法外类里面方法里面

默认值有没有

权限修饰符有没有

使用方式对象访问直接访问

作用域(使用范围)整个类仅限于声明所在的语句块

生命周期随着对象的创建而创建,随

着对象的销毁而销毁进入声明所在的语句块创建,到语句块结束销毁

java的逻辑内存区域:

栈:存储局部变量

堆:存储对象实例

字符串常量池:存储字符串常量对象,当在程序中使用一个字符串常量时,java会现在常量池查找,看以前有没有创建过这个常量,如果有,就直接使用原来的常量,如果没有再创建新的

== 基本类型判断值是否相对引用类型判断是引用地址是否相对

null和空字符串是有区别的,null表示没有引用任何对象,空字符串表示引用了一个0长度的字符串对象

数组:是一种引用类型,存储一组相同类型的数据,每一个数据都称为数组的元素,好处是可以用下标(是从0开始的整数)去访问这些元素,而不用固定的名称

数组没有构造方法!

数组的元素和类的属性类似,也是有默认值。

创建数组对象的三种方式:

1.int[] a = new int[4];

2.int[] a = {100,101,102,103}; 只能用在声明数组的同时初始化

3.int[] a = new int[] { 100, 101, 102, 103 };

配置运行时参数:

1.先运行一下这个类

2.右键——run as ——run configuation。。。

关于空指针异常:当去访问一个空对象(也就是对象=null)的属性或者方法时,就会发生NullPointerException

课后练习1:银行练习

Account类:代表一个银行账户

balance属性:代表账户里的金额

deposit方法:向账户中存钱,如果传入的金额大于0,存钱,返回true,否则不存钱,返回false

withdraw方法:从账户中取钱,如果余额够,取钱,返回true,如果余额不足,不取钱,返

回false

Customer类:代表一个银行客户

firstName属性:代表名

lastName属性:代表姓

account属性:代表当前这个客户所有对应的银行账户

把一个字符串类型的数字转换为int型:Integer.parseInt(字符串)

排序算法:冒泡排序(下沉法,上浮法),选择排序,插入排序,希尔排序,……

冒泡排序下沉法:每次冒泡都会把一个最大的数沉到最下面,然后下次冒泡再把剩下数中的最大的数再沉到最下面,……

折半(二分)查找法:每次查找都会把查找范围缩小一半,数组一定要先排序!

多维数组:理解为嵌套数组,就是数组的元素本身又是一个数组,二维以上的数组除了第一维的长度必须初始化,后面的可以选择初始化或者不初始化

假设a是一个三维数组a[0]就是一个二维数组,a[0][0]就是一个一位数组,a[0][0][0]就是一个int型

数组对象一经创建,元素长度永远不可调整!是不可变长的数组!

课后练习1:把一个数组的元素逆序交换,

int[] a = { 5, 11, 15, 24, 36, 47, 59, 66 };

交换元素后

int[] a = { 66 ,59 ,47 ,36 ,15 ,11 ,5 };

继承

谁继承谁?子类(派生类,衍生类)继承父类(超类,基类)

继承了什么?属性,方法。构造器是不能被继承的,私有的属性和方法也能被继承,但是由于访问权限控制,在子类中无法直接使用这些属性和方法

继承语法?类声明extends 父类类名

继承的作用?避免声明重复的属性和方法

单继承还是多继承?java是单继承,一个子类只能直接继承一个父类,不能直接继承多个父类

Object类:类Object 是类层次结构的根类,所有的类都直接或间接的继承了Object类,如果一个类没有显式的继承某一个其他类,那么这个类就会默认继承Object

访问权限修饰符:

private私有:仅限于本类中访问

默认(default):仅限于同一个包中访问

protected受保护的:仅限于同一个包中访问,但是在不同包中的子类也可以直接访问public公有:任何地方都可以访问

访问权限修饰符使用的情况:

类:public 默认

属性:全部

方法:全部

构造器:全部

局部变量:都没有

类图权限:- 私有+ 公有#受保护的

方法的覆盖(重写)override:子类对父类的方法加以改造,重新编写一个新方法把父类的方法覆盖掉

覆盖重写方法的规则:

方法的名称,返回值,参数列表(参数个数,参数顺序,参数类型)必须相同

子类的覆盖方法的权限修饰符必须要大于或者等于父类的方法权限

只能是子类覆盖父类的方法

方法的重载overload:调用相同的方法名称,传入不同的参数,就可以实现不同的功能

重载方法的规则:方法名称相同,参数列表必须不同,返回值和权限任意

可变长参数:内部就是一个一维数组, 可变长参数必须是最后一个参数

覆盖(重写) 重载

方法名称必须相同必须相同

参数列表必须相同必须不同

返回值必须相同任意

访问权限必须大于等于父类方法权限任意

位置子类中任意

次数1次N次

抛出异常子类覆盖父类方法,子类不能

任意

比父类方法抛出更多异常

课后练习1:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换

MyNumber

#num:int

+getNum():int

+setNum(num:int):boolean

JiaMiNumber

+getJiaMiNum():int

MyNumber类:代表一个普通数字

setNum方法:必须传入4位整数,给属性赋值,返回true,否则不赋值,返回false

JiaMiNumber类:继承MyNumber父类,扩展了一个getJiaMiNum(),返回加密num属性值之后的结果

4 5 6 7

9 10 11 12

9 0 1 2

2 1 0 9

this的作用:

1.this 当前对象

2.this.属性this.方法

3.this() 调用本类的其他构造方法

super的作用:访问父类的成员

1.super.属性super.方法

2.super() 调用父类的构造方法

构造器调用语句(不论是调用本类构造器还是父类构造器)必须写在构造方法的第一行。

如果在一个类的构造方法中,没有任何任何调用其他构造器的语句(调用本类的,或者父类的),虚拟机会自动的在这个构造方法的第一行加入一个隐式的super()调用父类无参构造器

子类中必须调用父类的构造方法的目的是,初始化子类中的继承的父类的成员!

多态:只能是子类的对象实例赋给父类类型的变量,这个变量就是多态对象,一定具有多态性,只能访问父类的成员,无法访问子类的成员,但是如果子类覆盖了父类的方法,那么表面上调用的是父类的,实际上会执行子类的覆盖方法(虚拟方法调用)

从编译的角度来看,类型转换的语法

自动转换:子类类型到父类类型

强制转换:父类类型到子类类型

多态的主要目的就是:让方法的传参更加灵活,减少重载方法的次数

课后练习1:银行练习

Account类:代表一个基本银行账户,具有余额,和存取款功能

SavingsAccount类:代表借记卡,yearPct属性代表年利率,例如0.025 CheckingAccount类:代表信用卡,protect属性代表透支额度,覆盖withdraw方法

Object是万能类型,Object 变量= 任何类型的对象

任何对象instancof判断Object都一定为true

toString()方法隐式调用的两种情况:

1.用对象和字符串做拼接运算

2.用println输出对象

一般情况下,覆盖toString方法都是返回这个对象所有属性的拼接字符串

如果判断字符串内容是否相等一定要用equals方法,判断空字符串用equals,但是判断null 用==

在MyEclipse中按住ctrl键单击某个类名或者变量名或者是方法名,可以直接查看源代码

如果类没有手动的覆盖equals方法那么默认情况下equals的作用和==完全一样的

课后练习1:实现atm存取款机的方法

课后练习2:point.png类图

MyPoint类:代表一个基本形状

MyCircle类:代表一个圆形,radius属性代表圆形的半径,getArea()方法返回圆形面积MySphere类:代表一个球体,getArea()方法返回球体面积,getV olume()方法返回球体体积

装箱:将基本类型转换为包装类引用类型

最新javaweb学习课程总结

总结一:javaweb课程总结刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业以来,一直都是学的理论性、框架性的东西,就没有接触到编程的实质性的部分,终于开始学编程了,感觉蛮兴奋的,也是精神饱满,信心十足,怀着一腔热血来听课。 由于JAVAWEB和JSP两门课是同时上的,而且每次都是一整上午,上课时间很长,老师一直有条不紊的讲着,虽然时间很长,但是每当大家上完课,心中都是有一种充实的感觉,大家都觉得有所收获,所以也就不曾觉得累了。 JAVAWEB这门课让我认识了以前见所未见闻所未闻的专业术语,Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。 接下来是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。 接着是Servlet。Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。然后讲的是标签,包括自定义标签和JSP标准标签库。用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。 我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JAVA 这一基础编程语言,要求对JAVA掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。 Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java代码的HTML。共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。 对JAVAWEB和JSP课程的知识就简单介绍到这里,本学期的这两门课程让我对软件工程这门课有了一个全新的认识,我真切的学到了能用的东西,大学里的很多课是浪费时间,而

java基础知识点总结

Created by AIwen on 2017/5/14. java是面向对象的程序设计语言;类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在,java程序使用类的构造器来创建该类的对象。 java也支持面向对象的三大特征:封装、继承、和多态。java提供了private、protected、和public三个访问控制修饰符来实现良好的封装,提供了extends关键字让子类继承父类,子类继承父类就可以继承到父类的成员变量和和方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。继承是实现类复用的重要手段。使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性。 面向对象的程序设计过程中有两个重要的概念:类(Class)和对象(object,也被称为实例,instance)。类可以包含三种最常见的成员:构造器、成员变量、和方法。 构造器用于构造该类的实例,java语言通过new关键字类调用构造器,从而返回该类的实例。构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器,这个构造器总是没有参数的。一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。 构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。静态初始化块代码用于初始化类,在类初始化阶段被执行。如果继承树里某一个类需要被初始化时,系统将会同时初始化该类的所有父类。 构造器修饰符:可以是public、protected、private其中之一,或者省略构造器名:构造器名必须和类名相同。 注意:构造器既不能定义返回值类型,也不能使用void声明构造器没有返回值。如果为构造器定义了返回值类型,或使用void声明构造器没有返回值,编译时不会出错,但java会把这个所谓的构造器当成方法来处理——它就不再是构造器。 实际上类的构造器是有返回值的,当使用new关键字来调用构造器时,构造器返回该类的实例,可以把这个类的实例当成构造器的返回值。因此构造器的返回值类型总是当前类,无须定义返回值类型。不要在构造器里显式的使用return来返回当前类的对象,因为构造器的返回值是隐式的。 java类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 成员变量: 成员变量的修饰符:public、protected、private、static、final前三个只能出现一个再和后面的修饰符组合起来修饰成员变量,也可省略。 成员变量:由一个或者多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 类型:可以是java语言允许的任何数据类型,包括基本类型和引用类型。 成员方法: 方法修饰符:public、protected、private、static、final、abstract,前三个只能出现一个,static和final最多只能出现其中的一个,和abstract组合起来使用。也可省略。 返回值类型:可以是java语言的允许的任何数据类型,包括基本类型和引用类型。 方法名:和成员变量的方法命名规则相同,通常建议方法名以英文动词开头。 方法体里多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总先执行,排在方法体后面的语句总是后执行。 static是一个特殊的关键字,它可用于修饰方法、成员变量等成员。static修饰的成员表明它属于这个类本身,而

Java基础学习心得笔记

Java基础学习心得笔记 对于很多只会C语言的初学者而言,面对java基础语法学习,反而感觉很难,其实其中最大的问题不是语法难,而是一种编程思想的转变。面向过程就是把你的代码封装成函数,然后依次去做一件事情,面向过程是把你要做的事情抽象成对象,告诉对象去做。所以要想学好java入门,必须知道类和对象的概念。 类是对生活中事物的抽象描述,比如人类,动物类,交通工具类;对象即是对类的具体实例化,比如张三是人,猫是动物,飞机是交通工具(对象-----类)。Java基础入门学习路线可以总结为四步走: 1.java开发环境的搭建; 2.java初级之基础语法学习(80%类似C语言); 3.java中级之面向对象编程学习(重点); 4.java中级之应用编程学习。 第一步:JDK软件开发包时java软件开发环境, 包括jre运行环境和jvm虚拟机,在oricle官网下载javaSE版本JDK包;配置好环境变量就可以使用了。 第二步:java初级语法学习, 1.基本数据类型整形,字符型,字节型,长整形,短整形,浮点型,双精度,布尔型;

2.运算符+,-,*,/,%等; 3.控制流(while,switch,if else); 4.数组的定义方式。 此阶段基本无难度,只要了解练习例题。 第三步:java面向对象学习, 1.类和对象; 2.java语言三大特性,封装、继承、多态; 3.一些关键字学习(static,final,abstract,extends)等。 这是重点,大家根据知识点一步步研究学习才是关键。 第四步:java应用编程, 例如:文件IO,集合(类似C语言数据结构),异常处理,线程,网络,JDBC数据库操作等,都是掌握面向对象以后,在查找不同的类使用类中不同的方法达到应用的效果,所以并不会很难。等基础语法掌握了就可以继续后面框架学习(java web方向,android学习),相信明确思路你会豁然开朗,更有学习动力。 以上没有具体的实例和知识点讲解,分享的只是完全没接触过java的初学者自学java的思路和学习的流程,应该把握的重点,希望大家有所帮助。 如果你想学好Java,找一家靠谱的培训机构,能让你的学习事半功倍。

黑马毕向东JAVA基础总结笔记

Java基础知识总结(超级经典) 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?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\jdk path=%JAVA_HOME%\bin 2):临时配置方式: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函数. ----------------------------------------------------------------------------------------------

JavaWeb期末总结

第一章Web开发基础知识(简单描述)表单(续) 表单元素

form body
元素括起整个表单,并给出一些基本定义。表单仅占用HTML文档的部分空间;实际上,一个HTML文档可以包含几个独立的、完成不同功能的表单。method指定了信息传递给HTTP服务器的方法;action给出与处理提交信息的脚本相关的URL(如“registinfor.asp”,“registinfor.jsp”)。 表单输入元素 ?用来把不同的字段放在表单里,以便用户输入信息。 ?name属性指定该字段在某个表单中的唯一名称; ?可选的value属性给出该标记的默认值。 ?在提交表单时,向Web服务器呈上以一组用“?”开头并用“&” 号分开的一组“名字=值”形式的信息,如 http://…/Scriptname?name=me&address=here&time=now ?type属性给出所使用标记的样式,“string”可以是: ?CHECKBOX(复选框)。 ?RADIO(单选按钮) ?TEXT(单行的文本输入栏)。 ?IMAGE(图像放在表单里) ?SUBMIT(提交按钮) ?RESET(清除按钮) ?HIDDEN(在表单中保留不供显示的内容) ?FILE(上传文件) 第二章Servlet开发 1.什么Servlet Servlet是用Java语言编写的运行在服务器端的小应用程序,能够接收Web客户端的请求,并能对Web客户端进行响应,通常是通过HTTP (HyperText Transfer Protocol)协议进行工作的。(可以认为Servlet是服务 器端的一个动态Java程序,用户通过访问这个程序获取服务器的服务。) 2. Servlet的主要方法 Servlet是一个Java类,通常会有3类方法,分别是: init方法,用于初始化。 destroy方法,用于释放资源。 service方法,服务类方法,对用户的请求进行处理,并对用户进行响应,几乎所有处理功能都在这里完成。这类方法可以有多个,最常用的

java基础笔记

1什么是变量? 答:是指代在内存中开辟的储存空间,用于存放运算过程中需要用到的数据。 一个类中不能有2个public以为有pulic要和类名保持一致,有2个的话就不知道是和谁保持一致了,可以用很多类。 2变量的声明 答:当需要使用一个变量的时候,必须要对该变量就行声明,变量的声明包含2点,1是变量的基本数 据类型,2是变量名比如int a ;int是数据类型a是变量名,可以声明多个变量,比如int a,b,c;等 3,变量的初始化 答:有2种初始化方法, 1是在变量声明时初始化,变量类型变量名=初始值,比如int a=0; 2是先声明变量,然后再初始化给变量赋值,,比如int a;a=0; 3.1可以对变量中的值进行存取,操作,变量使用之前,要使用与其变量符合的数据类型。 3.2基本数据类型,8种 1整数类行:byte,short int(常用),long(常用)2浮点类型:float,double(常用)3,boolean 4 char 类型名称字节空间使用场景 ------------------------------------------------------------------------------------------------------------ byte 丨1字节(8位)丨储存字节数据(较少用) --------------------------------------------------------------------------------------------------------------- short 丨2字节(16位)丨兼容性考虑(很少用) ------------------------------------------------------------------------------------------------------------ int 丨4字节(32位)丨存储普通整数(常用) -------------------------------------------------------------------------------------------------------------- long 丨8字节(64位)丨存储长整数(常用) ------------------------------------------------------------------------------------------------------------- float 丨4字节(32位)丨存储浮动数(不常用) ------------------------------------------------------------------------------------------------------------ double 丨8字节(64位)丨存储双精浮点数(常用) ----------------------------------------------------------------------------------------------------------- boolean 丨1字节(8位)丨存储逻辑变量(true,fales)(常用) --------------------------------------------------------------------------------------------------------------- char 丨2字节(16位)丨存储一个字符(常用) ---------------------------------------------------------------------------------------------------------------

Java笔记汇总

2010.3.11.Java笔记 1、定义一个年份判定这个年是否是闰年: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; publicclass near { publicstaticvoid main(String args[])throws IOException{ int year; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.println("Input the year:"); str=buf.readLine(); year=Integer.parseInt(str); if(year%4==0&&year%100!=0||year%400==0) System.out.println("year"+year+"is a leap year."); else System.out.println("year"+year+"is not a leap year."); } } 2、求出1~100之间的奇数: publicclass qishu { publicstaticvoid main(String args[]){ int i,j; for(i=1;i<=100;i++){ if(i%2!=0){ System.out.print(i+" "); } } } } 3、一段刚才长2000米每天截取一半多少天后长度短于5米publicclass day { publicstaticvoid main(String args[]){ int i ,j=0; for(i=2000;i>0;i--){ if(i/2<5) j++;} System.out.print(j+" "); } } 4、求125的所有因子: publicclass yinzi { publicstaticvoid main(String args[]){ int i; for(i=1;i<=125;i++){ if(125%i==0){

超级经典java基础知识总结

Java基础知识总结 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?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\jdk path=%JAVA_HOME%\bin 2):临时配置方式: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基础入门教程笔记

【黑马程序员】毕向东老师Java基础入门教程笔记 毕向东Java基础视频教程_适合初学者入门 完整视频:https://www.doczj.com/doc/cf13657752.html,/course/7.html?1911sxkqq 提取码:ks8m 课程资料:https://https://www.doczj.com/doc/cf13657752.html,/s/1jAjI85SlUTlrTuF_J2QNeQ 提取码:4bfg 黑马程序员视频库网址:https://www.doczj.com/doc/cf13657752.html,(海量热门编程视频、资料免费学习)学习路线图、学习大纲、各阶段知识点、资料网盘免费领取+QQ 3285264708 / 3549664195 1.编程:人与计算机之间交流的过程就是编程。 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)。、 11.整型常量:三种表现形式:计算机中存放的是二进制最低组成单位是八位,每八位 表示一个字节。 分为十进制八进制十六进制 12.局部变量和成员变量 局部变量:不是声明在类体括号里面的变量; 局部变量使用前必须初始化值; 局部变量没有默认初始化值; 局部变量的作用域是从定义开始到定义它的代码块结束; 成员变量:在方法体外,类体内声明的变量,又称字段(Field)或全局变量;(其实Java中没有全局变量,由于Java是面向对象语言,所有变量都是类成员),没有初始化时,会被赋予默认的初始化值。

javaweb基础知识整理

一、TOMCAT服务器的安装与配置 1.常见服务器: WebLogic(BEA)、webSphere(IBM)、Tomcat(Apache) 2.Tomcat 的下载与安装 下载地址:https://www.doczj.com/doc/cf13657752.html,/ 安装目录不能包含中文和空格 JAVA_HOME环境变量指定Tomcat运行时所要用的jdk所在的位置,注意,配到目录就行了,不用指定到bin。 端口占用问题:netstat -ano命令查看端口占用信息 Catalina_Home环境变量:startup.bat启动哪个tomcat由此环境变量指定,如果不配置则启动当前tomcat,推荐不要配置此环境变量。 3.Tomcat的目录结构 bin--存放tomcat启动关闭所用的批处理文件 conf--tomcat的配置文件,最终要的是server.xml *实验:修改servlet.xml,更改tomcat运行所在的端口号,从8080改为80 lib--tomcat运行所需jar包 logs--tomcat运行时产生的日志文件 temp--tomcat运行时使用的临时目录,不需要我们关注 webapps--web应用所应存放的目录 work--tomcat工作目录,后面学jsp用到 4.虚拟主机 一个真实主机可以运行多个网站,对于浏览器来说访问这些网站感觉起来就像这些网站都运行在自己的独立主机中一样,所以,我们可以说这里的每一个网站都运行在一个虚拟主机上,一个网站就是一个虚拟主机。 4.1配置虚拟主机 在server.xml中标签下配置,其中name属性指定虚拟主机名,appBase指定虚拟主机所在的目录只在servlet.xml中配置Hosts,还不能使其他人通过虚拟主机名访问网站,还需要在DNS服务器上注册一把,我们可以使用hosts文件模拟这个过程。 默认虚拟主机:在配置多个虚拟主机的情况下,如果浏览器使用ip地址直接访问网站时,该使用哪个虚拟主机响应呢?可以在标签上设置defaultHost来指定。 5.web应用 web资源不能直接交给虚拟主机,需要按照功能组织用目录成一个web应用再交给虚拟主机管理。 5.1web应用的目录结构 web应用目录 | - html、css、js、jsp静态资源和JSP文件都可以直接放置在web应用的目录下,直接放在web应用下的内容,浏览器可以直接访问到 | - WEB-INF 可以没有,但是最好有,如果有则一定要保证他的目录结构是完整的。放置在WEB-INF目录下的所有资源浏览器没有办法直接进行访问。 | - classes动态web资源运行时的class文件要放在这个目录下。 | - lib 动态web资源运行时所依赖的jar包要放在这个目录下。 | - web.xml整个web应用的配置文件,配置主页/Servlet的映射/过滤器监听器的配置都需要依赖这个文件进行。 5.2web.xml文件的作用 某个web资源配置为web应用首页 将servlet程序映射到某个url地址上 为web应用配置监听器

马士兵java基础笔记 pdf版 面向对象部分

一面向对象设计思想 ◆面向对象设计思想是,从现实世界中客观存在的事物出发构造软件系统,并在系统的构 造中尽可能运用人类的自然思维方式。 ◆面向对象更加强调运用人类在日常思维逻辑中经常采用的思想方法与原则,如抽象、分 类、继承、聚合、多态。 ◆对象用计算机语言对问题与中事物的描述,对象通过属性(attribute)和方法(method)来分 别对应事物所具有的静态属性和动态属性。 ◆类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一对象所因具有的静态 和动态属性。 ◆类可以看成一类对象的模板,对象可以看成该类的一个具体实例。 ◆类(对象)之间的关系: 1.关联关系:映射到代码一个类的方法里面是另外一个类的对象,我的方法的参数是 你这个类的对象 2.继承关系:什么什么是什么 3.聚合关系 聚集:谁谁是谁的一部分。组合:咱们俩密不可分! 4.实现关系:

5.多态 总结: ●考虑问题里面有哪几个类,哪几个对象;找名词 ●每种类有哪些属性和方法; ●类和类之间的关系。 二Java与面向对象 ◆对象是Java的核心,在Java中“万事万物皆对象”。 ◆对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。 ◆类是用来创建同一类型的对象的模板,在一个类中定义了该类对象所具有的成员变量以 及方法。 ◆为什么用对象? 1)Reusable 2)Extensiblity 3)维护和替换更加方便。 三Java中面向对象内存分析 1.Java类的定义 2.成员变量(返回值输出之后也消失,返回值在栈中) 3.引用 Java语言中除基本类型之外的变量类型都称之为引用类型。 Java中的对象是通过引用对其操作的。 引用类型占两块内存,堆栈中的引用,对里面的对象 String s = new String(“aaa”); s→[],s在栈中,”aaa”在堆里面。 4.对象的创建和使用 ◆必须使用new关键字创建对象。 ◆使用对象(引用).成员变量或来引用对象的成员变量。

Java Web考试复习知识点提纲2

1.URL(Uniform Resource Locator):统一资源定位器。是专为标志Internet网上资源位置而设的一种编址方式。 2.URL语法:协议、域名及指向请求信息的路径的特定顺序。 协议是用于获得访问信息的通信方法,如HTTP、FTP、Gopher协议。 域名是包含信息的计算机的域名系统DNS名称。 路径是在计算机上指向请求信息的路径。 如:https://www.doczj.com/doc/cf13657752.html,/backoffice 补充:域名地址:IP地址和域名是一一对应的,域名地址的对应数据库在域名服务器DNS的主机中,即DNS就是提供IP地址和域名之间转换服务的服务器。 域名地址是从右至左来表述其意义的,一般表示为:主机机器名.单位名.网络名.顶层域名3.Web的三要素:文字、图像、超链接 4.Web服务原理:Web服务器通过返回HTML页面响应Web浏览器的请求,返回的页面可以是:静态HTML页面、动态HTML页面、目录列表页面。 5.HTTP协议(属于TCP/IP参考模型的应用层) 超文本传输协议(Hyper Text Transfer Proctocal,HTTP)是WWW浏览器(客户机)和服务器之间的应用层通信协议,以协议集中其他协议为基础。HTTP是用于分布式协作超媒体信息系统的快速实用协议,是通用的、无状态的、面向对象的协议。 6.HTML是(HyperText Markup Language,超文本标记语言)的缩写,用来表示网上信息的符号标记语言,用于制作万维网的网页,消除了不同计算机之间信息交流的障碍。HTML语言内容(从功能上大体可分为):文本结构、属性设置、列表建立、超链接、图像和媒体、表格、表单 HTML是一种标记语言,其中,常用标记按照功能可以分为:图形类、超链接类、表格类、表单类、窗口控制类,以及其他诸如换行、分段、字体等格式控制标记。 7.JDBC概念:JDBC是一种可用于执行SQL语句的Java应用程序设计接口,它由一些Java 语言编写的类和界面组成。 JDBC的作用:为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。 JDBC的体系结构包含4个组件:1.JDBC应用程序。JDBC应用程序负责用户与用户接口之间的交互操作,以及调用JDBC的对象方法以给出SQL语句并提取结果。2.JDBC驱动程序管理器。JDBC驱动程序管理器为应用程序加载和调用驱动程序。3.JDBC驱动程序。JDBC 驱动程序执行JDBC对象方法的调用,发送SQL请求给指定的数据源,并将结果返回给应用程序。驱动程序也负责与任何访问数据源的必要软件层进行交互。4.数据源。数据源由数据集和与其相关联的环境组成,主要指各数据库厂商的数据库系统。 8.ODBC是由微软开发的、目前用得最广泛的访问关系数据库的API,它是用C语言实现的 标准应用程序,用来在相关或不相关的数据库管理系统(DBMS)中存取数据的。 ODBC的作用:通过ODBC API,应用程序可以存取保存在多种不同DBMS中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口,它提供了连接几乎任何一种平台、任何一种数据库的能力。 ODBC的体系结构: (1)ODBC数据库应用程序(Application):用宿主语言和ODBC函数编写的应用程序用于访问数据库。其主要任务是管理安装的ODBC驱动程序和管理数据源。(2)驱动程序管理器(Driver Manager):驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。 其任务是管理ODBC驱动程序,为应用程序加载、调用和卸载DB驱动程序,是ODBC 中最重要的部件。(3)DB驱动程序(DBMS Driver):是一些DLL,提供了ODBC和数

Java工作笔记(必看经典)

JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象。 能够做什么(方法):告诉外界对象有那些功能。 后者以前者为基础。 大的对象的属性也可以是一个对象。 为什么要使用面向对象: 首先,面向对象符合人类看待事物的一般规律。 对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。 方法的定义非常重要。方法有参数,也可能有返回值。 注意区分:对象(本身)、对象的实现者、对象的调用者。 分析对象主要从方法开始。 我们通过类来看待对象,类是对象的抽象。 其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。 对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。这样才能使每个对象本身做成最好的。 对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。 实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。 可复用性是OOP的基础。 比较面向过程的思想和面向对象的思想: 面向过程的思想:由过程、步骤、函数组成,以过程为核心; 面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。 面向过程是先有算法,后有数据结构。 面向对象是先有数据结构,然后再有算法。 在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。 开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能。 从语法上来看,一个类是一个新的数据类型。 在面向对象编程中,除了简单数据类型,就是对象类型。 定义类的格式: class Student{ 代码 } 注意类名中单词的首字母大写。 实例变量:定义在类中但在任何方法之外。(New出来的均有初值) 局部变量:定义在方法之中的变量。

Java编程基础知识点汇总习题集--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (34) 第七章面向对象 (43) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

JavaWeb期末试卷

班级:______姓名:______学号:______

D. request.getParameterValues(“name”) 10.使用response对象进行重定向时,使用的方法是()。 A. getAttribute B. setContentType C. sendRedirect D. setAttribute 11.session对象中用于设定指定名字的属性值,并且把它存储在session对 象中的方法是()。 A. setAttribute B. getAttributeNames C. getValue D. getAttribute 12.在application对象中用()方法可以获得application对象中的所有 变量名。 A. getServerInfo B. nextElements() C. removeAttribute D. getRealPath 13.有关struts 2的说法不正确的是() A.Struts是一个用于简化MVC框架(Framework)开发的Web应用框架 B.应用Struts 2不需要进行配置 C.Struts 2 含有丰富的标签 D.Struts2采用了WebWork的核心技术 14.Web应用的数据共享方式不包括()。 A.基于请求的共享 B.基于会话的共享 C.基于页面的共享 D.基于应用的共享 15.要在页面上输出2+3=${2+3},则对应的程序代码应为()。 A.2+3=\${2+3} B.2+3=${2+3} C.2+3=/${2+3} D.以上都不对 16.下面有关EL中“.“和“[ ]“两种存取运算符的说法不正确的是( A.两者在某些情况下是等效的

JavaWeb基础与SSH框架知识总结

一、JSP知识: 1.用户第一次请求JSP页面时,JSP引擎会转译该JSP文件为Servlet文件(.java),并编译该文件,生成字节码文件(.class)。最后将一个HTML页面发送给客户端。用户再次请求JSP页面时,JSP引擎会直接运行字节码文件,将HTML 页面发送给客户端。 2.静态网页服务器返回的HTML文件是事先储存好的,动态网页服务器返回的HTML文件是程序生成的。静态网页文件中不允许有Java代码,动态网页文件中允许有Java代码,也允许有HTML标记。 3.Apache是一种网页服务器,支持的技术有Perl、python、Tcl、PHP。 IIS是微软提供的互联网信息服务,一般用于支持ASP、https://www.doczj.com/doc/cf13657752.html,、PHP等技术。 Tomcat用于支持JSP技术。 WebLogic用于支持JSP技术。 4.Tomcat服务器的默认端口是8080。 IIS服务器的默认端口是80。 5.HTML文件必须由开头结尾。 文档头信息包含在与之间。 包含的五种标签。、<META>、<SCRIPT>、<STYLE>、<LINK> Title meta link style script 6.Java的页面元素有哪些?语法是什么?HTML元素指令表达式 Java片段注释声明动作 <%@ %> <%= %> <% %> <%-- --%> <%! %> <jsp:include> 7.Include指令允许导入其他的文件,但必须保证与前页面集成为一个完整的JSP页面。 8.JSP的内置对象有几种?分别是什么? 共有9种: request对象,response对象,pageContext对象,session对 象,application对象,out对象,config对象,page对象,exception对象 9.JSP的作用域。pageContext request session application 10.out.print和out.println 11.Post提交和get提交 12.Request获取页面提交过来的参数或者Form表单信息的方法。13.JavaBean类必须是非抽象的公共类,属性必须为私有,但可通过公有方法访问。JavaBean的属性可以和表单的控件名称很好的耦合,得到表单提交的参数。 14.本机地址为:localhost或者127.0.0.1 test a.jsp music-mp3.mp3 15.绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。16.HTML加入一些JSP元素就可以构成一个JSP页面。 17.Jsp:include动作标记和include指令的区别 include指令是指把其它页面的JAVA代码(源码)加进来,跟本页面的代码合并在一起,相当于把源码从那个页面复制到本页面中来,然后再编译。所以变量可以共用。并用由于本页面编译时已经包含了别的文件的源码,所以以后其它页面更改时,本页面并不理会,因为已经编译过了。 <jsp:include>动作是指两个页面的代码运行完以后,再把包含的那个页面运行后的HTML结果页面加到本页面运行后的HTML结果页面中来。所以变量不能共用。</p> <div> <div>相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="2708602"><a href="/topic/2708602/" target="_blank">java基础笔记</a></li> <li id="17661865"><a href="/topic/17661865/" target="_blank">java基础教程笔记</a></li> <li id="1587367"><a href="/topic/1587367/" target="_blank">javaweb基础知识整理</a></li> </ul> </div> </div> </div> <div class="container"> <div>文本预览</div> <div class="textcontent"> </div> </div> </div> <div class="category"> <span class="navname">相关文档</span> <ul class="lista"> <li><a href="/doc/1c8169142.html" target="_blank">黑马毕向东JAVA基础总结笔记</a></li> <li><a href="/doc/224627543.html" target="_blank">【黑马程序员】毕向东老师Java基础入门教程笔记</a></li> <li><a href="/doc/2315789228.html" target="_blank">java各知识点详细总结(毕向东笔记整理)</a></li> <li><a href="/doc/3b15759370.html" target="_blank">Java学习个人笔记(一)配置java环境变量(Feb04,2013</a></li> <li><a href="/doc/692055876.html" target="_blank">java学习方法笔记总结.</a></li> <li><a href="/doc/a311915913.html" target="_blank">JAVA尚学堂300集第一季笔记</a></li> <li><a href="/doc/c64448482.html" target="_blank">Java编程思想第四版 读书笔记</a></li> <li><a href="/doc/d011335090.html" target="_blank">java学习基础笔记</a></li> <li><a href="/doc/f22876024.html" target="_blank">Java基础知识笔记总结</a></li> <li><a href="/doc/1b6551585.html" target="_blank">Java基础学习心得笔记</a></li> <li><a href="/doc/281123253.html" target="_blank">马士兵java基础笔记 pdf版 面向对象部分</a></li> <li><a href="/doc/207144498.html" target="_blank">Java基础读书笔记</a></li> <li><a href="/doc/3313170710.html" target="_blank">Java学习笔记(必看经典).pdf</a></li> <li><a href="/doc/598821134.html" target="_blank">JAVA 笔记(根据马士兵的java视频整理)</a></li> <li><a href="/doc/786477593.html" target="_blank">java自考复习资料串讲笔记完整版无水印</a></li> <li><a href="/doc/ba18357458.html" target="_blank">Java基础笔记</a></li> <li><a href="/doc/d35347849.html" target="_blank">java基础--复习笔记.docx</a></li> <li><a href="/doc/e614741775.html" target="_blank">Java编程思想第四版 读书笔记</a></li> <li><a href="/doc/ff12565618.html" target="_blank">java初中高级 笔记,很全,很详细。</a></li> <li><a href="/doc/132976307.html" target="_blank">java基础知识点总结</a></li> </ul> <span class="navname">最新文档</span> <ul class="lista"> <li><a href="/doc/0619509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0a19509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9619184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3319258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/d719211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/a519240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9019184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8819195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8319195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7b19336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7019336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6819035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6819035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4219232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3b19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2a19396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2c19396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1619338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/e619066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/b019159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "cb791fa3bd64783e08122b60"; </script> <script type="text/javascript">bdtj();</script> <footer class="footer"> <p><a href="/tousu.html" target="_blank">侵权投诉</a> © 2022 www.doczj.com <a href="/sitemap.html">网站地图</a></p> <p> <a href="https://beian.miit.gov.cn" target="_blank">闽ICP备18022250号-1</a>  本站资源均为网友上传分享,本站仅负责分类整理,如有任何问题可通过上方投诉通道反馈 <script type="text/javascript">foot();</script> </p> </footer> </body> </html>