




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第1章 java语言基础,2,本章导读,标识符与关键字 基本数据类型 基本数据类型的转换 数组 运算符与表达式 java语句,3,本章导读,标识符与关键字 基本数据类型 基本数据类型的转换 数组 运算符与表达式 java语句,4,标识符,用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符 java语言规定,标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字 标识符中的字母是指unicode中相当于一个字母的任何字符,不仅包括通常的拉丁字母a、b、c等,也包括汉字,日文片假名、平假名,朝鲜文以及其他语言中的文字 标识符中的字母是区分大小写的,5,关键字,关键字(p12,表1-1)是java语言中已经被赋予特定意义的一些单词 关键字在程序上有着不同的用途,不可以把关键字作为名字来用 关键字都是小写的,6,本章导读,标识符与关键字 基本数据类型 基本数据类型的转换 数组 运算符与表达式 java语句,7,基本数据类型,1. 逻辑类型:boolean 2. 整数类型:byte, short, int, long 3. 字符类型:char 4. 浮点类型:float, double,8,1. 逻辑类型,常量 true, false 变量 boolean x, ok=true; boolean 关闭=false; boolean istriangle;,9,2. 整数类型,java语言中的整数类型都是带符号的,不存在无符号整数 常量(默认为int类型) 123, 6000l, 077, -0x3abc 变量 byte, short, int, long类型所占内存长度与取值范围请参考p15, 表1-2,10,3. 字符类型,常量 unicode表中的字符就是字符常量,如a, 9, 好等 转义字符常量:以反斜线开头,将其后面的字符或数字转变为另外的含义(p16, 表1-3) 例如:“我喜欢使用双引号:”,11,3. 字符类型,变量:java语言中的char类型占2字节,最高位不是符号位,没有负数 char x=a, tom=家, jiafei; char x=a;和char x=97;等价 练习 显示字符在unicode表中的位置,显示以字符开始的25个字符 提示:要显示一个字符在unicode表中的位置,必须使用int类型显示转换,如(int)a,同理,要显示表中相应位置上的字符,必须使用char类型显示转换。,lianxi1.java,12,4. 浮点类型,float类型 常量:453.5439f, 2e40f 变量:占4字节 float x=22.76f, 产值=9876.0f; double类型 常量:21389.5439d,123.0(d可以省略) 变量:占8字节 double x=12.76, 价格;,13,本章导读,标识符与关键字 基本数据类型 基本数据类型的转换 数组 运算符与表达式 java语句,14,基本数据类型的转换,下列基本类型会涉及数据转换,其精度由低到高的顺序为 byte short int long float double char int long float double (1)自动类型转换 当把级别低的变量或者常量的值赋给级别高的变量时,系统会自动完成数据类型的转换 int count=5; float amount=count; char c=我;int mark=c;,15,基本数据类型的转换,(2)强制类型转换 当把级别高的变量或者常量的值赋给级别低的变量时,必须进行强制类型转换 int value=260; byte b=(byte)value; int x=(int)36.9; int=3; byte b=(byte)n; 整型常量默认为int型,将其赋给比int类型级别低的变量时,只要没有超出变量的取值范围,可以不用进行强制转换;否则,必须进行强制转换 byte b=3; byte a=(byte)128; byte c=(byte)(-129);,a的值是-128,b的值是127,16,本章导读,标识符与关键字 基本数据类型 基本数据类型的转换 数组 运算符与表达式 java语句,17,数组,数组的声明 数组的创建 数组的初始化 数组的引用,18,数组的声明,中括号在数组变量之后 int numbers ; int manynumbers ; 中括号在数组类型之后 int numbers; int manynumbers; 声明数组之后,并没有为数组元素开辟内存空间,要想真正使用数组,必须创建数组,19,数组的创建,通过new运算符创建数组 数组名字=new 数组元素的类型元素个数; float boy ; boy=new float4; float boy =new float4; int mytwo ; mytwo=new int34; int mytwo =new int34; 创建数组之后,系统会给每个元素一个默认的值 例如,整数类型为0,浮点型为0.0,类类型为null,等价,数组名字称为数组的引用,存放首元素的地址,20,数组的初始化,在声明数组的同时给数组的元素赋初值 float boy=21.3f,23.89f,2.0f,23f,668.8f; 上述语句相当于 float boy=new float5; boy0=21.3f; boy1=23.89f; boy2=2.0f; boy3=23f; boy4=668.8f;,21,数组的引用,数组属于引用型变量,两个相同的数组如果具有相同的引用,它们就有完全相同的元素 例如 int a=1, 2, 3,b=4, 5; 如果有赋值语句a=b; 则系统将释放最初分配给数组a的元素,使得a的元素与b的元素相同,即a0, a1就是b0, b1,而最初分配给a的三个元素已不存在 如果有赋值语句b=a; 则b0, b1, b2就是a0, a1, a2,而最初分配给b的两个元素已不存在,lianxi2.java,22,数组注意事项,(1)java允许使用int类型变量制定数组的大小 int size=30; double n =new doublesize (2)java不允许在声明数组的中括号内指定数组元素的个数 int a12;(错误!) int12 a;(错误!) (3)数组元素的下标 数组若有7个元素,下标从0开始,到6为止,23,数组注意事项,(4)length的使用 对于一维数组,数组名字.length的值是指数组中元素的个数 对于二维数组,数组名字.length是指它含有的一维数组的个数 (5)在java中,二维数组中的每个一维数组的长度可以不同,testdimension.java(p35,程序1-10),24,本章导读,标识符与关键字 基本数据类型 基本数据类型的转换 数组 运算符与表达式 java语句,25,运算符与表达式,(1)算数运算符和算数表达式 (2)关系运算符和关系表达式 (3)逻辑运算符和逻辑表达式 (4)赋值运算符和赋值表达式 (5)条件运算符和条件表达式 (6)位运算符和位运算表达式 (7)instanceof运算符 (8)运算符的优先级,26,(1)算数运算符和算数表达式,加法运算符 减法运算符 乘法运算符 * * 不能写为 or 除法运算符 / 求余运算符 %两侧必须为整数,所以它只适用于整型和字符型 7%4,120%a,27,(1)算数运算符和算数表达式,自增(+)、自减(-)运算符 +x,-x表示在使用x之前,先使x的值加/减1 x+,x-表示在使用x之后,再使x的值加/减1 +,-只能用于变量,不能用于常量或表达式,a=6,b=6;,a=6,b=5;,如: 2+ (2*b-1)-,28,(1)算数运算符和算数表达式,用算数运算符和操作元连接起来的,符合java语法规则的式子,称为算数表达式 a+b-c a*b-c a*(b-c)+(-n) a*b/c-1.5+a+5%3,29,(2)关系运算符和关系表达式,关系运算符用来比较两个值的关系 关系运算符的运算结果是boolean类型数据 当运算符对应的关系成立时,运算结果是true,否则是false,30,(2)关系运算符和关系表达式,优先级相同 (高),优先级相同 (低),31,(2)关系运算符和关系表达式,关系运算符和它的操作元形成关系表达式 a+bb+c (a=3)(b=5) ab)bc 2*a+bc-d,32,(3)逻辑运算符和逻辑表达式,逻辑运算符优先级次序从高到是:!&|,33,(3)逻辑运算符和逻辑表达式,&又称为短路与 当运算符左边的表达式为真时,再对右边的表达式求值判断 当运算符左边的表达式为假时,就不再计算右边的表达式 |又称为短路或 当运算符左边的表达式为真时,不再计算右边的表达式 当运算符左边的表达式为假时,再对右边的表达式求值判断,34,(3)逻辑运算符和逻辑表达式,&和|举例 设m=1,n=1,a=1,b=2,c=3,d=4 (m=ab) & (n=cd) (m=ab) | (n=cd) 逻辑表达式 由逻辑运算符及其操作元构成的表达式形成逻辑表达式,表达式值为0,m=0,n=1,表达式值为0,m=0,n=0,35,(4)赋值运算符和赋值表达式,赋值运算符“=” int x=15; boolean y; y=true; int x, y; x=y=6; 赋值运算符左面的操作元必须是变量,不能是常量或者表达式,36,算术、关系、逻辑和赋值运算符的优先级,(低),(高),37,(5)条件运算符和条件表达式,条件运算符“? :” 条件表达式 op1 ? op2 : op3,true,false,38,(5)条件运算符和条件表达式,条件运算符优先级高于赋值运算符,但低于算术运算符、关系运算符、逻辑运算符 ab ? a : b ab ? a : b+1 b=!a ? 0 : a a&b ? a+b : a-b,(ab) ? a : b,(ab) ? a : (b+1),b=(!a) ? 0 : a),(a&b)?(a+b):(a-b),39,(5)条件运算符和条件表达式,条件运算符的结合方向为“自右向左” ab ? a : cd ? c : d ab ? a : (cd ? c : d) op1、op2、op3的类型可以不同,条件表达式的值的类型取op2和op3中较高的类型 x ? a : b xy ? 1 : 1.5,表达式的值的类型为浮点型,40,(6)位运算符和位运算表达式, 按位与运算符(&) 按位或运算符(|) 按位异或运算符() 按位取反运算符() 位左移运算符() 无符号位右移运算符(),41,(6)位运算符和位运算表达式,位运算的操作仅限于整数类型,并且以二进制形式按每一位进行运算 位运算的结果是int型或long型 例如,两个short型变量进行位运算,其结果是int型,42,(6)位运算符和位运算表达式, 按位与运算符(&) 如果a、b两个数据对应位都是1,则运算结果c的相应位是1,否则是0 a:00000000 00000000 00000000 00000111 a:10000001 10100101 11110011 10101011 a:00000000 00000000 00000000 00000011 按位或运算符(|) 如果a、b两个数据对应位都是0,则运算结果c的相应位是0,否则是1,&,43,(6)位运算符和位运算表达式, 按位异或运算符() 如果a、b两个数据对应位相同,则运算结果c的相应位是0,否则是1 a:00000000 00000000 00000000 00000111 a:10000001 10100101 11110011 10101011 a:10000001 10100101 11110011 10101100 按位取反运算符() 如果a的对应位是0,则运算结果c的相应位是1,否则是0,44,(6)位运算符和位运算表达式, 位左移运算符() 位左移运算符左面的操作元称为被移位数,右面的操作元称为移位量 通过位左移运算符移位时,右边的空位补0 int a=7; a2是多少? 00000000 00000000 00000000 00000111(7) 位左移 00000000 00000000 00000000 00011100(28) 在进行an运算时, 对于byte、short、或int类型数据,系统先计算n%32的结果m,然后再进行移位 对于long类型数据,系统先计算n%64的结果m,然后再进行移位,45,(6)位运算符和位运算表达式, 位左移运算符() 对于byte或short类型数据,运算结果是int型,运算时,首先将数据升级为int型(对于正数,将高位用0填充,负数用1填充),然后再进行移位运算 byte a=-8; a1是多少? a为11111000,升级为int型 11111111 11111111 11111111 11111000 位左移 11111111 11111111 11111111 11110000,46,(6)位运算符和位运算表达式, 位右移运算符() 位右移运算符左面的操作元称为被移位数,右面的操作元称为移位量 通过位右移运算符移位时,左边的空位补0或1,被移位数是正数时补0,是负数时补1 int a=-8; a2是多少? 11111111 11111111 11111111 11111000(a) 位右移 11111111 11111111 11111111 11111110,47,(6)位运算符和位运算表达式, 无符号位右移运算符() 无符号位右移运算符左面的操作元称为被移位数,右面的操作元称为移位量 通过无符号位右移运算符移位时,被移位数是正数或者负数时,左边的空位都补0 移位运算符练习 编写程序,从键盘上输入一个整数和一个移位量,输出移位运算的结果,lianxi3.java,48,(7)instanceof运算符,instanceof运算符左面的操作元是一个对象,右面的操作元是一个类 当左面的对象是右面的类创建的对象时,运算结果为true,否则为false,49,(8)运算符的优先级,运算符的优先级请参考p25,表1-7,50,本章导读,标识符与关键字 基本数据类型 基本数据类型的转换 数组 运算符与表达式 java语句,51,java语句,表达式语句 x=23; n+=2; 声明语句 int i, j, k; public void setvalue(int value); 复合语句 用 “” 和 “”把一些语句括起来,过程复合语句 类的位置说明语句 package语句和import语句 流程控制语句 分支语句、循环语句、跳转语句,52,分支语句,if 语句 if-else 语句 if else-if语句 switch-case语句,53,if语句,if (表达式) 语句 ,54,if-else语句,if (表达式) 语句1 else 语句2 ,else不能单独使用,如果使用,必须与 if 配对,55,if-else if 语句,if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式n-1) 语句n-1 else 语句n,56,switch-case语句,switch(表达式) case 常量表达式1:语句1 ;break; case 常量表达式2:语句2 ;break; case 常量表达式n:语句n ;break; default: 语句n+1; break; ,57,switch-case语句,switch和case后面的“表达式” 的值为离散型 当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,如果都不匹配,就执行default后面的语句 当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,如果没有遇到break语句,就会继续执行后面case所指示的若干语句 各个case后面的常量表达式的值必须互不相同 各个case和default的出现次序不影响执行结果,58,分支语句练习,从键盘上输入一个成绩,输出该成绩对应的等级。其中 成绩为90, 100时,等级为a 成绩为80, 90)时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓库大门转让合同范本
- etc押金合同范本
- 出租工地合同范本
- 别墅临街出售合同范本
- 与安踏合作合同范本
- 供应提成合同范本
- 医用设备购销合同范本
- 上门医疗服务合同范例
- 中标方转让合同范本
- 美发合租合同范本
- app 购买合同范例
- 高二上学期物理(理科)期末试题(含答案)
- 2024年房地产经纪人《房地产经纪专业基础》考前冲刺必会试题库300题(含详解)
- 矿山生态修复工程不稳定斜坡治理工程设计
- 躲避球运动用球项目评价分析报告
- 风机盘管更换施工方案
- 河道整治与生态修复工程监理规划
- 2024年度委托创作合同:原创美术作品设计与委托制作3篇
- 建设工程招标代理合同(GF-2005-0215)(标准版)
- 剪映专业版教学课件
- 公司新建电源及大用户并网管理办法
评论
0/150
提交评论