第03章数据类型、变量、数组(pp2366).ppt
《第03章数据类型、变量、数组(pp2366).ppt》由会员分享,可在线阅读,更多相关《第03章数据类型、变量、数组(pp2366).ppt(66页珍藏版)》请在三一文库上搜索。
1、第1部分 Java语言,第03章 数据类型、变量、数组,3.1 Java语言是强类型语言语言,Java 语言强类型语言。 Java 的安全和健壮性部分来自于强类型语言。 每个变量有类型,每个表达式有类型,而且每种类型是严格定义的。 所有的数值传递,不管是直接的还是通过方法调用经由参数传过去的都要先进行类型相容性的检查。 Java编译器对所有的表达式和参数都要进行类型相容性的检查以保证类型是兼容的。 任何类型的不匹配都是错误的,在编译器完成编译以前,错误必须被改正。,3.2 简单数据类型,Java定义了8个简单(或基本)的数据类型。 使用简单数据类型可以构造数组或类的类型来使用它们。 Java是
2、完全面向对象的,但简单数据类型不是。这样做的原因是出于效率方面的考虑。 Java可移植性的要求,所有的数据类型都有一个严格的定义的范围。,3.3 整数类型,Java 定义了4个整数类型: byte,short,int,long。 Java 不支持无符号的整数。 长整型 64 9,223,372,036,854,775,808 9,223,372,036,854,775,807 整型 32 2,147,483,648 2,147,483,647 短整型 16 32,768 32,767 字节型 8 128127,3.3.1 字节型(byte),有符号的8位类型。 数的范围是 -128127。 从
3、网络或文件处理数据流的时候,字节类型的变量特别有用。 处理未加工的二进制的数据时,它们也是有用的。 例如:byte b,c;,3.3.2 短整型(short),有符号的16位类型。 数的范围是 32,76832,767 。 可能是Java中使用得最少的类型。 例如: short s; short t;,3.3.3 整型(int),最常用的整数类型是 int。它是有符号的32位类型。 数的范围是 -2,147,483,6482,147,483,647。 包含 byte,short,int 及字面量数字,在进行计算以前,所有表达式的类型被提升到 int。 整型是最通用并且有效的类型。,3.3.4
4、长整型(long),有符号的64位类型 数的范围是 9,223,372,036,854,775,808 9,223,372,036,854,775,807 对于那些整型不足以保存所要求的数值时是有用的。,例 P30,/ Compute distance light travels using long variables. class Light public static void main(String args) int lightspeed; long days; long seconds; long distance; / approximate speed of light in
5、miles per second lightspeed = 186000; days = 1000; / specify number of days here seconds = days * 24 * 60 * 60; / convert to seconds distance = lightspeed * seconds; / compute distance System.out.print(“In “ + days); System.out.print(“ days light will travel about “); System.out.println(distance + “
6、 miles.“); ,Ans:,In 1000 days light will travel about 16070400000000 miles.,3.4 浮点型(Floating-Point Types),浮点数字,也就是人们知道的实数(real)。 Java实现了标准(IEEE-754)的浮点型和运算符集。 单精度浮点型(float)及双精度(double)浮点型: DOUBLE 64 1.7E3081.7E+308 float 32 3.4E0383.4E+038,3.4.1 单精度浮点型(float),占用32位存储空间的单精度(single-precision)值。 比双精度更快
7、且只占用双精度一半的空间。 当值很大或很小时,它将变得不精确。 例子: Float hightemp,lowtemp;,3.4.2 双精度型(double)浮点型,占用64位的存储空间。 数学函数,如 sin( ),cos( ),和 sqrt( )均返回双精度的值。 当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。,例 P32,/ Compute the area of a circle. class Area public static void main(String args) double pi,r,a; r = 10.8; / radius o
8、f circle pi = 3.1416; / pi,approximately a = pi * r * r; / compute area System.out.println(“Area of circle is “ + a); ,3.5 字符,Java 使用 Unicode 码代表字符。 Java 中的 char 类型是16位,其范围是0 65,536,没有负数的char。 有关 Unicode 码的更多信息可在网址http:/www.unicode.org上找到。,例 P32,/ Demonstrate char data type. class CharDemo public st
9、atic void main(String args) char ch1,ch2; ch1 = 88; / code for X ch2 = Y; System.out.print(“ch1 and ch2:“); System.out.println(ch1 + “ “ + ch2); ,Ans:,ch1 and ch2:X Y,例 P33,/ char variables behave like integers. class CharDemo2 public static void main(String args) char ch1; ch1 = X; System.out.print
10、ln(“ch1 contains “ + ch1); ch1+; / increment ch1,像整数一样进行运算操作 System.out.println(“ch1 is now “ + ch1); ,Ans:,ch1 contains X ch1 is now Y,3.6 布尔型,表示逻辑值的简单类型。 值只能是真或假。 当用方法 println ( ) 输出布尔的值时,显示的是“true“或“false“。 布尔变量的值本身就足以用来控制if语句。 关系运算符(例如)的结果是布尔值。,例 P33,/ Demonstrate boolean values. class BoolTest
11、public static void main(String args) boolean b; b = false; System.out.println(“b is “ + b); b = true; System.out.println(“b is “ + b); / a boolean value can control the if statement if(b) System.out.println(“This is executed.“); b = false; if(b) System.out.println(“This is not executed.“); / outcome
12、 of a relational operator is a boolean value System.out.println(“10 9 is “ + (10 9); ,Ans:,b is false b is true This is executed. 10 9 is true,3.7 进一步研究字面量 3.7.1 整数字面量,任何一个数字的值就是一个整数字面量。 十进制(decimal,基数是10)。 八进制(octal,基数是8): 前导为 0 十六进制(hexadecimal,基数是16): 前导为 0x 或 0X Long 字面量:后面加 l 或 L。,3.7.2 浮点字面量,标
13、准记数法(Standard notation): 由整数部分加小数点加小数部分组成。 例如2.0,3.14159,和 0.6667 科学记数法(Scientific notation): 是浮点数加一表明乘以10的指定幂次的后缀,指数是紧跟E或 e 的一个十进制的数字,它可以是正值或是负值。例子如6.022E23,314159E-05,及2e+100。 Java中的浮点字面量默认是双精度。 为了指明一个浮点字面量,你必须在字面量后面加 F 或 f。,3.7.3 布尔型字面量,布尔型字面量仅仅有2个逻辑值,真或假。 Java 中,真字面量的值不等于 1,假字面量的值也不等于 0 。,3.7.4
14、字符字面量,可见的 ASCII 字符都能直接被包括在单引号之内,例如 a,z,and 。 八进制,使用反斜线加3个阿拉伯数字。例如,141 是字母 a。 十六进制,使用反斜线和 u(u)加4个十六进制阿拉伯数字。例如,u0061因为高位字节是零,代表ISO-Latin-1字符集中的 a。,字符转义序列,ddd 八进制字符(ddd) uxxxx 十六进制Unicode码字符 单引号 “ 双引号 反斜杠 r 回车键 n 换行 f 换页 t 水平制表符 b 退格,3.7.5 字符串字面量,字符串字面量语言将一系列字符用双引号括起来。 为字符串定义的字符转义序列和八进制/十六进制记法在字符串内的工作方
15、法一样。 例如: “Hello World“ “twonlines“ “This is in quotes“,3.8 变量,变量是 Java 程序的一个基本存储单元。 变量由一个标识符,类型及一个可选初始值的组合定义。 所有的变量都有一个作用域,定义变量的可见性,生存期。,3.8.1 声明一个变量,所有的变量必须先声明再使用。 基本的变量声明方法如下: type identifier = value,identifier = value . ; 变量声明的例子: int a, b, c; / declares three ints, a, b, and c. int d = 3, e, f =
16、 5; / declares three more ints, initializing / d and f. byte z = 22; / initializes z. double pi = 3.14159; / declares an approximation of pi. char x = x; / the variable x has the value x. Java允许任何合法的标识符具有任何它们声明的类型。,3.8.2 动态初始化,允许在变量声明时使用任何有效的表达式来动态地初始化变量。 例如: 例 P37 / Demonstrate dynamic initializati
17、on. class DynInit public static void main(String args) double a = 3.0, b = 4.0; / c is dynamically initialized double c = Math.sqrt(a * a + b * b); System.out.println(“Hypotenuse is “ + c); ,3.8.3 变量的作用域和生存期,Java 允许变量在任何程序块内被声明。 一个程序块定义了一个作用域(scope)。 一个作用域决定了哪些对象对程序的其他部分是可见的,它也决定了这些对象的生存期。 在一个作用域中定义
18、的变量对于该作用域外的程序是不可见(即访问)的。 作用域规则为封装提供了基础。 作用域可以进行嵌套。外面的作用域包含内部的作用域。内部作用域定义的对象对于外部是不可见的。,例 P38,/ Demonstrate block scope. class Scope public static void main(String args) int x; / known to all code within main x = 10; if(x = 10) / start new scope int y = 20; / known only to this block / x and y both kn
19、own here. System.out.println(“x and y: “ + x + “ “ + y); x = y * 2; / y = 100; / Error! y not known here / x is still known here. System.out.println(“x is “ + x); ,Ans:,x and y: 10 20 x is 40,变量可以在程序块内的任何地方被声明,但是只有在他们被声明以后才是合法有效的。 例如: / This fragment is wrong! count = 100; / oops! cannot use count b
20、efore it is declared! int count; 变量在其作用域内被创建,离开其作用域时被撤消。 在一个方法内定义的变量在几次调用该方法之间将不再保存它们的值。 在块内定义的变量在离开该块时也将丢弃它的值。 一个声明定义包括一个初始化,那么每次进入声明它的程序块时,该变量都要被重新初始化。,例 P39,/ Demonstrate lifetime of a variable. class LifeTime public static void main(String args) int x; for(x = 0; x 3; x+) int y = -1; / y is init
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 数据类型 变量 数组 pp2366
链接地址:https://www.31doc.com/p-2250406.html