版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《电子商务解决方案设计》教案
实验一:java基础(一)
一、javaAH
JavaSE:javastandardedition
JavaME:javamicroedition
JavaEE:javaenterpriseedition
Java是由sun公司推出(但2010年被oracle公司收购,收购价格:74亿美元)
从j2se、j2me>j2ee的演变,从jdk5.0开始称为se、me、eeo
1、jdk的下载与安装
Jdk:javadevelopmentkit(java开发包)
Jre:javaruntimeenvironment(java执行环境)
Jdk包含了jreo
下载过程见课堂演示。安装完成后运行:java-version如能显示版本信息,即说
明java安装成功。
Jdk1.4jdkl.5(5.0)jdkl.6(6.0)
设置环境变量:classpathpathJAVA_H0ME
2、第一个java程序
编写程序时可以是记事本、ultraedit(高级文本编辑工具)、IDE(integrated
developmentenvironment)o
例1-1:Test类
publicclassTest
publicstaticvodmain(String[]args)
System,out.printin(uhelloworld!");
)
)
3、java程序的编译与执行
Java程序的执行过程分为两步:
(1)编译:javac文件名.java
(2)执行:java文件名(这是一个后缀为class的字节码文件)
注意:修改正的原文件,要重新执行上述的(1)(2)步骤。
JVM(javavirtualmachinejava虚拟机)来执行字节码文件。
二、原生数据类型
1、Java中的数据类型:
1)原生数据类型(PrimitiveDataType)
2)引用类型(对象类型)(ReferenceType)
2.变量与常量:
所谓常量,就是值不会变化的量;所谓变量,就是值可以变化的量。
3.变量定义与赋值:
(1)变量类型变量名;
变量名=变量值;
inta;
a=2;
(2)变量类型变量名=变量值;
inta=1;
=表示赋值,将等号右边的值赋给了左边的变量。
4、变量名命名规则:在Java中,变量名以下划线、字母、$符号开头,并且后跟下
划线、字母、$符号以及数字。总之,Java中的变量名不能以数字开头。
5、注释:注释是给人看的,不是给计算机看的。Java中共有3种类型的注释:
1)单行注释:以〃开头,〃后面的所有内容均被当作注释处理。
2)多行注释:以/*开头,以*/结束,中间的所有内容均被当作注释处理。关于多行
注释,需要注意的是,多行注释不能嵌套。
3)另一种多行注释。用于产生JavaDoc帮助文档。暂且不介绍。
/**注释内容*/
6、Java中的原生数据类型共有8种:
1)整型:使用int表示。(32位)
2)字节型:使用byte表示。(表示T28〜127之间的256个整数)。
3)短整型:使用short表示。(16位)
4)长整型:使用long表示。(64位)
5)单精度浮点型:使用float表示。所谓浮点型,指的就是小数,也叫做实数,比
方1.2。
6)双精度浮点型:使用double表示。双精度浮点型表示的数据范围要比单精度浮点
型大。
7)字符型:使用char表示(char是character的缩写)。所谓字符,就是单个的字
上述内容验证见实例:test、variablel>variable2
三、运算符
1、算术运算符:
1)当有若干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变
量类型。比方,参与运算的变量中,有整型int,有双精度浮点型double,有短整型
short,那么最后的结果类型就是double。
2)inta=1;
intb=2;
doublec=(double)a/b;
上面的代码中,a与b都是整型,但是通过(double)a这种转换将a转换为一个匿名的
变量,该变量的类型是double,但是要注意:a本身依旧是int类型,而不是double
类型,这样,(double)a/b就是double类型除以int类型,结果自然是double类型。
3)取模运算符:使用%表示。
inta=5;
intb=3;
intc=a%b;
上面代码的运行结果是2,因为5除以3结果是1余2。
取模的规律:取模的结果符号永远与被除数的符号相同
inta=5;
intb=-3;
intc=a%b;
被除数是5,那么取模的结果是2
inta=-5
intb=3;
intc=a%b;
被除数是-5,那么取模的结果是-2。
上述内容验证见实例:variables
2、关系运算符:
关系运算符:大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、
小于等于(<=),关系运算的结果是个boolean值。
见实例:OperatorTest
3、逻辑运算符:
重点讲解两个,逻辑运算符本身也返回一个boolean值。
1)逻辑与:使用&&表示,逻辑与是个双目运算符(即有两个操作数的运算符),
只有当两个操作数都为真的时候,结果才为真;其余情况结果均为假。逻辑与表示
的并且的意思。
2)逻辑或:使用||表示,逻辑或也是个双目运算符,只有当两个操作数都为假的
时候,结果才为假;其余情况结果均为真。逻辑或表示或者的意思。
见实例:LogicTest
4、关于变量的自增与自减运算。
1)关于intb=a++,作用是将a的值先赋给b,然后再让a自增1。
2)关于intb=++a,作用是将a的值先自增1,然后将自增后的结果赋给b。
见实例:Variable4
5、条件运算符(三元表达式),其形式为:
typed=a?b:c;具体化形式为:intd=2<l?3:4;
注意:轻量级的文本编辑器:UltraEdit、Editplus、vi>vim>gvim
见实例:Test2
四、流程控制语句
1、if语句
第一种形式:
if(布尔表达式)
(
〃待执行的代码
)
第二种形式;
if(布尔表达式)
{
〃待执行的代码
)
else
{
〃待执行的代码
)
第三种形式:
if(布尔表达式)
(
〃待执行的代码
)
elseif(布尔表达式)
{
〃待执行的代码
)
elseif(布尔表达式)
{
〃待执行的代码
)
else
{
〃待执行的代码
)
见实例:IfTest
2、switch语句:
switch(变量)〃此处的变量类型就目前所学内容来看,只能为4种类型:byte,short,int,char。
{曰
case常量1:
〃待执行的代码
break;
case常量2:
〃待执行的代码
break;
case常量3:
〃待执行的代码
break;
default:
〃待执行的代码
)
虽然case语句中的break是可选的,但在绝大多数情况下,如果没有break,程序的逻辑就会发
生错浜,因此,通常情况下都需要加上break。
见实例:SwitchTest
3、循环控制语句
Java中的循环控制语句一共有3种,分别是while,do…while以及for循环。
1)whilo循环,形式为:
while(布尔表达式)
〃待执行的代码
)
2)do…while循环,新式为:
do
〃待执行的代码
while(布尔表达式);
while与do…while之间的区别:如果布尔表达式的第一次判断就为false,那么while
循环一次也不执行;do…while循环则会执行一次。如果布尔表达式第一次判断为
true,那么while循环与do…while循环等价。
3)for循环(使用最多的一种循环),形式为:
for(变量初始化;条件判断;步进)
〃待执行的代码
)
for循环的执行过程:
a)执行变量初始化。
b)执行条件判断。如果条件判断结果为假,那么退出for循环,开始执行循环后面
的代码;如果条件判断为真,执行for循环里面的代码。
c)执行步进。
d)重复步骤b。
上述内容见实例:WhileTest、DoWhileTest>ForTest
break语句:经常用在循环语句中,用于跳出整个循环,执行循环后面的代码。
2.continue语句:经常用在循环语句中,用于跳出当前的这个循环(或者是跳出本
次循环),开始下一次循环的执行。
实验二:java基础(二)
一、面向对象程序设计(ObjectOrientedProgramming,OOP;ObjectOriented
Design,00D)
什么是面向对象?在面向对象程序设计中有两个重要的概念:类(class)与对象
(object)o
1、类:类是一种抽象的概念,类中包含了数据(通常使用名词来表示)与对数据的
操纵(通常使用动词来表示)。比方说人就是一种抽象的概念,人具有姓名、年龄、
身高等数据,还有吃饭、跑步等操纵数据的动作。
2、对象:对象是一种具体的概念,是类的一种具体表示方式。比方说人是一个类,
而张三、李四、王五等具体的人就是对象。
3、类所包含的内容,类一共包含两局部内容:
a)数据,数据在类中称作属性(Property或者Attribute)或者叫成员变量(Member
variable)。
b)对数据的操纵,这种操纵在类中称作方法(method)o
二、类及方法的定义
面向对象程序设计的三大根本特征:继承、封装、多态
封装:类包含了数据与方法,将数据与方法放在一个类中就构成了封装。
1、类的定义:
修饰符class类的名字
(
〃类的内容(包含了属性与方法)
)
2、方法的定义:
修饰符返回类型方法名称([参数L参数2,参数3…])
(
〃方法体
)
注意:
1)main方法是整个Java程序的入口点,如果类的定义中没有main方法,则程序无法
执行。
2)方法定义不能嵌套,也就说不能在一个方法中定义另外一个方法。方法只能定义
在类中。
3)关于方法的执行:首先需要定义方法,接下来就可以使用方法(调用方法),当
方法调用完毕后,方法可以返回值。方法到底是否返回值是由方法的定义决定的。
4)如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public
的,换句话说,定义的多个类可以都不是public的。Main方法要放在public类中,
如果没有public类,那Main方法放在哪个类中都可以。
3、生成对象:
通过类来生成对象(通常使用new关键字来生成对象)。
publicclassPerson
(
)
类名变量名=new类名();
Personperson=newPerson();
Personperson2=newPersonO;
Personperson3=newPerson();
4、方法的调用:
方法调用需要通过对象来完成,方法调用的形式是:
对象变量.方法名([参数值L参数值2,参数值3…
关丁•方法的重点事项:
1)在方法定义中,方法的返回类型与return后面的变量或常量类型保持一致。
2)在方法调用时,给方法传递的参数需要与方法定义时的参数保持一致(参数个
数一致,参数类型一致)。
3)方法定义时的返回类型与接收方法返回值的变量类型保持一致。
publicintadd(inta,intb)
returna+b;
)
方法定义时的参数叫做形式参数。
inta=test.add(8,3);
方法调用时所赋予的具体值叫做实际参数。
4)关键字void表示方法不返回值。
如果方法不返回值,那么声明方法的时候使用void关键字,在方法定义中可以有两
种情况实现不返回值:
a)不使用return语句。
b)使用return,但return后面没有任何值或者变量,return后面只有一个分号,表
示退出方法,返回到方法的调用端。
使用方式:
return;
上述内容见实例:Test
5、属性的定义和使用:
类中的属性又叫做成员变量(membervariable),属性用英文表示为property或者
attributeo
对象(Object)又叫做实例(Instance)。生成一个对象的过程又叫做实例化。
1)命名约定
a)类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写,
中间不使用任何的连接符。比方Person类,MemberTest类。
b)方法:首字母小写。如果一个方法由多个单词构成,那么第一个单词的所有字母
全都小写,从第二个单词开始,每个单词的首字母大写。比方add,addThreelnto
c)属性:命名约定与方法用同。比方age,ageOfPersono
2)属性需要定义在类中,又叫做成员变量;而定义在方法中的变量叫做局部变量。
3)定义属性
publicclassPerson
(
修饰符类型属性名称;
)
4)使用属性
与方法一样,使用.运算符。首先需要生成类的实例,然后使用实例+〃.〃的方式来
使用属性。
比方:
Personperson=newPerson();
person,age
局部变量使用前必须要声明并赋初值;成员变量使用前必须要声明,但可以不赋初
值。
5)成员变量与局部变量的联系与区别:
a)无论是成员变量还是局部变量,使用前都需要声明(定义)。
b)对于局部变量来说,使用前必须要初始化;对于成员变量来说,使用前可以不初
始化。如果没有初始化成员变量就开始使用,那么每个类型的成员变量都有一个默
认的初始值
i.byte>short>int>long类型的初始值为0
ii.float>double类型的初始值为0.0
iii.char类型的初始值'\uOOOOJ
iv.boolean类型的初始值为false
上述内容见实例:Person
6、引用类型(referencetype):引用类型是用在对象上的。一个对象可以被多个
引用所指向,但同一时刻,每个引用只能指向唯一的一个对象。如果一个对象被多
个引用所指向,那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引
用当中。
上述内容见实例:People
在该实例中用画图表示。
注意:
1)如果一个类包含了属性与方法,那么该类的每一个对象都具有自己的属性,但无
论一个类有多少个对象,这些对象共享同一个方法。
2)关于方法参数传递的总结:对于Java中的方法参数传递,无论传递的是原生数据
类型还是引用类型,统一是传值(passbyvalue)o
3)什么类型的引用就能指向什么类型的对象,比方People类型的引用就能指向
People类型的对象,但不能指向Student类型的对象。比方:
Peoplepeople=newPeople();//正确
Peoplepeople=newStudent();//错误
上述内容见实例:ParamTest
三、构造方法:
构造方法(Constructor):构造方法用于完成对象属性的初始化工作。
1、构造方法的特点:
a)构造方法的名字必须与类名完全一致(包含大小写)
b)构造方法没有返回值,连void也不能出现。
c)如果在定义一个类的时候,没有为类声明构造方法,那么Java编译器会自动为类
添加一个没有参数且方法体为空的构造方法(默认的构造方法)
d)如果在定义一个类的时候,为类声明了构造方法,那么Java编译器就不会再为类
添加构造方法了。
e)不能显式调用类的构造方法,构造方法通常是通过new关键字隐式调用。
2、new关键字在生成对象时完成了三件事情:
a)为对象开辟内存空间。
b)调用类的构造方法。
c)将生成的对象的地址返回。
3、默认的构造方法:构造方法没有参数且方法体为空。
使用new来生成对象的时候,后面的小括号()表示构造方法的参数列表,如果构造方
法不接收参数,那么小括号中的内容为空;如果构造方法接收参数,那么小括号中
的实际参数就需要与构造方法定义中的形式参数保持一致(参数数量一致、参数类
型一致、按照顺序逐一赋值)。
上述内容见实例:PersonTest
四、方法的重构和重载(overload)
1、方法的重构:如果在子类中定义的方法与其直接超类(父类)的某个方法有相同
的名称和参数,则称该子类重构了该超类(父类)的该方法。
方法重构(Override):子类与父类的方法返回类型一样、方法名称一样,参数一
样,这样我们说子类与父类的方法构成了重写关系。
2、方法的重载:同一个类中,定义了两个或多个方法名字相同,但方法参数不同,
这就说明了方法间的重载关系。方法参数不同有两层含义:1)参数个数不同。2)
参数类型不同。注意:方法的返回值对重载没有任何影响。
上述内容见实例:OverLoadTestN0verLoadTest2
注意:
方法重构与方法重载之间的关系:重载发生在同一个类内部的两个或多个方法。重
构发生在父类与子类之间。
五、继承(Inheritence):
1、定义及格式:Java是单继承的,意味着一个类只能从另一个类继承(被继承的类
叫做父类【基类,baseclass],继承的类叫做子类),Java中的继承使用extends
关键字。
格式:class类名extends类名
2、注意:1)父类有的,子类也有
2)父类没有的,子类可以增加3)父类有的,子类可以改变
4)构造方法不能被继承
5)方法和属性可以被继承
6)在定义一个类的时候,如果没有显式指定该类的父类,那么该类就会继承于
java.lang.Object类(JDK提供的一个类,Object类是Java中所有类的直接或间接父
类)。
上述内容见实例:Child、InheritenceTest
六、多态:
多态(Polymorphism):我们说子类就是父类(玫瑰是花,男人是人),因此多态
的意思就是:父类型的引用可以指向子类的对象。但要注意的是:这个父类型的引
用在执行所指向子类的方法时,该方法一定是父类中存在的方法。
上述内容见实例:PolyTesr
七、接口(interface):
1、接口的地位等同于class,接口中的所有方法都是抽象方法。在声明接口中的方
法时,可以使用abstract关键字,也可以不使用。通常情况下,都会省略掉abstract
关键字。
2、类可以实现接口。实现使用关键字implements表示,代表了某个类实现了某个接
□o
一个类实现了某个接口,那么该类必须要实现接口中声明的所有方法。
Java是单继承的,也就是说某个类只能有唯一一个父类;一个类可以实现多个
接口,多个接口之间使用逗号分隔。
上述内容见实例:Test3
八、一些关键字:
1、static关键字:可以用于修饰属性,也可以用于修饰方法,还可以用于修饰类(后
面的课程讲)
1)static修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一一
份静态的成员变量;一个对象对该静态成员变量进行了修改,其他对象的该静态成
员变量的值也会随之发生变化。如果一个成员变量是static的,那么我们可以通过
类名.成员变量名的方式来使用它(推荐使用这种方式)。
上述内容见实例:StaticTest
2)static修饰方法:static修饰的方法叫做静态方法。对于静态方法来说,可以使
用类名•方法名的方式来访问。
注意:不能在静态方法中访问非静态成员变量;可以在静态方法中访问静态的成员
变量。可以在非静态方法中访问静态的成员变量。
总结:静态的只能访问静态的;非静态的可以访问一切。
见实例:StaticTest5
2、final关键字:final可以修饰属性、方法、类。
1)final修饰类:当一个类被final所修饰时,表示该类是一个终态类,即不能被继
承。
2)final修饰方法:当一个方法被final所修饰时,表示该方法是一个终态方法,即
不能被重写(Override)o
3)final修饰属性:当一个属性被final所修饰时,表示该属性不能被改写。
上述内容见实例:FinalTest^FinalTest2>FinalTest3
3、包(package)o用于将完成不同功能的类分门别类,放在不同的目录(包)下。
包的命名规则:将公司域名反转作为包名。,com.myjjx(包名),对于包名:每个
字母都需要小写。如果定义类的时候没有使用package,那么Java就认为我们所定义
的类位于默认包里面(defaultpackage)□
1)编译带有package声明的Java源文件有两种方式:
a)直接编译,然后根据类中所定义的包名,逐一手工建立目录结构,最后将生成的
class文件放到该目录结构中(很少使用,比较麻烦)。
b)使用编译参数-d,方式为javac-d.源文件.java,这样在编译后,编译器会
自动帮助我们建立好包所对应的目录结构。
2)有两个包名,分别是aa.bb.cc与aa.bb.cc.dd,那么我们称后者为前者的子包。
见实例:PackageTest
4、导入(import),将使用package别离的各个类导入回来,让编译器能够找到所
需要的类。
1)import的语法:importcom.myjjx.PackageTest1;
2)iiriportcom.myjjx.*,表示导入com.myjjx包下面的所有类。
3)importaa.bb.*并不会导入aa.bb.cc包下面的类。这时需要这样写:
importaa.bb.*;
importaa.bb.cc.
4)关于package、importsclass的顺序问题:
a)首先需要定义包(package),可选
b)接下来使用import进行导入,可选
c)然后才是class或interface的定义。
5)如果两个类在同一个包下面,那么则不需要导入,直接使用即可。
见实例:PackageTest1>ImprotTest
5、instanceof:判断某个对象是否是某个类的实例。语法形式:引用名
instanceof类名(接口名),返回一个boolean值。
见实例:InstanceofTest
九、访问修饰符(accessmodifier)。
1>public(公共的):被public所修饰的属性和方法可以被所有类访问。
2、protected(受保护的):被protected所修饰的属性和方法可以在类内部、相同
包以及该类的子类所访问。
3>private(私有的):被private所修饰的属性和方法只能在该类内部使用
4、默认的(不加任何访问修饰符):在类内部以及相同包下面的类所使用。
见实例:A、B、C、D
十、java.lang.Object类。
java,lang包在使用的时候无需显式导入,编译时由编译器自动帮助我们导入。
API(ApplicationProgrammingInterface),应用编程接口。
~\^一、String类
1>对于String对象的相等性判断来说,请使用equals。方法,而不要使用
2、当使用+拼接字符串时,会生成新的String对象,而不是向原有的String对象追
加内容口
3、StringI=newString(“aaa〃);和StringI="aaa"返回的地址不同,因
为它们存储在不同的空间。
见实例:StringTest>StringTest2
十二、数组:(Array):相同类型数据的集合就叫做数组。
1、如何定义一维数组。
type口变量名二newtype[数组中元素的个数];可以按照以下方式定义长度为10的
数组:
int[]a=newint[10];或者inta[]=newint[10];
2、数组中的元素索引是从0开始的。对于数组来说,最大的索引=数组的长度-1。
见实例:ArrayTest
3、定义数组的第3种方式:
type口变量名={newtype[]}{逗号分隔的初始化值列表};
4、Java中的每个数组都有一个名为len
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中物理 加强练习第十四章 133.光的折射和全反射的综合应用(B)
- 高中历史 加练 考点6 汉初国家治理与王国问题
- 关于GB6441-2025中27类事故应急处置专题培训
- 对数函数的图象和性质(二)-高一上学期数学课时作业人教版A版(含解析)
- 早餐店营销方案策划(3篇)
- 机械密封泄露应急预案(3篇)
- 楼顶大字施工方案报价(3篇)
- 水闸施工方案怎么写(3篇)
- 清徐网络营销方案(3篇)
- 煤矿的环境应急预案(3篇)
- 2026年湖南有色黄沙坪矿业有限公司招聘80人笔试参考题库及答案详解
- 《养生保健》课件-5.上肢部保健按摩
- 2026年浙江省大学生乡村医生专项计划招聘考试历年参考题库含答案详解
- 建设电工劳务分包合同
- (2026年)女性避孕方法临床应用的中国专家共识(2026年扩展版)
- 2026年党员应知应会基础知识试题(附答案)
- 2026年药食同源食品与新食品原料(新资源食品)食用量标准大全
- 大疆创新人力资源管理实践完全指南
- 2025年度医院急诊科人才培养计划
- 山西中医师承合同协议
- 针刺伤预防与处理(中华护理学会团体标准)
评论
0/150
提交评论