3.java变量与基础语法.ppt
《3.java变量与基础语法.ppt》由会员分享,可在线阅读,更多相关《3.java变量与基础语法.ppt(67页珍藏版)》请在三一办公上搜索。
1、JAVA变量与基础语法,标识符与关键字 基本数据类型运算符与表达式程序的流程结构(分支,循环)数组方法基本的输入与输出,本章目标,简单输出语句,如果要将某些信息打印到屏幕上,就必须使用输出语句;使用System.out.println()实现换行输出效果;使用System.out.print()实现输出但不换行效果;无论输出什么类型的数据,只需将数据作为参数传递给它们即可,而无需像C语言中那样,使用%s、%d之类的控制字符,如:int a=10;float f=3.14f;System.out.println(a);System.out.print(f);System.out.println(
2、X);,简单输入语句,使用System.in.read()实现输入效果;read()函数的返回值是字符的Unicode值,是int类型的。public static void main(String args)throws IOException int charc=System.in.read();System.out.printf(%c,charc);JDK5中还增加了Scanner类用于,可用于输入。,概念:在编写程序时,对各种变量,方法和类等要素命名时使用的字符序列称为标识符。命名规则:只能由字母,下划线,美元符或数字组。只能由字母,下划线”_”和美元符”$”开头。不能是java中的关
3、键字和保留字。说明:java中严格区分大小写,所以标识符也是大小写敏感的,但长度没有限制。约定俗成:java标识符的选取要做到”见名知其意”且不能为java语言中的关键字。定义时尽量不要与预定义标识符重名。,标识符,关键字:java中一些赋予特定的含义,用做专门用途的字符串称为关键字(Keyword)。说明:在一些编辑器和IDE中会将关键字使用特殊方式和颜色标出来。在 java 中 所 有的关键字都是英文小写。在java 中 goto和const 虽然从未被使用,也当作关键字保留了下来。保留字:不是关键字,但在程序中又不能作为用户定义标识符的字符串(reserved words)。Java中的
4、保留字有:true,false,和 null。,关键字与保留字,JAVA中的关键字,关键字说明,标识符举例,java的常量类型:整型常量:十进制(12),十六进制(0 x12),八进制(012)长整型常量:13L 单精度浮点数:5.1f,.4f,2e3f,0f 双精度浮点数:5.1,.4,2e-3,0d说明:单精度浮点数和双精度浮点数统称为实型数。默认的小数为双精度浮点数。逻辑常量:true 和 false,Java常量,字符常量:a,8,u0027 r表示接受键盘输入,相当于按下了回车键;n是换行;t是制表符,相当于table键;b是退格键,相当于Back Space;是单引号,而“是双引号
5、;是一个斜杠“”。字符串常量:“hello project”注意点:字符串常量和字符常量的区别。注意常量这个名词的应用语境,有时候,常量这个名词应用在其他语境中表示值不可变的变量。参见”final关键字”。,Java常量,概念:变量是系统为程序分配的一块内存存储单元,用来存储各种数据类型的数据,根据所存储的变量值的数据类型不同,可以划分为各种不同数据类型的变量,其要素为变量名,数据类型,变量值和作用域。可以根据变量名称来访问其对应内存存储单元中的变量值.如下定义了一个变量:int age=20;(其在内存表示如右图),Java变量,请参见java变量按数据类型划分的图,Java变量数据类型,b
6、yte占用一个字节,数字大小为-2727-1short占用两个字节,数字大小为-215215-1 int占用四个字节,数字大小为-231231-1 long占用八个字节,数字大小为-263263-1 float占用四个字节,数字大小为1.4E-453.4E+38,-1.4E-45-3.4E+38。用二进制的指数形式表示一个浮点数的格式,如:101*22,101*2-3double占用八个字节,数字大小为4.9E-3241.7E+308,-4.9E-324-1.7E+308。char占两个字节,数字大小为0216-1,是unicode编码。字符的本来面目,我们为什么可以直接将一个数字赋给字符变量
7、。boolean占一个字节,其取值只有两个,true和false。,JAVA变量字节大小及有效取值范围,变量定义:java程序中每个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为:dataType variableName=variableValue;变量声明举例:int age=20;float price=20.06f;double d1,d2,d3=0.456;int x=1,y;y=x+3;注意:从本质上讲,变量其实是内存中的一小块内存单元,可以通过其名字(变量名)来访问这块区域,因此,每个变量使用前必须要先申请(声明),然后必须对其进行赋值,才可以使用。,Java变量的定
8、义,JAVA变量的默认值,按被声明的位置划分 局部变量::方法的参数列表中和方法内部以及语句块中声明的变量。成员变量:方法外面且在类的里面声明的变量。静态成员变量:用static关键字修饰的成员变量。注意:java语言中,类外面(与类对应的大括号外面)不能有变量的声明.按所属的数据类型划分 基本数据类型变量 引用数据类型变量,Java变量的分类,初始化问题:Java的成员变量在声明时,如果没有指定初始化的值,系统会根据成员变量的数据类型给出默认的值,但局部变量在声明时候没有初始化,则系统不会给出默认的初始化值,如果在使用前,没有对其进行初始华,在编译时就会报错。请看下面的代码:public v
9、oid methodName()int height;int width=height+5;/编译出错,height还没有被初始化.,Java的局部变量和成员变量,分类:自动类型转换(也叫隐式类型转换)强制类型转换(也叫显式类型转换)类型转换的原理及什么时候要用强制类型转换表达式的数据类型自动提升分析 System.out.println(a+1)与 System.out.println(“”+a+1)的区别。,Java数据类型转化,变量 的作用域指变量起作用的范围,说明变量在什么部分可以被访问;变量的生命周期是指变量在内存中存在的周期,即什么时候分配空间,什么时候销毁;变量要先定义,后使用,
10、但也不是在变量定义后的语句一直都能使用前面定义的变量。我们可以用大括号将多个语句包起来形成一个复合语句,变量只能在定义它的复合语句中使用。,JAVA变量的生命周期与作用域,public class TestScope public static void main(String args)int x=12;int q=96;/x和q都可用 int x=3;/错误的定义,Java中不允许有这种嵌套定义 System.out.println(x is+x);System.out.println(q is+q);q=x;/*错误的行,只有x可用,q 超出了作用域范围*/System.out.prin
11、tln(x is+x);,JAVA变量的生命周期与作用域,运算符是一种特殊符号,用以表示数据的运算、赋值和比较,一般由一至三个字符组成。运算符共分以下几种:算术运算符赋值运算符比较运算符逻辑运算符移位运算符,java中的运算符,算术运算符,“+”除字符串相加功能外,还能把非字符串转换成字符串,如:“x”+123;的结果是“x123”。如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论了。对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。int x=3510;x=x/1000*1000;实际运行结果是3000,想想为什么
12、?,算术运算符的注意问题,赋值运算符,注1:在JAVA里可以把赋值语句连在一起,如:x=y=z=5;在这个语句中,所有三个变量都得到同样的值5。注2:x+=3等效于x=x+3,等于*=,-=,/=依此类推。,比较运算符,注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。注2:比较运算符“=”不能误写成“=”,切记!切记!,逻辑运算符,注1:逻辑运算符用于对boolean型结果的表达式进行运算,运算的结果都是boolean型。注2:“&”和“&”的区别在于,如果使用前者连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用后者连接,当“&”的左边为fa
13、lse,则将不会计算其右边的表达式。“|”和“|”的区别与“&”和“&”的区别一样。,public class TestAnd public static void main(String args)int x=0;int y=3;if(x!=0 上面例子中,由于while语句的判断条件中的第一个布尔表达式是不成立的,程序就不会判断第二个布尔表达式的值,这就是“短路”。如果两个表达式之间用“&”来连接,如果正好碰到上面所示的特殊情况,程序运行时就会出错,“&”和“&”的区别分析,移位运算符适用类型有byte、short、char、int、long对低于int型的操作数将先自动转换为int型再移
14、位。对于int型整数移位ab,系统先将b对32取模,得到的结果才是真正移位的位数。例如:a33和a1结果是一样的,a32的结果还是a原来的数字。对于long型整数移位时ab,则是先将移位位数b对64取模。移位不会改变变量本身的值。如a1;在一行语句中单独存在,毫无意义。x1的结果和x/2的结果是一样的,x2和x*4的结果也是一样的。总之,一个数左移n位,就是等于这个数乘以2的n次方,一个数右移n位,就是等于这个数除以2的n次方。请思考:如何用程序实现求2的x次方。答案:y=1 x;,移位运算注意事项,运算符的优先级,我们可以使用括号改变运算赋的优先级,分析int a=2;int b=a+3*a
15、;语句的执行过程 与int a=2;int b=(a+3)*a;语句的执行过程的区别。,对于int a=2;int b=a+3*a+;这样的语句,b最终等于多少呢?作者试验得到的结果是8。对于int a=2;int b=(a+)+3*a;这样的语句,b最终等于多少呢?,如何避免多个运算符带来的问题,与其去思考其中的原因,我们还不如将上面的第二句改为几条语句来实现我们想要的结果。不要在一行中编写太复杂的表达式,也就是不要在一行中进行太多的运算在一行中进行太多的运算并不能为你带来什么好处,相反只能带来坏处,它并不比改成几条语句的运行速度快,它除可读行差外,还极容易出错。对于优先级顺序,读者不用刻意
16、去记,有个印象就行如果你实在弄不清这些运算先后关系的话,就用括号或是分成多条语句来完成你想要的功能,因为括号的优先级是最高的,这也是软件编码规范的一个要求。,如何避免多个运算符带来的问题,表达式:表达式是运算符和操作数的结合,它是任何一门编程语言的关键组成部分表达式允许程序员进行数学计算、值的比较、逻辑操作以及在Java中进行对象的操作。一些表达式的例子:语句:空语句:复合语句:代码块:,表达式和语句,顺序结构选择结构循环结构 顾名思义,顺序结构就是程序从上到下一行一行执行的结构,中间没有判断和跳转,直到程序结束。,程序的流程控制,if(表达式)语句;if(表达式)语句1;else 语句2;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 变量 基础 语法
链接地址:https://www.31ppt.com/p-5348429.html