《Java语言程序设计.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计.ppt(82页珍藏版)》请在装配图网上搜索。
1、Java 语言程序设计,第 2 章 Java基础,2020/7/21,2,上章回顾,Java开发平台有几种 Java 是如何实现跨平台运行 开发和运行Java程序的步骤是什么,2020/7/21,3,本章总体纲要,第一部分标识符和关键字 第二部分数据类型、常量和变量 第三部分运算符和表达式,2020/7/21,4,学习目标,标识符和关键字 能够区分有效和无效的标识符; 掌握Java的关键字; 数据类型 掌握8个基本的数据类型; 掌握引用数据类型; 运算符 掌握运算符的使用; 掌握表达式的组成;,2020/7/21,5,本章总体纲要,第一部分标识符和关键字 第二部分数据类型、常量和变量 第三部分。
2、运算符和表达式2020/7/21,6,Java中的标识符,标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。 标识符组成 字母, 数字, 下划线“_” 和 美元符号“”;长度不限,但实际命名不宜过长; 首字符必须是字母, 下划线“_” 或 美元符号“”; 所有标识符是区分大小写的; 关键字、false、true和null不可作为操作符;,2020/7/21,7Java的源程序中使用16位的Unicode,而不是位的ASCII码,所以在标识符中可以使用中文; 类名字必须使用ASCII字符。 合法的标识符name, s_no, 2, boy_number 不合法的标识符2y,a*b,。
3、w/,2020/7/21,8,课堂练习,myVariable 9pins MYVARIABLE i ac testing1-2-3,_myvariable java 定义两个字符变量 char ch1,ch2; 定义两个字符串变量并初始化它们 String greeting“Good Morningn”; String errorMessage“Record Not Found”;,2020/7/21,22,逻辑类型boolean,boolean用来定义逻辑变量,它的取值为true或false 例如 boolean truthtrue; 定义变量truth为boolean型变量,并将其值赋为t。
4、rue.,2020/7/21,23,引用数据类型,除8个基本数据类型外,其它的数据类型称为引用数据类型(Reference Types 对象变量就是一种引用数据类型,2020/7/21,24,引用数据类型,public class Mydate private int myDay; private int myMonth; private int myYear; public MyDateint day,int month,int year public class TestMydate Mydate todaynew Mydate28,2,2009; today 是引用数据类型,它指向一个对。
5、象,2020/7/21,25,创建对象的过程,当用new来创建对象时 Mydate todaynew Mydate28,2,2009; 系统将执行如下操作 为对象today分配内存空间,并将所有变量初始化为0和null; 执行构造方法; 引用变量today的值为该对象的地址。,2020/7/21,26,创建对象的过程,Mydate todaynew Mydate28,2,2009; Mydate todaytoday new today myDay myMonth myYear,,2020/7/21,27,创建对象的过程,Mydate28,2,2009 today myDay myMonth。
6、 myYear,2020/7/21,28,创建对象的过程,设置引用变量 today myDay myMonth myYear,2020/7/21,29,常量,常量是指在程序运行过程中其值始终保持不变的量。Java常量包括基本数据类型常量、字符串String常量和null,2020/7/21,30,常量,可以用标识符表示常量,称为符号常量。 符号常量必须先声明,后使用。符号常量的声明方式如下 final 修饰符 类型标识符 常量名(直接)常量; 修饰符是表示该常量使用范围的权限修饰符public,private,protected或缺省。 如final float PI3.14159; fina。
7、l char SEXM; final int MAX100;,2020/7/21,31,常量,声明符号常量的优点如下 增加了程序的可读性,从常量名可知常量的含义。 增强了程序的可维护性,只要在常量的声明处修改常量的值,就自动修改了程序中所有地方所使用的常量值。,2020/7/21,32,变量,变量是指在程序运行过程中其值可以改变的量。变量必须先定义后使用。其格式为 修饰符 类型标识符 变量名常量;,2020/7/21,33,变量,变量在计算机内部对应着一个存储单元,变量具有数据类型 基本数据类型 引用数据类型 变量总是具有与其数据类型相对应的值 每个变量均具有 名字、类型、一定大小的存储单元以。
8、及值 变量名对应内存的位置,2020/7/21,34,例题,例2-1 使用整数型变量Integers.java 例2-2 使用单精度和双精度型变量 Floats.java 例2-3 使用字符类型变量 Characters.java 例2-4 使用字符串类型数据 Samp2_5.java 例2-5 使用逻辑类型变量 Logic.java,2020/7/21,35,例2-1 Integers.java,public class Integers public static void mainString args int a015; 八进制数 int b20; 十进制数 int c0 x25; 十。
9、六进制数 short x30; long y123456L; System.out.printlnaa; 输出a的值 System.out.printlnbb; System.out.printlncc; System.out.printlnxx; System.out.printlnyy; ,2020/7/21,36,例2-2 Floats.java,public class Floats public static void mainString args float a35.45f; double b3.56e18; System.out.printlnaa; System.out.pr。
10、intlnbb; ,2020/7/21,37,例2-3 Characters.java,public class Characters public static void mainString args char ch1a; char ch2B; System.out.printlnch1ch1; System.out.printlnch2ch2; ,2020/7/21,38,例2-4 Samp2_5.java,public class Samp2_5 public static void mainString args String str1abc; String str2n; Strin。
11、g str3 123; System.out.printlnstr1str1str2str3str3; ,2020/7/21,39,例2-5 Logic.java,public class Logic public static void mainString args boolean instance1true; boolean instance2false; System.out.println逻辑状态1instance1 逻辑状态2instance2; ,2020/7/21,40,本章总体纲要,第一部分标识符和关键字 第二部分数据类型、常量和变量 第三部分运算符和表达式2020/7/21。
12、,41,运算符和表达式,对数据进行加工和处理称为运算,表示各种运算的符号称为运算符,参与运算的数据称为操作数。 根据操作数的个数,可以将运算符分为单目、双目和多目运算符。单目运算符只对1个操作数运算,双目运算符对2个操作数运算。 根据操作数和运算结果,运算符分为算术运算符、关系运算符、逻辑运算符、位运算符。,2020/7/21,42,1、Java运算符(Operator,算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 条件运算符 括号运算符,2020/7/21,43,(1)算术运算符,算术运算符分为 1、单目运算符(一元运算符) “” ,“- -” 例如xa;yb 2、双目运算符(二。
13、元运算符) , -, *, / 3、三目运算符(三元运算符) 例如a2; za3a1a-1;,2020/7/21,44,算术运算符,, -, *, /, ,, , int i,j; double k; i36; j30-i; j21 i3*3; i9 kj/i; k21/92 k219; k3 k21/9; k2.0 k21.0/9; k2.333333,2020/7/21,45,算术运算符,i4; ii4 j-8; jj-8 i; ii1 i; ii-1 j; jj1 j; jj-1 int n7,m7; int a2*m; a16,m8 int b2*n; b14,n8 yMath.p。
14、owx,a; yxa,2020/7/21,46,课堂练习,-7 / 5 -7 5 7 -5 5.5 1.0 10.0/3 int x10; x11; x int yx; y ,x int zx; z ,x xMath.pow5,2; x ,-1,-2,2,0.5,3.3333333333333335,21,21 22,21 21,25,2020/7/21,47,(2)关系运算符,关系运算是2个操作数之间的比较运算。关系运算符有、、、 和。 “ ”和“”还可用于布尔类型及字符串类型操作数。 字符类型操作数的比较依据是其Unicode值,字符串从左向右依此对每个字符比较。 关系运。
15、算的运算结果是布尔类型值。如果关系成立,结果的值为true;否则,结果的值为false。,2020/7/21,48,关系运算符,六个关系运算符 、、 和 boolean b1 2; false boolean b3.5 1; true boolean b51.5 23.0; true boolean b540 654; true boolean b24 3*8; true boolean test110 10; false,2020/7/21,49,课堂练习,int i20,j15; boolean bi10; b boolean bij*2; b,false,false,true,。
16、true,true,2020/7/21,50,(3)逻辑运算符,逻辑运算是对布尔类型操作数进行的与、或、非、异或等运算,运算结果仍然是布尔类型值。,2020/7/21,51,逻辑运算符,六个布尔逻辑运算符 ca ctrue,如果afalse.,2020/7/21,53,逻辑运算符,int i20,j28; boolean bi20 btrue,2020/7/21,54,课堂练习,int i100,j25; boolean bij2000; btrue boolean bi120 | j200; btrue boolean bi20; bfalse boolean btrue,afalse; b。
17、oolean cb ctrue,2020/7/21,55,(4)位运算符,位运算是对整数类型的操作数(byte,short,int,long)按二进制的位进行运算,其运算结果仍然是整数类型值。,2020/7/21,56,位运算符,位运算符包括 c01001111 cc; c101100000 xb0 cc c0010110101001111011000100 x62,2020/7/21,58,位运算符,byte cbyte64; c0 x4001000000 cc1; c001000000 x203264/21 c644; c000001000 x4464/24 c-644; c-64/24-。
18、4 c1305; c130/254 c641; c64*21128 c172; c17*2268,2020/7/21,59,课堂练习,int x0 x80; xx x,0,192,-129,192,32,240,2020/7/21,60,(5)赋值运算符,赋值运算用于给变量赋值,形式如下 变量名表达式; 赋值运算的次序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。 例如 int i3, j; i的初始值是3 ji2; 结果,j的值是5 i2*j; 结果,i的值是10 jj4; 结果,j的值是9,2020/7/21,61,复合赋值运算符,赋值类运算符包括、、-、*、/、 xx2,20。
19、20/7/21,62,(6)条件运算符,条件运算格式如下 表达式1 表达式2 表达式3 “”称为条件运算符,它是三目运算符。 如果“表达式1”的值是true, “表达式2”的值是最终表达式的值;如果“表达式1”的值是false,“表达式3”的值是最终表达式的值。,2020/7/21,63,条件运算符,例如 int min , x4, y20; minx0 1 -1; k取1,2020/7/21,64,(7)括号运算符,圆括号运算符“()”用于改变表达式中运算符的运算次序。先进行括号内的运算,再进行括号外的运算;在有多层括号的情况下,优先进行最内层括号内的运算,再依次从内向外逐层运算。,20。
20、20/7/21,65,其它运算符,串级联运算符 String salutation “Dr. ”; String name “Peter” “ ” “Wu”; String title salutation “ ”name; title“Dr. Peter Wu”,2020/7/21,66,其它运算符,类型转换(casting) long bigValue 99L; int squashed int bigValue;,2020/7/21,67,2、表达式,表达式是用运算符将操作数连接起来的符合语法规则的运算式。 例如 int i5, j10, k; k243*i*j;,2020/7。
21、/21,68,运算符的优先级,2020/7/21,69,续前表,2020/7/21,70,运算符的优先顺序,x34*5; x23 fruitsorangesapples; fruitsorangesapples abc10; abc10 int a1,b1,c1; abcd10; /*abcd10, d10,c11,b11,a12 */ 在程序中,最好用 来区分优先.,2020/7/21,71,表达式的数据类型,表达式的数据类型由运算结果的数据类型决定。 例如 int i3, j21, k; boolean f; ki3*4; i3*4是算术表达式 fi*2j; i*2j是布尔表达式,2020。
22、/7/21,72,数据类型的转换,各个数据类型之间有强弱关系 弱的数据类型可以直接转换成强的数据类型 double d10; d10.0 强的数据类型要通过强制转换成弱的数据类型 byte bbyte10; int i102; short sshorti;,2020/7/21,73,例题,例2-6 单目操作符实例OOperator.java 例2-7整数相除 使用单精度和双精度型变量 Floats.java,2020/7/21,74,例2-6 单目操作符实例OOperator.java,public class OOPerator public static void mainString a。
23、rgs int i15,j1,j2,j3,j4; j1i; 在操作数的右面 System.out.printlnij1; j2i; 在操作数的左面 System.out.printlnij2; j3i; System.out.printlnij3; j4i; System.out.printlnIj4; System.out.printlnii; ,2020/7/21,75,例2-7整数相除 Floats.java,public class Divide public static void mainString args int i15,j4,k; float f1,f2; ki/j; f1。
24、i/j; f2floati/j; System.out.printlnkk; System.out.printlnf1f1; System.out.printlnf2f2; ,2020/7/21,76,本章小结,第一部分标识符和关键字 第二部分数据类型、常量和变量 第三部分运算符和表达式,2020/7/21,77,学习目标,标识符和关键字 能够区分有效和无效的标识符; 掌握Java的关键字; 数据类型 掌握8个基本的数据类型; 掌握引用数据类型; 运算符 掌握运算符的使用; 掌握表达式的组成;,2020/7/21,78,作业一,实验题 1、设计一个银行帐户管理类Account 属性用户名,帐户。
25、余额 方法 构造方法设置用户名,余额 getBalance 显示用户名字和余额 depositamt在帐户上存入amt的钱 withdrawamt从帐户上取出amt的钱,2020/7/21,79,作业一,2、设计一个TestAccount类 创建一个用户的帐户,余额为1000元 显示用户名和余额 存入200元 取出500元 显示用户名和余额,2020/7/21,80,作业解析,file name Account.java public class Account String name; double balance; public AccountString n,double b namen。
26、; balanceb; 2020/7/21,81public void getBalance System.out.printlnname “ ”balance; public void depositdouble amt balancebalanceamt; public void withdrawdouble amt balancebalance-amt; ,2020/7/21,82,file name TestAccount.java public class TestAccount public static void mainString args Account peter new Account“peter”,1000; peter.getBalance; peter.deposit200; peter.withdraw500; peter.getBalance; ,。