收藏 分享(赏)

3+java语言基础.ppt

上传人:dreamzhangning 文档编号:3334687 上传时间:2018-10-14 格式:PPT 页数:56 大小:424KB
下载 相关 举报
3+java语言基础.ppt_第1页
第1页 / 共56页
3+java语言基础.ppt_第2页
第2页 / 共56页
3+java语言基础.ppt_第3页
第3页 / 共56页
3+java语言基础.ppt_第4页
第4页 / 共56页
3+java语言基础.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、Java 语言基础,程序结构语句规则语言基本元素,第3章,package import -class 类名1 属性定义方法名1() -方法名2() -class 类名2 -,程序结构,一个程序可包括若干个类各类之间存在并列、继承和包含关系。这些类通常是在一起协同工作的。例如一个类的方法中需要创建其他类的对象,并操作这个对象。编程只能在方法中。编译后每个类产生一个 .class 文件,程序结构示例,import java.util.* ; public class Test /类“Test”(主类)public static void main(String args)Cal cal = new

2、 Cal(9,3) ;System.out.println(“ 9+3 = “ + cal.add();System.out.println(“ 9-3 = “ + cal.sub();System.out.println(“ 9*3 = “ + cal.mul();System.out.println(“ 9/3 = “ + cal.div(); ,3-1,程序结构示例,class Cal /类定义int x,y ;Cal(int a, int b) /构造函数x=a ;y=b ;int add() /方法1return x+y;,int sub() /方法2return x-y;int m

3、ul() /方法3return x*y;int div() /方法4return x/y; ,运行示例程序,java的名字空间和包,作为一种在整个Internet上动态装载模块的语言,Java特别注意避免名字空间的冲突。 所有的方法和属性都在类中定义,是类的组成部分。 每个类又是包的组成部分。 全限定名 : 包名 . 类名 . 方法名 inport 打开一个包后 ,可直接指定该包中的类名。 在本类中,可以直接使用方法名及属性名。,包的概述,一个包是一组相关类的集合。 类库由若干包组成。 java.lang 语言核心类(String Integer Math) java.awt 图形用户界面 j

4、ava.applet applet小程序 java.io 文件与输入输出 网络编程 java.util 实用程序类(随机数、日期、系统属性) Java API 文档 class library - package,语句规则,语句种类 说明语句 如属性说明、变量说明等 表达式语句 控制语句 (条件、循环、转移) 异常处理语句 块语句(代码块,一组语句用花括号括起来) 注释 / - - 只限于行内 /* - - - */ 一段注释文本 基本语句用分号结束 代码元素间可以插入任意空格、tab和换行符。,Java 标识符,标志符是赋予常量、变量、方法、类或者接口的名称,可以由用户自行定义,但需符合J

5、AVA标识符的命名规则: 1)标识符可由一个或多个字符组成; 2)标识符必需以英文字母、“_”或是“$”为开头,后面可以包含数字、字母但不包含空格; 3)JAVA区分大小字母,但标志符长度没有限制; 4)关键字不能作为标志符,合法与不合法的标识符的例子,Java 标识符一般命名规则,类名(接口名) 名词第一字母大写,每一单词首字母大写。 例:AccountBook 方法名 动词 第一字母小写,每一单词首字母大写。 例:balanceAccount() 变量名 名词 第一字母小写,每一单词首字母大写。 常量名全部大写,单词间用下划线分开 .例:HEAD_COUNT Java标识符要区分大小写 标

6、识符中的合法字符:字母、数字、_ 、$ (非数字开头),数据类型与说明语句,Java程序中所处理的数据是将各种数据类型实例化后的数据。 数据类型实例化的方法:说明语句 实例化数据的两种形式:变量与常量,数据类型与说明语句,基本数据类型说明语句例: (同时给变量赋初值)boolean b = true;short si = 128;int I,j,k = -99;long l = 123456789;char ch = J;char chc = 中 ;float f = 3.1415926;double d = -1.04E-5; Java几乎是将字符串视为基本数据类型String s = “你

7、好!“ ;,常数表示法(字面值),布尔常数 true false 整型常数 一般常量:32bit 长整型常量:64bit (88L) 十进制数:非0开头的正负整数 105,-23 八进制数: 0开头的正负整数 017(15), -023(-19) 十六进制:0x开头的正负整数 0x2F(47),-0xa8(-168) 浮点常数 一般浮点常量(32bit) 3.14F 6.18E3F 双精度浮点数(64bit ) 7.56D 6.02E23 (D可省),数据类型转换,同种数据类型转换: 短类型 长类型:默认(系统自动转换) 长类型 短类型:强制 不同数据类型转换字符/数值:强制例:int a ;

8、long b ;char c;b = a ; /自动转换a = ( int ) b ; /强制类型转换c= (char) a ; a=(int) c /强制类型转换 布尔型与其他数据类型之间不能强制类型转换,byte short int long float double,数据类型转换,import java.io.*; public class Test public static void main(String args) int i=65;char c=a, cc=王;System.out.println(i); 65 System.out.println(char)i); ASyst

9、em.out.println(c); aSystem.out.println(int)c); 97 System.out.println(cc); 王System.out.println(int)cc); 29579System.out.println(char)35328); 言 ,3-2,Wrapper类面向对象语言特点,基本数据类型,Wrapper 类,boolean,Character,char,Boolean,Byte,byte,Short,short,Integer,int,Long,long,Float,float,Double,double,Wrapper类例Integer,属

10、性 static int MAX_VALUE 返回int型数据的最大值 static int MIN_VALUE 返回int型数据的最小值 构造方法 Integer(int value) Integer(String s) 方法 int intValue() double doubleValue() String toString() static String toString(int i) static Int parseInt(String s) static Integer valueOf(String s),静态方法,类型转换利用类/对象方法,利用类方法(静态方法) Integer.

11、parseInt(“23“) /返回整数23 Integer.toString(23) /返回字符串“23“ Double.parseDouble(“12.3“) Double.toString(12.3) 利用对象方法Double d ; String s;d=new Double(12.3) ; /构造方法s= d.toString();Double.valueOf(“12.3“).doubleValue() ; /返回.,Integer 例面向对象的方法,public class Test public static void main(String args) Integer i=ne

12、w Integer(256);Integer j=new Integer(“256“);System.out.println(i.intValue()*2);System.out.println(i.doubleValue();System.out.println(“i= “+ i.toString();System.out.println(i=j);System.out.println(pareTo(j);,3-3,Integer 例(续),System.out.println(Integer.parseInt(“100“) * 2);System.out.println(“100*2= “

13、 + Integer.toString(100*2);int k ;k=Integer.valueOf(“1010“,2).intValue();System.out.println(k);System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE); ,引用类型类,定义类(新的数据类型) class MyDate int day ;int month ;int year ; 基本数据类型直接分配内存空间int I,j,k ; 引用类型 ?MyDate d1 ;d1 = new MyDate() ;,引用

14、类型类,MyDate d1 = new MyDate() ;,d1.day = 8 ; d1.month = 8; d1.year = 2008 ;,数组是一种数据结构,是一组有序数据的集合。数组的类型可以是基本类型,也可以是类或接口。 数组的定义格式如下: 类型 数组名 ;或者 类型 数组名; 如:char acharArray ;float afloatAraay ; 数组在定义时不会被分配内存空间,因此不必指出数组元素的个数。,JAVA中的数组,JAVA中的数组,JAVA数组的建立 建立数组并非定义数组,而是在数组定义后为数组分配内存空间。 建立数组的方式: 1)通过关键字new来建立数

15、组,如:a = new char5;该语句为数组a建立一个有5个元素的存储区。也可以把数组的定义和建立一起完成,如:char s = new char5;相当于下面两条语句:char s ;s = new char5;,JAVA中的数组,2)直接指定初值的方式建立数组,如:int b = 1,2,3,4,5;该语句定义了一个包含5个元素的整形数组,同时指定了元素初值,并为其建立了5个元素的存储区。,JAVA中的数组,数组的初始化数组初始化就是为了数组元素指定初始值。数组必须在初始化、为其分配内存后才能使用,这有助于增强系统的安全性。 初始化数组的两种方式:静态方法和动态方法 1)静态方法:定义

16、数组时直接进行初始化,如:int years = 1976,1993,1997; 2)动态方法:要使用new关键字为数组分配内存,如:int years ;years = new int3;years0 = 1976;years1 = 1993;years2 = 1997;,JAVA中的数组,两种初始化方法说明:上述的两段代码完全等效。静态初始化数组主要用于数组元素不多并且可以列举的时候,它必须与数组定义结合在一起使用,无需说明数组长度,系统会按实际列举出的元素数目自动计算并分配内存空间。动态初始化数组常用于元素较多或定义时无法列举的情况,定义和初始化是分开的,JAVA中的数组,数组的应用在定

17、义并初始化完一个数组后,就可以引用该数组的各个元素了。数组元素的引用方式如下:数组名数组下标数组下标可以是整型常数或表达式,如namesi,namesi-1注意避免数组下标越界,可以用属性length来判断数组元素的数目length的用法举例:,JAVA中的数组,public static void main(String args) int i;String names = “China“,“American“,“Japan“,“Korea“;System.out.println(“The number of country is “ + names.length);for (i = 0;

18、i names.length; i+)System.out.println(“Names“ + i + “ = “ + namesi); ,JAVA中的数组,二维数组的定义二维数组的声明与定义与一维数组类似,举例:int mat1 = new int33;int mat2 = 1,2,3,4,5,6,7,8,9;这时mat200 的值为1.数组的第2维一般是相同的,若需不同,可将第一维指向另一个数组,如:int var = new int3;var0 = new int10;var1 = new int5;var2 = new int12;,JAVA中的字符串,字符串类代表字符串。每个字符串变

19、量存放字符串类的一个对象;每个字符串常量是该类的一个实例。 字符串的两种创建方式: 1)构造函数String s = new();String s = new(“abc“); 2)常用方式String s = “abc“; 系统自动为该字符串常量创建一个String类的实例,JAVA中的字符串,字符串连接 字符串连接的两种方法: 1)使用“+”把两个字符串连接,如:String A = “this is a “;String B = “Java program”;String C = A + B; 2)使用concat(String str)实现两个字符串连接,如String A = “thi

20、s is a “;String B = “Java program”; String C = A.concat(B);,字符串类-String的方法,int length() / 返回字符串长度 例:“Java与面向对象程序设计”.length() 的值为13 char charAt(int index) /返回指定位置的字符 例: “Java与面向对象程序设计“.charAt(2) 的值为v int compareTo(String s2) /字符串比较 int compareToIgnoreCase(String s2)/忽略大小写 boolean equals(Object obj) /

21、判断字符串相等 String toLowerCase() /将字符串转换为小写 (返回新串,不改变原字符串) String toUpperCase() /将字符串转换为大写,字符串类-String的方法,String substring(int beginIndex) /取子串String substring(int beginIndex, int endIndex) int indexOf(String s) /返回串s在当前串中位置 boolean startsWith(String prefix)判断该字符串是否以prefix为前缀。 boolean endsWith(String su

22、ffix) 判断该字符串是否以suffix为后缀。 char toCharArray() /将字符串转为字符数组,3-6,引用类型与基本类型对照,int x=123; int y=x ;String s1=“abc“ ; String s2 = s1 ;,123,123,0x01234567,null,x y s1 s2,“abc“,表达式语句,表达式是变量、常量及运算符的组合。 表达式既可单独组成语句,也可出现在条件测试、变量说明、方法调用的参数等场合。 在表达式构件中,运算符起到关键作用。 运算符(实现操作)运算元(操作对象) 二元运算符、一元运算符、三元运算符 表达式的结果是一个右值,即

23、不能出现在赋值运算的左边。结果类型由参与运算的数据类型确定。 赋值是一种运算符,为编程带来灵活性(如对循环变量进行初始化)。,Java运算符,一般运算是把运算对象作为一个整体处理,而位运算是把整型数运算对象拆开,以位(bit)作为运算对象,几个特殊的运算符,自运算符+ - j+ j- +j -j 运算符的位置决定了自运算的顺序(在表达式运算之前或在表达式运算之后。 例:a=3 b=5 c=(a+)*b 结果: a=4 c=15 例:a=3 b=5 c=(+a)*b 结果: a=4 c=20 三目条件运算符(?:) D=表达式A ?表达式B :表达式C A为真,返回表达式B A为假,返回表达式C

24、 例: int x=5, y=8; z=2;kk=x3?y:z; 结果:k=8,Java中的注释JAVA中的注释有以下两种: 1)行注释符“/”,以“/”开头到本行结束的所有字符被理解为注释,如:int a = c + b; / c与b的和赋给变量a 2)块注释符“/*” 和 “*/”,分别表示块的开始与结束,如:/* 程序名:项目名:作者:*/,JAVA中的流程控制语句,三种基本流程,顺序,分支,循环,条件语句基本形式,import java.io.*; class Testpublic static void main(String args) int ch;trySystem.out.p

25、rint(“请输入一个字符:“); ch = (char)System.in.read( ); / 从键盘输入一个字符if (ch=0 catch(IOException e) ,if ( 条件表达式 )语句块1; else语句块2;,3-7,if (条件1)语句块1; else if (条件2)语句块2; else if (条件3)语句块3; else语句块n;,条件语句多分支,if (score=85 ,switch 语句,switch(表达式) case 值1:语句块 1 ;case 值2:语句块2 ; default:语句块n; switch 的常量和表达式可以是整型、字符型及byte

26、型 任何两个case常量值不可以有相同的值。 只能对等式进行测试(即表达式的值是否等于值1、值2.,根据表达式取值的不同转向不同的分支。 每个case分支中的语句块无须用花括号括起来。 每个case分支都只是入口点 可在case语句块中加入break 语句,可立即转出switch语句(不再走后面case流程)。,switch 语句,switch 语句例,import java.io.*; class Test public static void main(String args) char ch ;trySystem.out.print(“请输入成绩(字符):“); ch = (char)S

27、ystem.in.read() ; / 从键盘输入一个字符switch (ch) / switch分支case A : System.out.println(“85100“); break ;case B : System.out.println(“6084“); break ;case C : System.out.println(“059“); break ;default : System.out.println(“输入有误“); catch(IOException e) ,3-8,Java的循环语句:while,while(表达式)循环体 ,while循环例,求两个正整数的最小公倍数

28、public class Test public static void main(String args) int result ;int m = Integer.parseInt(args0);int n = Integer.parseInt(args1);if (m0 ,3-9,Java的循环语句:do-while,do 循环体 while(表达式),do-while 循环例,import java.io.*; public class Test public static void main(String args) char ch;try System.out.println(“请输

29、入一个字符,以#结束“);do ch = (char)System.in.read( );System.out.println(“字符“+ch+“的ASCII码为“+(int)ch);System.in.skip(2); /跳过回车换行键 while(ch!=#);catch(IOException e) System.err.println(e.toString( ); ,3-10,Java的循环语句3,for ( 表达式1;表达式2;表达式3)循环体 表达式1:循环变量赋初值 表达式2:循环条件 表达式3:循环变量修正,for循环例,计算:12+22+32+42+1002 public c

30、lass Test public static void main(String args) int result =0 ; for(int k=1; k=100 ; k+) result += k*k ; /累加System.out.println(“计算结果为:“ + result ) ; ,3-11,Java的转移语句,没有goto语句 break 从一个封闭的语句(如switch 、 循环)中跳出来。 break 标号 从包含本break语句的标号指示的封闭语句中跳出来。,while (e1) while(e2).break ; break语句从内循环跳出,aaa while (e1)

31、 while(e2).break aaa ; break语句从外循环跳出,Java的转移语句,continue (用在循环体中) 提前结束所在循环的本次执行(即忽略本循环体中continue语句后面的语句)回到循环的条件测试部分继续执行。 continue 标号 提前结束标号所指循环的本次执行。 通常是某外层循环。 continue不是goto 语句,标号不能指向与本循环并列的循环或其他循环,也不可指向非循环语句。,continue语句例,例:求2100中的素数,每行打印5个数字 import java.io.*; public class Test public static void ma

32、in(String args) outer_loop: for(int i=2,k=0 ; i100 ; i+) for(int j=2 ; j=Math.sqrt(i) ; j+) if(i%j=0) continue outer_loop ; System.out.print(i+“t“);k+;if(k%5=0)System.out.println(); /outer_loop /main /class,3-12,return语句,return流程控制也是用于中断程序运行流程,将程序的运行权交给调用程序,也可以返回程序需要的参数值,int EyeLocal()/函数体return a; 将参数值a返回给调用者,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报