二、Java语言基础.ppt

上传人:本田雅阁 文档编号:3422502 上传时间:2019-08-23 格式:PPT 页数:37 大小:243.54KB
返回 下载 相关 举报
二、Java语言基础.ppt_第1页
第1页 / 共37页
二、Java语言基础.ppt_第2页
第2页 / 共37页
二、Java语言基础.ppt_第3页
第3页 / 共37页
二、Java语言基础.ppt_第4页
第4页 / 共37页
二、Java语言基础.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《二、Java语言基础.ppt》由会员分享,可在线阅读,更多相关《二、Java语言基础.ppt(37页珍藏版)》请在三一文库上搜索。

1、Java语言基础,标识符,标识符:程序员对程序中的各个元素加以命名时使用的命名记号 Java语言中的标识符是以字母、下划线_、美元符$开始的字符序列,后面可以跟字母、数字、_、$ 例如 合法:userName,$tempstr,name_var,h1 非法:Host#,5mail,byte,123,声明变量,大小写敏感 声明变量之后,必须对变量进行初始化才能使用,int age, i; boolean status;,int age, i = 100; boolean status; if (i 0) / correct System.out.println(age); / error, ag

2、e isnt initialized,例:计算圆面积(1),public class ComputeArea public static void main(String args) double radius; double area; radius = 2.5; area = radius * radius * 3.14159; System.out.println(“the area is “ + area); ,在方法中定义的变量,仅限在该方法中使用。,常量,使用final关键字来向编译器告知一块数据是恒定不变的。 声明常量时必须定义常量值 编译时执行计算式,减轻运行时的负担 按照习惯

3、,常量名应使用大写 与C不同,Java的常量也具有类型,final double CM_PER_INCH = 2.54; static final int MAX = 1000;,例:计算圆面积(2),public class ComputeArea public static void main(String args) final double PI = 3.14159; double radius; double area; radius = 2.5; area = radius * radius * PI; System.out.println(“the area is “ + are

4、a); ,保留字,保留字:具有专门的意义和用途,不能当作一般的标识符使用 abstract, continue, for, new, switch, assert, default, goto, package, synchronized, boolean, do, if, private, this Java中所有的保留字http:/ 不管运行在任何计算机上,Java中的数据类型长度都固定不变,基本数据类型,注:没有无符号整型,整型(4种),基本数据类型,浮点型(2种) 布尔型 boolean:取值范围 true | false,基本数据类型,字符型 char size:16 bit ran

5、ge:Unicode 0 Unicode 216-1 Unicode(统一码)是一种编码方案,它将世界上所有的字符都赋予一个独一无二的编码 一般我们在程序中不使用char类型,char c = A; or char c = 65; or char c = u0041;,数据类型之间的转换,Java要求二元运算的两个操作数类型必须相同,当某个二元运算的两个操作数类型不同时,小数据类型可自动转换为大数据类型后再进行运算 当需要从大数据类型转换到小数据类型时,可采用强制转换方式,int n = 10; byte c = n; / error byte b = (byte)n; / correct,常

6、数值(literal)的类型,整数常数的类型默认为int 浮点数常数的类型默认为double,int age = 18; / correct ,十进制表示 or int age = 022; / 8进制表示 or int age = 0x12; / 16进制表示 short height = 165; / error,double weight = 49.0; / correct float x = 15.6; / error / 可改为 float x = 15.6F; / correct or float x = (float)15.6; / correct,控制台输出与输入,System

7、.out标准输出(默认为显示器) System.out.println(); 输出后换行 System.out.print(); 输出 System.out.printf(); / 格式化输出 System.in标准输入(默认为键盘) 可以使用类Scanner来读取System.in的输入,double x = 1000.0/ 3.0; System.out.printf(“the x is %8.2f“, x); / output: the x is “ 3333.33“,Scanner input = new Scanner(System.in);,例:计算圆面积(3)-从键盘输入半径,i

8、mport java.util.*; public class ComputeArea public static void main(String args) final double PI = 3.14159; Scanner input = new Scanner(System.in); System.out.print(“please input radius: “); double radius = input.nextDouble(); double area = radius * radius * PI; System.out.println(“the area is “ + a

9、rea); ,运算符,源于C+ 算术运算符:+、-、*、/、+、-、 关系运算符:=、!=、=、 得到结果为boolean型 布尔运算符:&、|、! 操作数必须为boolean型,结果也为boolean型 位运算符:、&、|、 赋值运算符:=、+=、-=、 三元运算符:condition ? expr1 : expr2 运算符优先级,控制结构,分支结构 ifelse、switch 循环结构 for、while、dowhile 程序转移 break、continue、return 异常处理 trycatchfinally,break和continue,Java为break和continue关键字

10、提供了有标签和无标签两个版本 无标签版本:中断当前循环 标签是后面跟有冒号的标识符 标签起作用的唯一的地方是刚好在循环语句之前,它代表了一个循环体 带标签版本相当于goto语句,主要是为了解决从内循环跳到外循环的问题 Java不提供goto语句,label1:,带标签的break和continue,break和continue仅能在当前所在循环体内起作用,label1: outer-iteration inner-iteration /. break; / 跳出当前循环(inner-iteration) / . continue; / 跳到当前循环(inner-iteration)的首条语句

11、/ continue label1; / 跳出label1循环(outer-iteration) / break label1; / 跳到label1循环(outer-iteration)的首条语句 ,用引用操纵对象,Java程序中的一切甚至Java程序本身都是对象。 在Java中,对象不能被直接操纵,只能通过引用来操纵。 这里我们创建了一个引用,此引用没有指向、也没有创建任何对象。只有将这个引用和实际的对象关联起来时,才能进行对象的操纵。,String s;,对象的创建(new),用new关键字可以创建一个对象 一个String对象被创建(堆) 对象被初始化 一个类型为String的引用s被

12、创建(堆栈) 将s与对象关联起来(即s指向了该对象),String s; s = new String(“this is a string!“);,String s = new String(“this is a string!“);,对象的使用,通过运算符“.”可以访问对象的方法和成员变量。 一般我们都是通过引用来操纵对象,但也可以是能够产生对象的表达式,String s = new String(“this is a string!“); int n = s.length() ; System.out.println(n); / 17,System.out.println( new Str

13、ing(“hello“).toUpperCase() );,String类,使用最多的类! Java中的字符串作为对象来处理 String在创建之后内容不能被改变 String对象有多种初始化方式 字符串常量:用双引号括住的一串字符,String b1 = new String(“Java World!“); String b2 = “Java World!“; /未创建对象,指向字符串常量,字符串操作符+,+运算符可以用于连接字符串,也是Java中唯一一个被“重载”的运算符 由于二元运算符+可以理解为加法或字符串连接,因此,如果+有一个操作数是字符串,则做字符串连接操作(另一个操作数自动转换

14、为字符串),否则做加法操作,int x = 0, y = 1, z = 2; String sString = “x, y, z“; System.out.println(sString + x + y + z); / ? System.out.println(x + y + z + sString); / ?,String str1 = “Hello“; String str2 = “World“; System.out.println(str1 + str2); / 输出 HelloWorld,数组,数组是相同类型的、用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。 数组的定义

15、 声明了int型数组变量a1 Java中不允许指定数组的大小,例如,int a1; or int a1;,int a110; / c+ define mode,数组的引用,这时得到的只是能够指向某种类型数组的一个引用,而且也没有给数组分配空间,为了给数组创建相应的存储空间,必须使用new关键字 特殊的初始化表达式,int a1; a1 = new int10; or int a1 = new int10; / initialize for (int i = 0; i 10; i +) a1i = i * 2; / 使用下标访问数组元素 ,int a1 = 0, 2, 4, 6, 8, 10,

16、12, 14, 16, 18;,对象数组,当创建一个对象数组时,数组中存放的是对象的引用,String s = new String10; / initialize s0 = new String(“Hello“); s1 = new String(“World“); s2 = new String(“every“); s3 = new String(“body“); .,String s = “aa“, “bb“, “cc“, “dd“, “ee“, “ff“, “gg“, “hh“, “ii“, “jj“;,对象数组,int a = new int10;,String s = new St

17、ring10;,对象数组,String s = new String10; s0 = new String(“Hello“); s1 = new String(“World“); s2 = new String(“every“); s3 = new String(“body“); .,数组的length属性,数组创建后,其大小不可改变,可以用length属性得到其大小 访问数组中的元素时不可越界,否则会抛出一个ArrayIndexOutOfBounds异常,String s1 = new String10; / initialize for (int i = 0; i s1.length; i

18、+) s1i = new String(); ,for.each语法遍历数组,int a; . for (int u : a) System.out.println(u); / 相当于 for (int i = 0; i a.length; i +) System.out.println(ai); ,多维数组,int m; / 声明一个int型的二维数组引用m m = new int43;,多维数组,int m; / 声明一个int型的二维数组引用m m = new int4; / 第二维长度未知 m0 = new int3; m1 = new int2; m2 = new int3; m3

19、= new int1;,多维数组,int m; / 声明一个int型的二维数组引用m m = new int43; m2 = new int5; / 使m2指向另一数组,多维数组元素遍历,int m; . for (int i = 0; i m.length; i +) for (int j = 0; j mi.length; j +) / operations to mij ,思考:如果用for.each遍历该二维数组,应如何修改以上代码 二维数组的特殊初始化,int m = 3,2, 3, 0, 1, 5 ; / 得到一个第一维为3,第二维分别为2、3、1的二维数组,枚举类型,枚举类型是JDK5.0开始加入的特性,假设变量的取值仅在一个有限集合,可以定义枚举类型并包括有限个命名的值,/ 定义在方法的外部 enum Size SMALL, MEDIUM, LARGE, EXTRA_LARGE; / 使用已定义的枚举类型 . Size s = Size.MEDIUM; System.out.println(s); / 输出 MEDIUM,小结,Java语法很类似于C+,这使得熟悉C/C+的程序员可以快速掌握Java Java是比C+更“纯净”的面向对象语言 不再有指针 不再有运算符重载 不再有函数 每次访问数组都会检查下标是否越界 严格的类型检查 .,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1