版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java 语言程序设计第 2 章 Java基础第1页,共82页。上章回顾Java开发平台有几种?Java 是如何实现跨平台运行?开发和运行Java程序的步骤是什么?8/18/20222第2页,共82页。本章总体纲要第一部分:标识符和关键字第二部分:数据类型、常量和变量第三部分:运算符和表达式8/18/20223第3页,共82页。学习目标标识符和关键字能够区分有效和无效的标识符;掌握Java的关键字;数据类型掌握8个基本的数据类型;掌握引用数据类型;运算符掌握运算符的使用;掌握表达式的组成;8/18/20224第4页,共82页。本章总体纲要第一部分:标识符和关键字第二部分:数据类型、常量和变量第
2、三部分:运算符和表达式8/18/20225第5页,共82页。Java中的标识符标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。标识符组成: 字母, 数字, 下划线“_” 和 美元符号“$”;长度不限,但实际命名不宜过长;首字符必须是字母, 下划线“_” 或 美元符号“$”;所有标识符是区分大小写的;关键字、false、true和null不可作为操作符;8/18/20226第6页,共82页。Java的源程序中使用16位的Unicode,而不是位的ASCII码,所以在标识符中可以使用中文;类名字必须使用ASCII字符。合法的标识符:name, s_no, $2, boy_numbe
3、r不合法的标识符:2y,a*b,w/8/18/20227第7页,共82页。课堂练习myVariable 9pinsMYVARIABLE i a+ctesting1-2-3_myvariablejava¨My Variable$myvariable _9pins Its猫下列标识符哪些是正确的?8/18/20228第8页,共82页。Java关键字关键字是指具有特殊含义的字符序列例如: public、 static和class 具有特殊用途,不能作为变量名、方法名和类名8/18/20229第9页,共82页。Java关键字(48个)abstractdefaultif package thisb
4、ooleandoimplements private throwbreakdoubleimport protected throwsbyteelseinstanceof public transientcaseextendsint return trycatchfinal long staticvoidcharfinally native super volatileclassfloat new switch whileconst goto strictfp shortcontinue for interface synchronized8/18/202210第10页,共82页。本章总体纲要第
5、一部分:标识符和关键字第二部分:数据类型、常量和变量第三部分:运算符和表达式8/18/202211第11页,共82页。数据类型8/18/202212第12页,共82页。数据类型基本数据类型是由一种简单数据组成的数据类型,其数据是不可分解的。 基本数据类型已由Java预定义,类型名是关键字,如int,float,char和boolean等。 基本数据的变量中保存数据值,而引用数据类型的变量保存地址。8/18/202213第13页,共82页。基本的数据类型有8个基本的数据类型:整数类型:byte,short,int,long浮点类型:double,float文本类型:char逻辑类型:boolea
6、n8/18/202214第14页,共82页。 数据类型所占字节表示范围long(长整形)8-9223372036854775808 9223372036854775807int(整型)4-2147483648 2147483647short(短整型)2-3276832767byte(位)1-128127char(字符)10256boolean(布尔)1true 或 falsefloat(单精度)4-3.4E38 3.4E38double(双精度)8-1.7E308 1.7E308Java基本类型表8/18/202215第15页,共82页。整数类型:byte,short,int,long整数类型
7、有:字节(byte)短整数(short)整数(int)长整数(long)Java提供三种进制的整数表示形式十进制数:09之间的数字表示的数八进制数:07之间的数字表示的数十六进制数:0-9,a-f(A-F)之间的字母表示的数,以0 x或0X作为前缀。8/18/202216第16页,共82页。数值的表示例如:2-十进制2077-八进制0 xBAAC-十六进制对一个数值,系统自动将它设为int类型,如要将它设为long类型,要在后面加“l”或“L”例:2L,077L,0XBAACL8/18/202217第17页,共82页。浮点类型:float,double有两类浮点数:单精度浮点数(float):
8、32位双精度浮点数(double):64位浮点数的表示:6.836D-双精度浮点数2.718F-单精度浮点数6.02E23-大数值的双精度浮点数5.682E20F-大数值的单精度浮点数8/18/202218第18页,共82页。文本类型:char char类型表示一个16位的Unicode字符.字符有如下的表示方式:a, 字n:换行(Enter),b:退格(Backspace)u0061:Unicode 十六进制码8/18/202219第19页,共82页。文本类型:String字符串(String)不是基本的数据类型,而是一个类。字符串用双引号来表示:“This is a string!”“这是
9、字符串!” null 表示空串 8/18/202220第20页,共82页。文本类型:char和String例子:定义并初始化一个字符变量: char ch=A;定义两个字符变量: char ch1,ch2;定义两个字符串变量并初始化它们:String greeting=“Good Morning!n”;String errorMessage=“Record Not Found!”;8/18/202221第21页,共82页。逻辑类型:booleanboolean用来定义逻辑变量,它的取值为:true或false例如:boolean truth=true; 定义变量truth为boolean型变量
10、,并将其值赋为true.8/18/202222第22页,共82页。引用数据类型除8个基本数据类型外,其它的数据类型称为引用数据类型(Reference Types)对象变量就是一种引用数据类型 8/18/202223第23页,共82页。引用数据类型public class Mydate private int myDay; private int myMonth; private int myYear; public MyDate(int day,int month,int year) . public class TestMydate Mydate today=new Mydate(28,2
11、,2009); today 是引用数据类型,它指向一个对象8/18/202224第24页,共82页。创建对象的过程当用new来创建对象时:Mydate today=new Mydate(28,2,2009);系统将执行如下操作:为对象today分配内存空间,并将所有变量初始化为0和null;执行构造方法;引用变量today的值为该对象的地址。8/18/202225第25页,共82页。创建对象的过程Mydate today=new Mydate(28,2,2009);Mydate today:todaynew : today myDay myMonth myYear ?0008/18/20222
12、6第26页,共82页。创建对象的过程Mydate(28,2,2009) today myDay myMonth myYear?22009288/18/202227第27页,共82页。创建对象的过程设置引用变量: today myDay myMonth myYear 0 x01abcdef22009288/18/202228第28页,共82页。常量常量是指在程序运行过程中其值始终保持不变的量。Java常量包括基本数据类型常量、字符串(String)常量和null 类型占用位数初始值 boolean8 false char16 u0000 byte8 (byte)0 short16 (short)
13、0 int32 0 long640L float32 0.0f double64 0.0d8/18/202229第29页,共82页。常量 可以用标识符表示常量,称为符号常量。 符号常量必须先声明,后使用。符号常量的声明方式如下: final 修饰符 类型标识符 常量名=(直接)常量; 修饰符是表示该常量使用范围的权限修饰符:public,private,protected或缺省。 如:final float PI=3.14159; final char SEX=M; final int MAX=100;8/18/202230第30页,共82页。常量声明符号常量的优点如下:增加了程序的可读性,从
14、常量名可知常量的含义。增强了程序的可维护性,只要在常量的声明处修改常量的值,就自动修改了程序中所有地方所使用的常量值。8/18/202231第31页,共82页。变量 变量是指在程序运行过程中其值可以改变的量。变量必须先定义后使用。其格式为: 修饰符 类型标识符 变量名=常量;8/18/202232第32页,共82页。变量变量在计算机内部对应着一个存储单元,变量具有数据类型:基本数据类型引用数据类型变量总是具有与其数据类型相对应的值每个变量均具有: 名字、类型、一定大小的存储单元以及值变量名对应内存的位置8/18/202233第33页,共82页。例题例2-1 使用整数型变量:Integers.j
15、ava例2-2 使用单精度和双精度型变量: Floats.java例2-3 使用字符类型变量: Characters.java例2-4 使用字符串类型数据: Samp2_5.java例2-5 使用逻辑类型变量: Logic.java8/18/202234第34页,共82页。例2-1 Integers.javapublic class Integers public static void main(String args) int a=015; /八进制数 int b=20; /十进制数 int c=0 x25; /十六进制数 short x=30; long y=123456L; Syste
16、m.out.println(a=+a); /输出a的值 System.out.println(b=+b); System.out.println(c=+c); System.out.println(x=+x); System.out.println(y=+y); 8/18/202235第35页,共82页。例2-2 Floats.javapublic class Floats public static void main(String args) float a=35.45f; double b=3.56e18; System.out.println(a=+a); System.out.pri
17、ntln(b=+b); 8/18/202236第36页,共82页。例2-3 Characters.javapublic class Characters public static void main(String args) char ch1=a; char ch2=B; System.out.println(ch1=+ch1); System.out.println(ch2=+ch2); 8/18/202237第37页,共82页。例2-4 Samp2_5.javapublic class Samp2_5 public static void main(String args) String
18、 str1=abc; String str2=n; String str3= 123; System.out.println(str1=+str1+str2+str3=+str3); 8/18/202238第38页,共82页。例2-5 Logic.javapublic class Logic public static void main(String args) boolean instance1=true; boolean instance2=false; System.out.println(逻辑状态1=+instance1+ +逻辑状态2=+instance2); 8/18/20223
19、9第39页,共82页。本章总体纲要第一部分:标识符和关键字第二部分:数据类型、常量和变量第三部分:运算符和表达式8/18/202240第40页,共82页。运算符和表达式 对数据进行加工和处理称为运算,表示各种运算的符号称为运算符,参与运算的数据称为操作数。 根据操作数的个数,可以将运算符分为单目、双目和多目运算符。单目运算符只对1个操作数运算,双目运算符对2个操作数运算。 根据操作数和运算结果,运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符。8/18/202241第41页,共82页。1、Java运算符(Operator)算术运算符关系运算符逻辑运算符位运算符赋值运算符条件运算符括号运
20、算符8/18/202242第42页,共82页。(1)算术运算符算术运算符分为:1、单目运算符(一元运算符)“+” ,“- -”例如:x=a+;y=b-2、双目运算符(二元运算符)+, -, *, /3、三目运算符(三元运算符) ?: 例如:a=2;z=(a3)?a+1:a-1;8/18/202243第43页,共82页。算术运算符+, -, *, /, % ,+, -, int i,j; double k; i=3+6; j=30-i; /j=21 i=3*3; /i=9 k=j/i; /k=21/9=2 k=21%9; /k=3 k=21/9; /k=2.0 k=21.0/9; /k=2.33
21、33338/18/202244第44页,共82页。算术运算符 i+=4; /i=i+4 j-=8; /j=j-8 i+; /i=i+1 i-; /i=i-1+j; /j=j+1-j; /j=j-1 int n=7,m=7; int a=2*+m; /a=16,m=8 int b=2*n+; /b=14,n=8 y=Math.pow(x,a); /y=xa8/18/202245第45页,共82页。课堂练习-7 / 5 =?-7 % 5=?7 % -5 =?5.5 % 1.0=?10.0/3=? int x=10; x+=11; / x=? int y=x+; /y= ? ,x= ? int z=
22、-x; /z= ? ,x= ? x=Math.pow(5,2); /x= ?-1-220.53.33333333333333352121 22 21 21258/18/202246第46页,共82页。(2)关系运算符 关系运算是2个操作数之间的比较运算。关系运算符有:、=、=、= =和!=。 “= =”和“!=”还可用于布尔类型及字符串类型操作数。 字符类型操作数的比较依据是其Unicode值,字符串从左向右依此对每个字符比较。 关系运算的运算结果是布尔类型值。如果关系成立,结果的值为true;否则,结果的值为false。 8/18/202247第47页,共82页。关系运算符六个关系运算符:
23、、=、= 和 != boolean b=(1 2); / falseboolean b=(3.5 != 1); / true boolean b=(51.5 = 23.0); / trueboolean b=(540 = 654); / trueboolean b=(24 = 3*8); / trueboolean test1=(10 =10); /b=? boolean b=(ij*2); /b=?falsefalsetruetruetrue8/18/202249第49页,共82页。(3)逻辑运算符 逻辑运算是对布尔类型操作数进行的与、或、非、异或等运算,运算结果仍然是布尔类型值。8/18/
24、202250第50页,共82页。逻辑运算符六个布尔逻辑运算符: & (逻辑与AND) | (逻辑或OR) (逻辑异或XOR ) ! (逻辑非NOT)单目运算符, 即只有一个操作数 & (条件与AND) | (条件或OR)8/18/202251第51页,共82页。逻辑运算符 boolean a,b,c; c=(a &b); /c=true,如果a,b为true. c=(a & b);/若a为false,b不计算,c=false c=(a | b); /c=true,如果a,b有一个为true. c=(a|b); /若a为true,b不计算,c=true c=(ab); /c=true,如果a,b
25、一个为true,一个为false. c=!a; /c=true,如果a=false.8/18/202252第52页,共82页。逻辑运算符 int i=20,j=28; boolean b=(i=20) &(j=28); /b=true boolean b=(i40); /b=true boolean b=(i=20) (j50); /b=false boolean b=(i30) | (j/3+10)30); /b=true8/18/202253第53页,共82页。课堂练习 int i=100,j=25; boolean b=(i+j)2000); /b=true boolean b=(i12
26、0) | (j200); /b=true boolean b=(i20); /b=false boolean b=true,a=false; boolean c=(b & a); /c=false boolean c=(a | b); /c=true8/18/202254第54页,共82页。(4)位运算符位运算是对整数类型的操作数(byte,short,int,long)按二进制的位进行运算,其运算结果仍然是整数类型值。8/18/202255第55页,共82页。位运算符位运算符包括:&(与)、|(或)、 (非)、(异或)、(带符号右移)、(不带符号右移)和1; /c=00100000=0 x2
27、0=32=64/21 c=644; / c=00000100=0 x4=4=64/24 c=-644; /c=-64/24=-4 c=1305; /c=130/25=4 c=641; /c=64*21=128 c=172; /x=? x=303; /x=?0192-129192322408/18/202259第59页,共82页。(5)赋值运算符 赋值运算用于给变量赋值,形式如下: 变量名=表达式; 赋值运算的次序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。 例如: int i=3, j; /i的初始值是3 j=i+2; /结果,j的值是5 i=2*j; /结果,i的值是10 j=
28、j+4; /结果,j的值是9 8/18/202260第60页,共82页。复合赋值运算符赋值类运算符包括:=、+=、-=、*=、/=、&=、|=、%=、=和= x+=10; /x=x+10 x*=10; /x=x*10 x=2; /x=x28/18/202261第61页,共82页。(6)条件运算符 条件运算格式如下: 表达式1 ?表达式2 :表达式3 “?:”称为条件运算符,它是三目运算符。 如果“表达式1”的值是true, “表达式2”的值是最终表达式的值;如果“表达式1”的值是false,“表达式3”的值是最终表达式的值。8/18/202262第62页,共82页。条件运算符 例如: int
29、min , x=4, y=20; min=(x=0) ? 1 : -1);/k取18/18/202263第63页,共82页。(7)括号运算符 圆括号运算符“()”用于改变表达式中运算符的运算次序。先进行括号内的运算,再进行括号外的运算;在有多层括号的情况下,优先进行最内层括号内的运算,再依次从内向外逐层运算。 8/18/202264第64页,共82页。其它运算符串级联运算符:+String salutation = “Dr. ”;String name = “Peter”+ “ ”+ “Wu”;String title = salutation+ “ ”+name;/title=“Dr. Pe
30、ter Wu”8/18/202265第65页,共82页。其它运算符类型转换(casting) long bigValue = 99L; int squashed = (int) bigValue;8/18/202266第66页,共82页。2、表达式 表达式是用运算符将操作数连接起来的符合语法规则的运算式。 例如:int i=5, j=10, k;k=(24+3*i)*j; 8/18/202267第67页,共82页。 运算符的优先级运算符描述优先级结合性. ( ) 域,数组,括号1从左至右+ - - ! 一元运算符2从右至左* / %乘,除,取余3从左至右+ - 加,减4从左至右 位运算5从左至
31、右 =逻辑运算6从左至右= !=逻辑运算7从左至右&按位与8从左至右按位异或9从左至右8/18/202268第68页,共82页。 续前表运算符描述优先级结合性|按位或10从左至右&逻辑与11从右至左|逻辑或12从左至右? :条件运算13从左至右 = *= /= %= += = = = &= = |= 位运算14从左至右8/18/202269第69页,共82页。运算符的优先顺序 x=3+4*5; /x=23 fruits=oranges+apples; /fruits=(oranges+)+apples a=b+c+10; /a=(b+c)+10 int a=1,b=1,c=1; a+=b=c+
32、=d=10; /*a+=(b=(c+=(d=10), d=10,c=11,b=11,a=12 */在程序中,最好用( )来区分优先.8/18/202270第70页,共82页。表达式的数据类型 表达式的数据类型由运算结果的数据类型决定。例如: int i=3, j=21, k; boolean f; k=(i+3)*4; /(i+3)*4是算术表达式 f=(i*2)j; /(i*2)j是布尔表达式8/18/202271第71页,共82页。数据类型的转换各个数据类型之间有强弱关系:弱的数据类型可以直接转换成强的数据类型: double d=10; /d=10.0强的数据类型要通过强制转换成弱的数据
33、类型: byte b=(byte)10; int i=102; short s=(short)i;byteshort charintlongfloatdouble8/18/202272第72页,共82页。例题例2-6 单目操作符实例:OOperator.java例2-7整数相除: 使用单精度和双精度型变量: Floats.java8/18/202273第73页,共82页。例2-6 单目操作符实例:OOperator.javapublic class OOPerator public static void main(String args) int i=15,j1,j2,j3,j4; j1=i+; /在操作数的右面 System.out.println(i+=+j1); j2=+i; /在操作数的左面 System.out.println(+i=+j2); j3=-i; System.out.println(-i=+j3); j4=i-; System.out.println(I-=+j4); System.out.println(i=+i); 8/18/202274第74页,共82页。例2-7整数相除: Floats.javapublic class Divide public static void main(String args) int i=15,j=4,k; f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政府集中采购工作自查报告
- 2025临床指南:门诊镁缺乏的检测和管理课件
- 2026年7-AVCA行业分析报告及未来发展趋势报告
- 2026年天然染料行业分析报告及未来发展趋势报告
- 2026年生物质能源行业分析报告及未来发展趋势报告
- 2026年电渣炉行业分析报告及未来发展趋势报告
- 2026年广东深圳21校九年级一模数学试题含答案
- 2026年即食海蜇加工行业分析报告及未来发展趋势报告
- 2026年薄膜包衣预混辅料行业分析报告及未来发展趋势报告
- 2026年铝镍钴磁铁行业分析报告及未来发展趋势报告
- 商业模式画布9个维度
- T-CQSES 01-2024 页岩气开采地下水污染评价技术指南
- 2024年河北省普通高中学业水平选择性考试生物试卷含答案
- DB36T 585-2023 园林植物栽植土质量要求
- 部编四年级道德与法治下册全册教案(含反思)
- 《谏逐客书》市公开课一等奖课件范例
- 考研的重要性和必要性
- 提升生活品质的物业服务管理
- 镀锌钢板、钢带、卷板检验报告
- 散光软性接触镜的验配-散光软镜的选择(接触镜验配技术课件)
- 项目监理工作中对工程施工过程中设计变更的管理措施
评论
0/150
提交评论