基本数据类型和操作.ppt
《基本数据类型和操作.ppt》由会员分享,可在线阅读,更多相关《基本数据类型和操作.ppt(67页珍藏版)》请在三一办公上搜索。
1、第 2 章 基本数据类型和操作,JDK、JRE与JVM的作用与关系?,JDK:Java Development Kit Java开发工具包,其中包含Java编译器(javac.exe)、Java运行时环境JRE:Java Runtime Environment Java运行时环境(Java 虚拟机)+支持类库JVM:Java Virtual Machine 负责将Java字节码翻译为本地机器可以执行二进制机器码,问题,问题,JDK、JRE与JVM的作用与关系?,学习目标,编写简单的Java程序(2.2).使用标识符命名变量、常量、方法和类(2.3).Java数据类型使用Java运算符书写表达式
2、(2.7 2.10).使用 JOptionPane 输入对话框输入(2.14).熟悉Java的文档管理、编程风格和命名习惯(2.18).,编写一个简单的程序,计算的圆的面积.,ComputeArea,Run,跟踪程序执行过程,public class ComputeArea/*Main method*/public static void main(String args)double radius;double area;/Assign a radius radius=20;/Compute area area=radius*radius*3.14159;/Display results S
3、ystem.out.println(The area for the circle of radius+radius+is+area);,no value,radius,为 radius分配内存单元,跟踪程序执行过程,public class ComputeArea/*Main method*/public static void main(String args)double radius;double area;/Assign a radius radius=20;/Compute area area=radius*radius*3.14159;/Display results Syste
4、m.out.println(The area for the circle of radius+radius+is+area);,no value,radius,memory,no value,area,为 area分配内存单元,跟踪程序执行过程,public class ComputeArea/*Main method*/public static void main(String args)double radius;double area;/Assign a radius radius=20;/Compute area area=radius*radius*3.14159;/Displa
5、y results System.out.println(The area for the circle of radius+radius+is+area);,20,radius,no value,area,assign 20 to radius,跟踪程序执行过程,public class ComputeArea/*Main method*/public static void main(String args)double radius;double area;/Assign a radius radius=20;/Compute area area=radius*radius*3.1415
6、9;/Display results System.out.println(The area for the circle of radius+radius+is+area);,20,radius,memory,1256.636,area,compute area and assign it to variable area,跟踪程序执行过程,public class ComputeArea/*Main method*/public static void main(String args)double radius;double area;/Assign a radius radius=20
7、;/Compute area area=radius*radius*3.14159;/Display results System.out.println(The area for the circle of radius+radius+is+area);,20,radius,memory,1256.636,area,控制台输出信息,数据类型,I)值类型(Value Type)、基本类型、原生类型 8种,II)引用类型(Reference Type)、类类型 很多,值类型,引用类型(Reference Type),:int值类型的包装类:long值类型的包装类,变量,值类型名 变量名=值;引用
8、类型名 变量名=new 构造方法();,变量名可以包含中文吗?,标识符,标识符是一个由字母、数字、下划线(_)和美元符号($)构成的字符转.标识符必须由字母、下划线(_)或美元符号开始,不能用数字开头。标识符不能是保留字(参见附录A)。标识符不能是 true,false和null.标识符可以有任何长度.,变量,/Compute the first arearadius=1.0;area=radius*radius*3.14159;System.out.println(The area is“+area+for radius+radius);/Compute the second arearad
9、ius=2.0;area=radius*radius*3.14159;System.out.println(The area is“+area+for radius+radius);,变量说明,int x;/Declare x to be an/integer variable;double radius;/Declare radius to/be a double variable;char a;/Declare a to be a/character variable;,变量名使用小写字母,如果一个名字有多个词组成,每个词的第一个字母大写,赋值语句,x=1;/Assign 1 to x;r
10、adius=1.0;/Assign 1.0 to radius;a=A;/Assign A to a;,在第一步中说明和初始化变量,int x=1;double d=1.4;float f=1.4;,Is this statement correct?,float f=1.4f,常量,final datatype CONSTANTNAME=VALUE;final double PI=3.14159;final int SIZE=3;,常量用大写字母命名,例如PI,算术运算符,+,-,*,/,and%5/2结果为整型2.5.0/2结果为double类型2.55%2 结果为 1(求余数),Janu
11、ary 1,2005 是 Saturday,可推算 February 1,2005 是 Tuesday,注意,浮点型数不一定是精确存储.例如,System.out.println(1-0.1-0.1-0.1-0.1-0.1);显示 0.5000000000000001,而不是 0.5,System.out.println(1.0-0.9);显示 0.09999999999999998,而不是 0.1.整型数据是精确存储.,数值直接量,直接量是在程序中直接出现的常量值。int i=34;整型直接量在-231(-2147483648)到 2311(2147483647)之间.long类型在其后加L
12、.浮点型默认为 double 类型.float类型在其后加f 或F,double 类型加 d or D.例如:float:100.2f or 100.2F,double:100.2d or 100.2D.科学计数法可表示为:1.23456e+2,或者 1.23456e2,等价于 123.456,and 1.23456e-2 等价于 0.0123456.,算术表达式,翻译成(3+4*x)/5 10*(y-5)*(a+b+c)/x+9*(4/x+(9+x)/y),简捷赋值运算符,OperatorExample等价于+=i+=8i=i+8-=f-=8.0f=f-8.0*=i*=8i=i*8/=i/=
13、8i=i/8%=i%=8i=i%8,增量和减量运算符,Operator Name Description+var前置增量运算符 表达式执行前变量var先加1.var+后置增量运算符 表达式执行后变量var加1.-var前置减量运算符 表达式执行前变量var先减1.var-后置减量运算符 表达式执行后变量var减1,赋值表达式和赋值语句,以下表达式可作语句:variable op=expression;/op 可选+,-,*,/,or%+variable;variable+;-variable;variable-;,数值类型转换,考虑以下语句:byte i=100;long k=i*3+4;do
14、uble d=i*3.1+k/2;,Byte,short,int,long,float,double,范围增加,扩宽可自动转换,缩窄需明确指明,类型转换,隐式转换 double d=3;(类型拓宽)显式转换 int i=(int)3.0;(类型所在)int i=(int)3.9;(小数部分被截去)What is wrong?int x=5/2.0;,字符型数据类型,char letter=A;(ASCII)char numChar=4;(ASCII)char letter=u0041;(Unicode)char numChar=u0034;(Unicode),4位十六进制组成.,注意:字符型可
15、作自加、自减运算 char ch=a;System.out.println(+ch);,Unicode 统一码,Unicode 占2个字节,以 u开头的4个16进制数,范围从u0000 到 uFFFF.共65536个字符。,Unicode u03b1 u03b2 u03b3 for three Greek letters,特殊字符的转义字符序列,Description Escape Sequence UnicodeBackspace bu0008Tab tu0009换行 nu000A回车 ru000D斜杠 u005C单引号 u0027双引号 u0022,字符型和数值型之间的转换,int i=a
16、;/Same as int i=(int)a;char c=97;/Same as char c=(char)97;,比较运算符,Operator Namegreater than=greater than or equal to=equal to!=not equal to,布尔运算符,Operator Name!not&and|orexclusive or(异或),!真值表,&真值表,|真值表,真值表,举例,System.out.println(Is+num+divisible by 2 and 3?+(num%2=0),闰年?,boolean isLeapYear=(year%4=0),
17、年份:能被4整除,但是不能被100整除;或者能被400整除,&和|运算符,&:条件与(捷径与):如果第一个条件为假,则不需要再计算下个条件&:无条件与(按位与)|:条件或(捷径或):):如果第一个条件为真,则不需要再计算下个条件|:无条件或(按位或),If x is 1,what is x after this expression?(x 1)&(x+x)&(1 x+)How about(1=x)|(10 x+)?(1=x)|(10 x+)?,运算符优先级,表达式3+4*4 5*(4+3)1的结果?,var+,var-+,-(Unary plus and minus),+var,-var(ty
18、pe)Casting!(Not)*,/,%(Multiplication,division,and remainder)+,-(Binary addition and subtraction),=(Comparison)=,!=;(Equality)&(Unconditional AND)(Exclusive OR)|(Unconditional OR)&(Conditional AND)Short-circuit AND|(Conditional OR)Short-circuit OR=,+=,-=,*=,/=,%=(Assignment operator),运算符结合方向,除赋值运算符外,
19、所有的双目运算符都是左结合的。a b+c d等价于(a b)+c)d 赋值运算符右是结合的。a=b+=c=5 等价于 a=(b+=(c=5),举例,根据运算符优先级和结合方向,表达式 3+4*4 5*(4+3)-1 的求值过程如下:,运算对象的计算顺序,如果运算对象没有修改变量值的副作用,运算对象的运算顺序是无关紧要的。然而副作用确实存在。int a=0;int x=(a+)+a;int a=0;int x=+a+a;,X=1,X=2,表达式计算的规则,规则1:可能的情况下,从左向右依次计算所有的表达式;规则2:根据运算符的优先级进行运算;规则3:对优先级相同的相邻运算符,根据结合方向进行运算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据类型 操作
链接地址:https://www.31ppt.com/p-6559967.html