第2讲 Java编程基础.ppt
第第2讲讲 Java 编程基础编程基础Java 应用程序的应用程序的最简最简形式:形式:class 类名类名 .public static void main(String argv).说明:说明:Java源文件的扩展名为源文件的扩展名为.java(扩展名全部小写扩展名全部小写)例:建立一个例:建立一个java程序,定义一个字符串类型的变量程序,定义一个字符串类型的变量aa,并并赋值赋值“Hello World”,最后输出最后输出aa的值。的值。1class helloworld public static void main(String argv)String aa=Hello World;System.out.println(aa);21 Java基本语法基本语法1.注释注释 常用常用2种类型:种类型:/注释一行注释一行 /*一行或多行注释一行或多行注释*/2.标识符标识符 以字母、下划线以字母、下划线_、$开头,后面可以包含数字,无开头,后面可以包含数字,无长度限制。长度限制。如:如:myname,_syspath,$bill,score2 标识符区分大小写标识符区分大小写:Myname和和myname是是不同的标识不同的标识符符33.基本数据类型基本数据类型 1)整型:整型:byte(8位位),short(16位位),int(32位位),long(64位位)如如 4,26,0 xAD0F 2)浮点型:浮点型:float(32位位),double(64位,缺省类型位,缺省类型)如如 3.14(double型型)3)逻辑型:逻辑型:boolean,取值取值true,false 4)字符型:字符型:char(16位的位的unicode国际码字符国际码字符),44.字符串类型:字符串类型:String如:如:String greeting=“Good Morning!”;说明:判断说明:判断字符串的值字符串的值是否相等的方法是利用是否相等的方法是利用 equals()语法:语法:str1.equals(str2)如:如:String s1=abc;则:则:s1.equals(abc)的结果是:的结果是:true注意:判断其它类型的值是否相等,使用注意:判断其它类型的值是否相等,使用=。如:如:int a=3,b=3;则:则:a=b的结果是:的结果是:true55.String类型与数值间的转换方法类型与数值间的转换方法String int Integer.parseInt(String类型数据类型数据);如:如:int a=Integer.parseInt(“123”);String float Float.parseFloat(String类型数据类型数据);如如:float a=Float.parseFloat(“1.345”);数值数值 String String.valueOf(数值数值);如如:String a=String.valueOf(1.35);68.数组数组 声明数组格式:声明数组格式:数组类型数组类型 数组名称;数组名称;如如 char s;一维字符型数组一维字符型数组 int array;二维整型数组二维整型数组 创建数组方法:创建数组方法:1)使用使用new来创建:来创建:new 数组类型数组类型数组大小数组大小;如如 int list=new int20;2)用初始值填充数组用初始值填充数组 如如 String citys=“xuzhou”,“nanjing”;等效于等效于:String citys;citys=new String2;citys0=“xuzhou”;citys1=“nanjing”;7 注意:注意:1)不能这样创建静态数组:不能这样创建静态数组:String citys2;/编译出错编译出错 2)也不能直接操作一个没定义大小的数组:也不能直接操作一个没定义大小的数组:int num;for(int i=0;i9;i+)numi=i;3)数组元素个数:数组元素个数:length变量变量 int a;a=new int1012;则:则:a.length=10;a0.length=12;89.Java流控制流控制(与与C语言语法相同语言语法相同)分支结构分支结构 1)if/else分支结构分支结构 if(条件条件)语句语句1;else 语句语句2;2)switch分支结构分支结构 switch(expr)case expr1:语句语句1;break;case expr2:语句语句2;break;default:语句语句3;break;说明:说明:expr必须是必须是int类型类型9循环结构循环结构 1)for循环结构循环结构 for(init expr1;text expr2;increment expr3)语句语句;2)while循环结构循环结构 while(条件条件)语句语句;3)do循环结构循环结构 do 语句语句;while(条件条件);1010.Java异常处理异常处理 try 程序块;程序块;catch(ExceptionType1 e1)对对ExceptionType1的处理;的处理;catch(ExceptionType2 e2)对对ExceptionType2的处理;的处理;finally 无论是否发生异常最后都要执行的程序块;无论是否发生异常最后都要执行的程序块;11作业:作业:1、建立一个、建立一个java程序,定义一个字符串类型的变量,程序,定义一个字符串类型的变量,并赋值,最后再输出该变量的值。并赋值,最后再输出该变量的值。2、建立一个、建立一个java程序,计算程序,计算5的阶乘并输出计算结果的阶乘并输出计算结果。作业上缴形式:手写稿和电子稿。作业上缴形式:手写稿和电子稿。122 Java类类类的定义形式:类的定义形式:package 包名包名 import 类名类名 public class 类名类名 extends 父类名父类名 成员变量定义;成员变量定义;成员函数定义;成员函数定义;说明:如果是说明:如果是public类类,则类所在的,则类所在的源程序文件名必须源程序文件名必须与类名相同(包括大小写)与类名相同(包括大小写)13 package 包名包名 import 类名类名 public class 类名类名 extends 父类名父类名 成员变量定义;成员变量定义;成员函数定义;成员函数定义;1、包定义语句:包定义语句:package 包名;包名;它在每个源程序中要有只能有一条,包名用它在每个源程序中要有只能有一条,包名用“.”分隔,分隔,包内的类不能与包名同名包内的类不能与包名同名。包的存放位置通过目录镜像。包的存放位置通过目录镜像确定,且确定,且包名与镜像的目录名要完全一致(包括大小写)包名与镜像的目录名要完全一致(包括大小写)。例如某包的定义语句为例如某包的定义语句为package a.b.c,则该包的则该包的存放位置存放位置应在应在/a/b/c/目录中目录中,为使用该包的程序目录。为使用该包的程序目录。14 package 包名包名 import 类名类名 public class 类名类名 extends 父类名父类名 成员变量定义;成员变量定义;成员函数定义;成员函数定义;2、import语句:将语句:将其它包中的类其它包中的类引入本程序。引入本程序。格式:格式:import 包名包名.*;/引入包的所有公有类引入包的所有公有类 import 包名包名.类名类名;/引入包的指定类引入包的指定类 注注:1)import语句放在包语句定义之后,源程序之前;语句放在包语句定义之后,源程序之前;2)写类名时不能带扩展名写类名时不能带扩展名.class 3)Java缺省将缺省将 java.lang.*引入;引入;15 package 包名包名 import 类名类名 public class 类名类名 extends 父类名父类名 成员变量定义;成员变量定义;成员函数定义;成员函数定义;3、类继承语句:、类继承语句:extends格式:格式:public class 子类名子类名 extends 父类名父类名 说明说明:如果如果省略省略extends子句子句,则表示定义,则表示定义Object类的直接子类类的直接子类(Object类是所有类是所有Java类的根类的根),此时形式为:),此时形式为:public class 类名类名 16 package 包名包名 import 类名类名 public class 类名类名 extends 父类名父类名 成员变量定义;成员变量定义;成员函数定义;成员函数定义;4、类访问层次、类访问层次 public访问层次:声名为访问层次:声名为public的类可以被其他代码访问,此的类可以被其他代码访问,此时时类所在的源程序文件名必须与类名相同类所在的源程序文件名必须与类名相同(包括大小写);(包括大小写);默认默认访问层次(即访问层次(即没有声名为没有声名为public的类):表示该类仅允许的类):表示该类仅允许同一个包同一个包中的其它代码访问。中的其它代码访问。175、成员变量和成员函数的访问指示符、成员变量和成员函数的访问指示符 public指示符:声名为指示符:声名为public的成员可被其它的成员可被其它任何包和类访问任何包和类访问。private指示符:声名为指示符:声名为private的成员只能被的成员只能被本类访问本类访问。protected指示符:声名为指示符:声名为protected的成员能被的成员能被本包本包和和其子类其子类访问。访问。无指示符无指示符:即没有指明访问指示符的成员,该成员只能被即没有指明访问指示符的成员,该成员只能被本包本包访问。访问。186、生成对象的实例:、生成对象的实例:new操作符操作符 格式:格式:对象名对象名 实例名实例名=new 对象名对象名();或:或:对象名对象名 实例名实例名=new 对象名对象名(实参列表实参列表);例:例:class University String name,city;public static void main(String args)University u=new University();u.name=武汉大学武汉大学;u.city=武汉武汉;System.out.println(大学大学:+u.name+;城市:城市:+u.city);197、成员函数、成员函数 1)定义形式:定义形式:类型类型 函数名函数名(输入参数输入参数)函数体;函数体;例例 class Universityinit String name,city;void init(String a,String b)name=a;city=b;2)调用方法:调用方法:实例名实例名.函数名函数名 Universityinit u=new Universityinit();u.init(“北京大学北京大学”,“北京北京”);208.this关键字关键字功能:指向功能:指向当前对象当前对象。如:如:class Universityinit String name,city;void init(String name,String city)this.name=name;this.city=city;219.构造函数构造函数功能:对象创建时完成对象初始化任务的特殊成员函数。功能:对象创建时完成对象初始化任务的特殊成员函数。特点:特点:1)对象创建时自动调用,且不能被继承;对象创建时自动调用,且不能被继承;2)构造函数名必须和它所在的类名完全一样;构造函数名必须和它所在的类名完全一样;3)无返回类型,即使是无返回类型,即使是void类型也没有;类型也没有;class University String name,city;University(String name,String city)this.name=name;this.city=city;2210.super关键字关键字 功能:指向当前类的功能:指向当前类的父类父类。class University String name,city;University(String name,String city)this.name=name;this.city=city;class UniversityWorld extends University String country;UniversityWorld(String name,String city,String country)super(name,city);/调用父类调用父类University的构造函数的构造函数 this.country=country;23举例:举例:1、定义一个、定义一个java类类myclass,在该类中定义一个计算阶在该类中定义一个计算阶乘的成员函数,利用该函数计算乘的成员函数,利用该函数计算6的阶乘,并输出计的阶乘,并输出计算结果。算结果。2、定义一个、定义一个java类类student,该类有两个字符串类型的该类有两个字符串类型的成员变量成员变量sno和和sname,一个构造函数,构造函数用一个构造函数,构造函数用于为成员变量于为成员变量sno和和sname赋值,利用该构造函数为赋值,利用该构造函数为sno赋值赋值“123”,为,为sname赋值赋值“张三张三”,并输出,并输出sno和和sname值。值。24作业:作业:1、定义一个、定义一个java类(名称自定)类(名称自定),在该类中定义一个在该类中定义一个计算阶乘的成员函数,利用该函数计算计算阶乘的成员函数,利用该函数计算4的阶乘,并的阶乘,并输出计算结果。输出计算结果。2、定义一个、定义一个java类(名称自定)类(名称自定),该类有两个字符串该类有两个字符串类型的成员变量类型的成员变量(变量名自定),一个构造函数,变量名自定),一个构造函数,构造函数用于为两个成员变量赋值,利用该构造函构造函数用于为两个成员变量赋值,利用该构造函数为两个成员变量赋值数为两个成员变量赋值(值自定),并输出成员变值自定),并输出成员变量值。量值。作业上缴形式:手写稿和电子稿。作业上缴形式:手写稿和电子稿。25