第2章Java基础知识.ppt_第1页
第2章Java基础知识.ppt_第2页
第2章Java基础知识.ppt_第3页
第2章Java基础知识.ppt_第4页
第2章Java基础知识.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,Java语言编程基础,软件教研室 李新辉(86916894 / ,标识符、保留字和分隔符,无论什么编程语言,都需要标识符、保留字、分隔符 标识符:编程语言中的“单词”(包括单词、单词组合、自造词等),它是由一系列字符组成的,可包含字母、数字、下划线等普通符号,用来作为变量名、常量名、函数/方法名、类名、接口名等。 标识符一般都以字母开头,后面跟着一系列字母、数字、下划线的组合。 任何标识符不能以数字作为开头,且不能包含空格。,public class HelloWorld public static void main(String args) System.out

2、.println(Hello, world); ,标识符、保留字和分隔符,标识符是区分大小写的,大小写不同的标识符不是相同的标识符。 正确的标识符举例: hello, Hello, Man, firstName, PI 错误的标识符举例: a*b, 7man, 123, first name 标识符可以用作变量名、常量名、函数/方法名、类名、接口名。在Java语言中,各种命名应遵循相应的编码约定。 标识符的编码约定 变量/参数:name , age, fileName, singerOfSong 常量名:PI, MIN_SIZE, MAX_NUMBER 函数/方法名:getFirstName(

3、), translate(), setAge() 类、接口名:HelloWorld, String 包名:display, com.sun(特殊,可以包含点符号),标识符、保留字和分隔符,保留字:在编程语言中事先规定的一些单词,一般都具有特定的意义。有时也被称为“关键字”。 Java语言的主要关键字可以作以下粗略的分类: (1)void byte short int long char float double boolean true false null (2)if else switch case default for while do continue break return (3

4、)abstract class interface package import extends implements (4)public protected private (5)try catch finally throw throws (6)instanceof synchronized (7)import new static this super final,注意:保留字不能单独当作标识符(变量名、常量名)!,标识符、保留字和分隔符,判断下面哪些是合法的标识符:,标识符、保留字和分隔符,分隔符:如同英文文章一样,不同单词之间需要有空格、换行、引号等进行分隔,才能相互区分开 空格、换

5、行、双引号、单引号、括号等都是分隔符,public class HelloWorld public static void main(String args) System.out.println(Hello, world); ,原始数据类型和变量/常量定义,整数类型 byte、short、int、long 浮点类型 float、double 字符型 char 布尔类型 boolean 类 class 接口 interface 数组 ,简单类型,引用类型,数据类型,原始数据类型,复合类型,原始数据类型和变量/常量定义,byte,8位,-27 27-1,short,16位, -215 215-1

6、,int,32位,-231 231-1,long,64位,-263 263-1,float,32位,double,64位,char,16位, 非负整数,0 216 -1,WHY,Unicode编码,和ASCII编码类似但范围更大,原始数据类型和变量/常量定义,(1)有了数据类型,我们就可以定义相应数据类型的变量 (2)所谓变量就是内存中的一小块空间,它用来存储一个数据。内存中可以有许多个这样的小块空间,为了以示区别,我们命名它们不同的名字,这个名字就叫变量名。一个变量在同一时间中只可以保存一个数据。 (3)如果一个存储空间中的数据在程序运行过程中一直都不可发生改变,我们称这种空间为常量,常量也

7、有常量名。 (4)不论常量还是变量,在使用前,都要先定义和赋值。变量或常量定义的位置没有要求,不要求放在所有代码的最前面,只要在使用之前定义了就可以。 (5)常量只能一次赋值,不能再重新修改它的值。,原始数据类型和变量/常量定义,变量定义: byte b; int x=1; long m, n; float f; double d; char ch, ch2=s; boolean finished;,现在可以给变量赋值了: x=200; m=30000; f=3.14F; d=1.234; ch = a; finished = true; (boolean类型的变量只能取true真和false

8、假两种值),b,x,m,n,f,d,ch,数据类型 变量名;,数据类型 变量名1, 变量名2 ;,数据类型 变量名1=值1, 变量名2, 变量名3 ;,原始数据类型和变量/常量定义,请分析下列情况并给出变量定义:,注:String表示字符串类型,里面可包含多个字符。字符数组和字符串在Java 语言中不是同一种东西,我们需要加以正确区分,这点和C语言是不相同的。,原始数据类型和变量/常量定义,常量定义: 仿照变量的定义,在数据类型前面加上final即可,然后对常量名赋一次值,之后就不能再次对常量改变值了。 final int X = 200; final double PI = 3.14; 现在

9、上面的两个常量就不能再次赋值了: X = 300; / 错误 PI = 3.1415926; / 错误 也就是说,常量只能取一次值,不能再次赋值。,原始数据类型和变量/常量定义,常数值的类型规则: 3 100 234 默认是int型,占32位内存空间(整数) 3L 是long型(L是long的第一个字母) 3.14 1.2 默认是double型,占64位内存空间(小数) 2.8F 是float型(F是float的第一个字母) a z 是char型(以单引号包围,里面只能有一个字符) true false 是boolean型(表示真、假的结果) 在代码中还会碰到十六和八进制常整数的情形: 十六进

10、制: 0 x12,以0 x打头的整数,表示18。 八进制:012,以0打头的整数,表示10。 十进制:12,我们一般都是使用这种形式。,数据类型和变量代码分析,请找出下列代码存在的错误: byte a; int b; long c; float d; double e; char ch; boolean z; int return; a = 2; a = 300; b = -2000000; c = 1; d = 2.3; e = 3.0; ch = s; z = true; z = 1;,请找出下列代码存在的错误: final int SIZE = 100; final float PI =

11、 3.14; final char QUIT = q; long LENGTH = 20000; QUIT = t; LENGTH = 30000;,特殊字符,字符一般都是使用一对单引号括起来的。对于那些在键盘上找不到的或会混淆的特殊字符,只能使用反斜杠进行转义。下列字符是特殊字符例子: = = r n t char类型本质上也是整数,即ASCII码。每一个字符都对应一个整数值: 0 = 48 A = 65 a = 97 在Java中,每个字符的ASCII编码被称做Unicode编码,是用两个字节的空间存储的,相邻字符的Unicode编码相差1。除英文字母是字符外,一个汉字也是一个字符,如:中

12、(这种做法在C语言中不允许) 我们也可以通过字符的Unicode编码来表示字符,不过必须是使用四个十六进制数字,且以u开头,并以一对单引号包围起来: u0030 表示的就是字符0 u0041 表示的就是字符A u0061 表示的就是字符a,特殊字符,运算符和表达式,算术运算符 算术表达式是用来计算整数和浮点类型的数据,其表达式结果也为整数类型或者浮点类型。除了我们常用的+、-、*和/,还有以下4种: (1)求余数运算符%:该符号用来求被除数除以除数后所得的余数。例如:10%3得1;25%10得5; (2)求相反数运算符-:该符号用来求一个数的相反数; b=-3; b=(-a); (3)自增运算

13、符+:该符号用来给变量值增加1, 有两种形式:+a; 和 a+; 等效于 a = a + 1; (4)自减运算符-:该符号用来给变量值减少1, 有两种形式: -a; 和 a-; 等效于 a = a - 1;,表达式的含义,运算符和表达式,赋值运算符 右边的值赋值给左边 (1). a = 3; (2). a = b = c = 20; 等效于 a=20; b=20; c=20; (3). a += 2; 等效于 a = a + 2; (4). a -= 2; 等效于 a = a - 2; (5). a *= 2; 等效于 a = a * 2; (6). a /= 2; 等效于 a = a / 2

14、; (7). a %= 2; 等效于 a = a % 2;,运算符和表达式,分析下面表达式的值:,运算符和表达式,关系运算符和关系表达式 关系运算符表示两边数据的大小关系,其表达式结果为逻辑型值true或false。关系运算符有: (1) = :等于号运算符,表示两个数据相等关系; (2) != :不等于号运算符,表示两个数据不相等关系; (3) :大于号运算符; (4) = :大于等于号; (6) = :小于等于号。,运算符和表达式,逻辑运算符 逻辑运算符只对逻辑型数据进行运算,其表达式的值也只会是true或false。逻辑运算符有以下4种: (1) ! : “非”运算符,表示“相反”的意思

15、; (2) 等价于 if (x 3) a = 3; else a = x; ?号前面的表达式结果只能是true或false,运算符和表达式,运算符优先级 遵循先* / %后+ - 的原则,如果有()号,则先算()里面的值。 如果优先级相同,则从左向右进行计算。 赋值运算符的优先级最低,即最后才赋值 如: x = 3 + 4 * 5 (1 + 2); 为避免优先级的岐义,通常尽量使用(),除非是明显的优先级,即先* / %后+ - 。,运算符和表达式,数值表达式的结果类型 数值运算表达式的结果类型取决于参与运算中的数或变量的最大类型: (1). 如果被计算的两个数据的类型一样,则结果的类型和它们

16、保持一致; int x = 1 + 2 + a; / 假定a是已定义的int型变量 (2). 如果被计算的两个数据的类型不一样,则”小类型”的数据自动转换为”大类型”,结果也是”大类型”。 double p = 1 + 2.0; / 错误:int x = 1 + 2.0; (3).如果一个是char型数据,另一个是整数或浮点型数据,则char型数据会先转换成整数或浮点型数字,然后再进行运算: A +20.5的运算结果是85.5,即字符A的Unicode码值65加上20.5,运算符和表达式,(4)自增自减和赋值表达式: x = 3; y = x+; / x+表达式的结果式x增加之前的值 y =

17、+x; / +x表达式的结果式x增加之后的值 y = x-; y = -x; (5)赋值表达式的值:就是赋值号左边变量的值 (x = 3+1) != 2 a = b = 3; 等价于 a = (b = 3); / 赋值都是从右向左方向进行的,就近原则,运算符和表达式,逻辑表达式 由关系表达式、布尔变量和逻辑运算符(与/或/非)构成的表达式。布尔表达式的结果只能是true/false。 设x的值为10,试分析下面表达式的值: (x 3 | x = 1 ,数值类型转换,不同数据类型的变量之间经常会相互赋值,因此就存在一个类型转换的问题 数值类型转换规则: 小类型可以直接赋值给大类型的变量,大类型赋

18、值给小类型的变量就必须进行强制类型转换 byte short int long float double char char类型也可以和上面的数据类型进行转换,因为char本身也是数值。char类型变量的地位和short相似。,类型转换原则 同性质的数据才能转换,int i = 3; long n = 30L; float f = 3.14F; double d = 3.1415926; char c = a或u0061; boolean finish = true; finish = 0; 错误,int x = 30; double z = x; byte k = (byte) x; cha

19、r ch = (char)x; ch = a; x = ch + 1;,数值类型转换,判断下面哪些是正确的:,注意:Java对常数值的数据类型的处理,即整数就是int型,小数就是double型,数值类型转换代码分析,请找出下列代码存在的错误: byte a; int b; long c; double d; float f; char ch; a = 2; b = a; c = b; d = 3.0; f = d; f = (float)3.14; f = 3.14F; ch = a + 1; ch = ;,数据的输入输出,输出数据到显示器 System.out.print(); / 直接输出

20、 System.out.println(); / 直接输出,同时换行 使用println()可以打印各种类型的变量、常量、表达式等,只要将你想打印的东西往括号里直接放即可。如: System.out.println(x); / 输出x的值 System.out.println(a b); / 输出表达式的运算结果,即true或false System.out.println(5); / 输出5 从键盘输入数据 java.util.Scanner sc = new java.util.Scanner(System.in); int x = sc.nextInt(); / 从键盘输入一个整数 long y = sc.nextLong(); / 从键盘输入一个长整数 double z = sc.nextDouble(); / 从键盘输入一个小数 String s = sc.next(); / 从键盘输入一行字符串,代码注释,为了让其他人更好地理解我们编写的程序,通常会书写一些代码注释 Java中的代码注释有三种: 行注释:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论