已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
東忠人材開発有限公司,CopyrightTOTYU.Allrightsreserved.,Vol1.0,JAVA基礎教案,-Java语言基础,2,1主要内容,Java基本语法变量与常量类型转换运算符数组Java的输入输出,3,2Java基本语法21Java语法介绍,Java语言主要由以下五种元素组成:标识符、关键字、文字、运算符和分隔符。Java严格区分大小写Java程序有三种注释方式/单行注释/*/多行注释/*/专为JavaDoc设计,可以被JDK内置的JavaDoc工具支持和处理,4,2Java基本语法21Java语法介绍,Java是一种自由格式的语言代码分为结构定义语句和功能执行语句功能执行语句的最后必须用分号结束publicstaticvoidmain(Stringargs)inti;for(i=0;i5;i+)System.out.println(HelloWorld!);,5,2Java基本语法22Java标识符,Java中的包、类、方法、参数和变量的名字统称为标识符所有的标识符都必须以字母、下划线或美元符作开头,后面的字符包括数字、大小写字母、下划线以及美元符标识符区分大小写标识符不能是关键字,但可以包含关键字注:标识符也可以Unicode标识符(例如汉字),但是请尽量避免使用,6,2Java基本语法23Java关键字和保留字,注:java无sizeof、goto、const关键字,但不能用sizeof、goto、const作为变量名,7,3变量和常量31概念,变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。根据所存储的数据类型的不同,有各种不同类型的变量。变量名代表这块内存中的数据。数据类型不同,变量所占用的内存大小也不同变量的值可以随时改变常量也是代表着某块内存中的数据,和变量的区别在于:常量所代表内存中的数据是固定的,一旦确定之后就不能改变,8,3变量和常量32数据类型,9,3变量和常量33变量和常量的定义及使用,变量inta;a=0;charch=a;intb=1,c,d=2;c=b+d;doublemoney=1.51;booleanisFlg=true;Strings=abcde;常量finaldoublePI=3.1415926;,10,3变量和常量34占用字节大小和表示范围,byte占用一个字节,数字大小为-2727-1short占用两个字节,数字大小为-215215-1int占用四个字节,数字大小为-231231-1long占用八个字节,数字大小为-263263-1float占用四个字节,数字大小为1.4E-453.4E+38double占用八个字节,数字大小为4.9E-3241.7E+308char占两个字节,数字大小为0216-1,是unicode编码。我们可以直接将一个数字赋给字符变量boolean占一个字节,其取值只有两个,true和false,11,3变量和常量35变量的生命周期和作用域,变量要先定义,后使用,但也不是在变量定义后的语句一直都能使用前面定义的变量。我们可以用大括号将多个语句包起来形成一个复合语句,变量只能在定义它的复合语句中使用。publicclassTestScopepublicstaticvoidmain(Stringargs)intx=12;intq=96;/x和q都可用intx=3;/错误的定义,Java中不允许有这种嵌套定义System.out.println(“xis”+x);System.out.println(“qis”+q);q=x;/*错误的行,只有x可用,q超出了作用域范围*/System.out.println(xis”+x);,12,3变量和常量36常量,整型常量十进制(12),十六进制(0 x12),八进制(012)长整型常量13L单精度浮点数5.1f,.4f,2e3f,0f双精度浮点数5.1,.4,2e-3,0d布尔常量true和false,13,3变量和常量36常量,字符常量a,8,u00A5r表示接受键盘输入,相当于按下了回车键n是换行t是制表符,相当于Tab键b是退格键,相当于BackSpace是单引号,而“是双引号是一个斜杠“”字符串常量“HelloWorld”,“123”,“WelcomenXXXnull常量null常量只有一个值,用null表示,表示对象的引用为空,14,4类型转换41基本数据类型之间的转换,自动类型转换(也叫隐式类型转换)强制类型转换(也叫显式类型转换)intb=(int)(i+j);强制类型转换在某种情况下会丢失精度类型转换的原理表达式的数据类型自动提升所有的byte型、short型和char的值将被提升到int型如果一个操作数是long型,计算结果就是long型如果一个操作数是float型,计算结果就是float型如果一个操作数是double型,计算结果就是double型如果一个操作数是String型,计算结果就是String型,15,4类型转换41基本数据类型之间的转换,分析:System.out.println(a+1)的输出结果System.out.println(a+1)与System.out.println(“”+a+1)的区别,16,以上说的强制类型转换是指基本数据类型之间的转换。(byte、short、char、int、long、float、double等等)基本数据类型转换为String类型:“”+基本数据类型String.valueOf(参数);参数可以为基本数据类型。(int、char、double等等)String类型转换为int类型:Integer.parseInt(str);String类型转换为double类型:Double.parseDouble(str);String类型转换为boolean类型:Boolean.parseBoolean(str);,4类型转换42基本数据类型和String之间的转换,17,5运算符51运算符介绍,运算符是一种特殊符号,用以表示数据的运算、赋值和比较,一般由一至三个字符组成。运算符共分以下几种:算术运算符赋值运算符比较运算符逻辑运算符移位运算符三元运算符此外,在运算符中,是有优先级次序的,18,5运算符52算术运算符,19,5运算符52算术运算符,“+”除字符串相加功能外,还能把非字符串转换成字符串,如:“x”+123;的结果是“x123”如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数则不能忽略。对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。intx=3510;x=x/1000*1000;实际运行结果是3000,想想为什么?,算术运算符的注意点,20,5运算符52算术运算符,思考题:某个培训中心要为新到的学员安排房间,假设共有X个学员,每个房间可以住Y(1无符号右移,25,5运算符56位运算符,移位操作注意点,移位运算符适用类型有byte、short、char、int、long对低于int型的操作数将先自动转换为int型再移位。对于int型整数移位ab,系统先将b对32取模,得到的结果才是真正移位的位数。例如:a33和a1结果是一样的,a32的结果还是a原来的数字。对于long型整数移位时ab,则是先将移位位数b对64取模。移位不会改变变量本身的值。如a1;在一行语句中单独存在,毫无意义。a=a1;才是正确的。x1的结果和x/2的结果是一样的,x2和x*4的结果也是一样的。总之,一个数左移n位,就是等于这个数乘以2的n次方,一个数右移n位,就是等于这个数除以2的n次方。,26,5运算符57三元运算符,三元运算符有三个操作数,Java语言中只有一个三元运算符?:三元运算符的使用格式:expression?result1:result2运算方式:首先计算表达式expression,它的结果是一个布尔值,如果该值为true,则返回表达式result1的值,否则返回表达式result2的值。result1和result2返回的数据类型必须相同。三元运算符实现了if-else语句的功能,而且比较简练。使用例:booleanisEmployee=true;intmoney;money=isEmployee?3000:1000;,27,5运算符58运算符优先级,注:可以使用括号改变运算赋的优先级,28,对于inta=2;intb=a+3*a+;这样的语句,b最终等于多少呢?试验得到的结果是8对于inta=2;intb=(a+)+3*a;这样的语句,b最终等于多少呢?试验得到的结果是11,5运算符59如何避免多个运算符带来的问题,29,5运算符59如何避免多个运算符带来的问题,与其去思考其中的原因,我们还不如将上面的第二句改为几条语句来实现我们想要的结果。不要在一行中编写太复杂的表达式,也就是不要在一行中进行太多的运算。在一行中进行太多的运算并不能为你带来什么好处,相反只能带来坏处,它并不比改成几条语句的运行速度快,它除可读行差外,还极容易出错。对于优先级顺序,读者不用刻意去记,有个印象就行。如果你实在弄不清这些运算先后关系的话,就用括号或是分成多条语句来完成你想要的功能,因为括号的优先级是最高的。这也是软件编码规范的一个要求。,30,数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式。数组中的数据存放在堆内存中,而且内存地址是连续的。数组元素可以是基本数据类型,也可以是引用类型。数组可以是一维的,也可以是多维的,开发中比较常用的是一维数组和二维数组。,6数组61数组简介,31,数组定义intarr1=1,2,3,4;intarr2=newint1,2,3,4;intarr3=newint3,4,5;intarr4=1,2,3,4;数组的使用arr10=10;/下标从0开始arr13=40;inta=arr32;intlen=arr4.length;/得到数组的长度,6数组62数组定义及使用,32,定义错误intarr5;/声明数组时不能指定其长度,否则编译将出错空指针异常intarr1=null;arr0=1;/数组是引用类型,值为null时使用数组将抛出NullPointerException异常数组越界异常intarr2=1,2,3,4;arr24=4;/数组下标从0开始,最大下标为“数组长度-1”数组是引用类型,数组的数据都存放在堆内存中,在栈内存中只是存放那个堆内存的首地址。当不需要使用数组时,可以将栈内存中的地址设为null,堆内存中的数据仍然会占用着内存,它会在将来的某个时刻由Java垃圾回收器回收掉。,6数组63使用数组的注意点,33,intx;/定义数组x=newint100;/生成数组对象x=null;/不再使用数组,6数组64数组的内存变化图,34,6数组65二维数组,如何理解多维数组?类似我们的棋盘。Java中并没有真正的多维数组,只有数组的数组,Java中多维数组不一定是规则矩阵形式。定义一个多维数组intxx;xx=newint3;xx0=newint3;xx1=newint2;,35,6数组65二维数组,二维数组定义intarr1=3,2,7,1,5,6;intarr2=newint34;/3行4列的规则数组intarr3=newint2;arr30=newint3;arr31=newint2;数组的使用intarr4=newint34;/3行4列的规则数组arr400=10;/下标从0开始,表示第1行第1列arr413=20;arr41=newint3;/将变成不规则数组arr412=30;/此时使用arr413会出错,36,控制台下的输入输出输入设备为键盘,输出设备为屏幕适于JavaApplication标准输出System.out.println(“输出内容”);/打印一行System.out.print(“输出内容”);/不打印换行符标准输入charc=(char)System.in.read();/读入一个字符BufferedReaderr=newBufferedReader(newInputStreamReader(System.in);Strings=r.readLine();/读入一行使用Enter键表示结束输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年建材销售合同
- 转发通知写作技巧及范文大全
- 建筑BIM技术应用案例分析
- 桥梁钢筋受力计算与设计方案
- 幼儿园大班情景剧剧本(秋季)
- 2025瑞昌市青年志愿者协会公开招聘2名见习人员考试笔试参考题库附答案解析
- 餐饮连锁店标准化操作规范汇编
- 快递员服务实务标准操作流程
- 2025北京石油学院附属小学教育集团招聘1人考试笔试备考题库及答案解析
- 档案管理标准化验收流程及样本报告
- 福建省福州第四中学2024-2025学年高二上学期期中生物试题
- 《美容皮肤治疗技术》课程标准
- 国开(贵州)2024年秋《地域文化(专)》形考任务1-2答案
- 房地产项目营销策划与执行方案
- 《第1节 化学反应的方向》说课课件
- 香港装饰装修工程实施合同范本(2024版)
- 股份协议书股份协议书模板(2024版)
- 电影院火灾逃生应急预案
- (正式版)HGT 6285-2024 甲基丙烯醛氧化制甲基丙烯酸催化剂活性试验方法
- 海南警察学院规划方案
- 《如何阅读文献》课件
评论
0/150
提交评论