资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Java语言基础标识符o标识符:程序员对程序中的各个元素加以命名时使用的命名记号oJava语言中的标识符是以字母、下划线_、美元符$开始的字符序列,后面可以跟字母、数字、_、$o例如n合法:userName,$tempstr,name_var,h1n非法:Host#,5mail,byte,123声明变量o大小写敏感o声明变量之后,必须对变量进行初始化才能使用int age, i;boolean status;int age, i = 100;boolean status;if (i 0) / correct System.out.println(age); / error, age isnt initializedo例:计算圆面积(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); n在方法中定义的变量,仅限在该方法中使用。常量o使用final关键字来向编译器告知一块数据是恒定不变的。n声明常量时必须定义常量值n编译时执行计算式,减轻运行时的负担n按照习惯,常量名应使用大写n与C不同,Java的常量也具有类型final double CM_PER_INCH = 2.54;static final int MAX = 1000;o例:计算圆面积(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 + area); 保留字o保留字:具有专门的意义和用途,不能当作一般的标识符使用nabstract, continue, for, new, switch, assert, default, goto, package, synchronized, boolean, do, if, private, this nJava中所有的保留字http:/docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html基本数据类型oJava中的基本数据类型一共是8种,包括数值型、字符型与布尔型o不管运行在任何计算机上,Java中的数据类型长度都固定不变基本数据类型NameSizeRangebyte8 bit-27 27-1short16 bit-215 215-1int32 bit-231 231-1long64 bit-263 263 -1n注:没有无符号整型o整型(4种)基本数据类型NameSizeRangefloat32 bit有效数位67double64 bit有效数位15o浮点型(2种)o布尔型nboolean:取值范围 true | false基本数据类型o字符型ncharnsize:16 bitnrange:Unicode 0 Unicode 216-1oUnicode(统一码)是一种编码方案,它将世界上所有的字符都赋予一个独一无二的编码o一般我们在程序中不使用char类型char c = A; orchar c = 65; orchar c = u0041;数据类型之间的转换oJava要求二元运算的两个操作数类型必须相同,当某个二元运算的两个操作数类型不同时,小数据类型可自动转换为大数据类型后再进行运算o当需要从大数据类型转换到小数据类型时,可采用强制转换方式int n = 10;byte c = n; / errorbyte b = (byte)n; / correct常数值(literal)的类型o整数常数的类型默认为into浮点数常数的类型默认为doubleint age = 18; / correct ,十进制表示,十进制表示orint age = 022; / 8进制表示进制表示orint age = 0x12; / 16进制表示进制表示short height = 165; / errordouble weight = 49.0; / correctfloat x = 15.6; / error/ 可改为可改为float x = 15.6F; / correctorfloat x = (float)15.6; / correct控制台输出与输入oSystem.out标准输出(默认为显示器)nSystem.out.println(); 输出后换行nSystem.out.print(); 输出nSystem.out.printf(); / 格式化输出oSystem.in标准输入(默认为键盘)n可以使用类Scanner来读取System.in的输入double x = 1000.0/ 3.0;System.out.printf(the x is %8.2f, x);/ output: the x is 3333.33Scanner input = new Scanner(System.in);o例:计算圆面积(3)-从键盘输入半径import 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 + area); 运算符o源于C+n算术运算符:+、-、*、/、+、-、n关系运算符:=、!=、=、o得到结果为boolean型n布尔运算符:&、|、!o操作数必须为boolean型,结果也为boolean型n位运算符:、&、|、n赋值运算符:=、+=、-=、n三元运算符:condition ? expr1 : expr2n运算符优先级控制结构o分支结构nifelse、switcho循环结构nfor、while、dowhileo程序转移nbreak、continue、returno异常处理ntrycatchfinallybreak和continueoJava为break和continue关键字提供了有标签和无标签两个版本n无标签版本:中断当前循环o标签是后面跟有冒号的标识符o标签起作用的唯一的地方是刚好在循环语句之前,它代表了一个循环体o带标签版本相当于goto语句,主要是为了解决从内循环跳到外循环的问题nJava不提供goto语句label1:带标签的break和continuenbreak和continue仅能在当前所在循环体内起作用label1:outer-iteration inner-iteration /. break; / 跳出当前循环跳出当前循环(inner-iteration) / . continue; / 跳到当前循环跳到当前循环(inner-iteration)的首条语句的首条语句 / continue label1; / 跳出跳出label1循环循环(outer-iteration) / break label1; / 跳到跳到label1循环循环(outer-iteration)的首条语句的首条语句 用引用操纵对象oJava程序中的一切甚至Java程序本身都是对象。o在Java中,对象不能被直接操纵,只能通过引用来操纵。o这里我们创建了一个引用,此引用没有指向、也没有创建任何对象。只有将这个引用和实际的对象关联起来时,才能进行对象的操纵。String s;对象的创建(new)o用new关键字可以创建一个对象n一个String对象被创建(堆)n对象被初始化n一个类型为String的引用s被创建(堆栈)n将s与对象关联起来(即s指向了该对象)String s;s = new String(this is a string!);String s = new String(this is a string!);对象的使用o通过运算符“.”可以访问对象的方法和成员变量。n一般我们都是通过引用来操纵对象,但也可以是能够产生对象的表达式String s = new String(this is a string!);int n = s.length() ; System.out.println(n); / 17System.out.println( new String(hello).toUpperCase() );String类o使用最多的类!oJava中的字符串作为对象来处理oString在创建之后内容不能被改变oString对象有多种初始化方式n字符串常量:用双引号括住的一串字符String b1 = new String(Java World!);String b2 = Java World!; /未创建对象,指向字符串常量未创建对象,指向字符串常量字符串操作符+o+运算符可以用于连接字符串,也是Java中唯一一个被“重载”的运算符n由于二元运算符+可以理解为加法或字符串连接,因此,如果+有一个操作数是字符串,则做字符串连接操作(另一个操作数自动转换为字符串),否则做加法操作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数组o数组是相同类型的、用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。o数组的定义n声明了int型数组变量a1nJava中不允许指定数组的大小,例如int a1;orint a1;int a110; / c+ define mode数组的引用o这时得到的只是能够指向某种类型数组的一个引用,而且也没有给数组分配空间,为了给数组创建相应的存储空间,必须使用new关键字o特殊的初始化表达式int a1;a1 = new int10;orint a1 = new int10;/ initializefor (int i = 0; i 10; i +) a1i = i * 2; / 使用下标访问数组元素使用下标访问数组元素 int a1 = 0, 2, 4, 6, 8, 10, 12, 14, 16, 18; 对象数组o当创建一个对象数组时,数组中存放的是对象的引用String s = new String10;/ initializes0 = 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;对象数组oint a = new int10;oString s = new String10;对象数组String s = new String10;s0 = new String(Hello);s1 = new String(World);s2 = new String(every);s3 = new String(body);.数组的length属性o数组创建后,其大小不可改变,可以用length属性得到其大小n访问数组中的元素时不可越界,否则会抛出一个ArrayIndexOutOfBounds异常String s1 = new String10;/ initializefor (int i = 0; i s1.length; i+) 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型的二维数组引用型的二维数组引用mm = new int43;多维数组int m; / 声明一个声明一个int型的二维数组引用型的二维数组引用mm = new int4; / 第二维长度未知第二维长度未知m0 = new int3;m1 = new int2;m2 = new int3;m3 = new int1;多维数组int m; / 声明一个声明一个int型的二维数组引用型的二维数组引用mm = 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 n思考:如果用for.each遍历该二维数组,应如何修改以上代码o二维数组的特殊初始化int m = 3,2, 3, 0, 1, 5 ;/ 得到一个第一维为得到一个第一维为3,第二维分别为,第二维分别为2、3、1的二维数组的二维数组枚举类型o枚举类型是JDK5.0开始加入的特性,假设变量的取值仅在一个有限集合,可以定义枚举类型并包括有限个命名的值/ 定义在方法的外部定义在方法的外部enum Size SMALL, MEDIUM, LARGE, EXTRA_LARGE;/ 使用已定义的枚举类型使用已定义的枚举类型.Size s = Size.MEDIUM;System.out.println(s); / 输出输出 MEDIUM小结oJava语法很类似于C+,这使得熟悉C/C+的程序员可以快速掌握JavaoJava是比C+更“纯净”的面向对象语言n不再有指针n不再有运算符重载n不再有函数n每次访问数组都会检查下标是否越界n严格的类型检查n.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号