java第二章语言基础(1)

上传人:第*** 文档编号:49584563 上传时间:2018-07-31 格式:PPT 页数:37 大小:134.50KB
返回 下载 相关 举报
java第二章语言基础(1)_第1页
第1页 / 共37页
java第二章语言基础(1)_第2页
第2页 / 共37页
java第二章语言基础(1)_第3页
第3页 / 共37页
java第二章语言基础(1)_第4页
第4页 / 共37页
java第二章语言基础(1)_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《java第二章语言基础(1)》由会员分享,可在线阅读,更多相关《java第二章语言基础(1)(37页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计第2章 Java语言基础(1)内容nJava的基本数据类型n变量n字面值n常量n运算符n表达式2.1 Java的基本数据类型Java数据类 型基本数据类型字符型 (char)布尔类型 (boolean)复合数据类型类(class)接口(interface)数组空类型(null)数值类型整数类型实数类型短整型(short)整型(int)单精度浮点型(float)双精度浮点型(double)长整型(long)字节型(byte)2.1.1 整数类型(1)n范围nint:32位带符号整数, -231-231-1 nlong:64位带符号整数, -263-263-1 nshort:16位

2、带符号整数 , -215-215-1 nbyte: 8位带符号整数 , -27-27-1n示例nbyte b=0x18;short s=16;nint i=6;long k=26896L;n注意:整数数值缺省为int类型,在整数数值后加 字符“l”或“L”,表示该数值为long类型2.1.1 整数类型(2)n整数类型都是带符号整数,不存在无符号 整数。n整数类型的表示形式n10进制,如int i=100;n16进制,首位为“0x”表示16进制的数值;如 int i=0x10;n8进制,首位为“0”表示八进制的数值;如 int i=010;2.1.2 浮点型n浮点型(实型)nfloat: 32位

3、标准浮点数ndouble: 64位标准浮点数n示例nfloat p=3.14159f;ndouble d=50.1786998;n注意:浮点数缺省为double类型,在浮点数后加 字符“f”或“F”表示该浮点数是float类型,加字符 “d”或“D”表示该字符是double类型2.1.3 字符型n字符型(char):无符号16位unicode 字符, 065536n示例:char c=a; char c=t;n转义符:n n 换行n t 横向跳格n b 退格n r 回车n 反斜杠n 单引号n ” 双引号n字符型变量可以进行算术运算,如: char ch=x;ch+;2.1.4 boolean类

4、型n布尔型nboolean : true / false (而不是1/0)n示例:nboolean b=true;nSystem.out.println(“b=“+b);n输出结果:b=truen注意,boolean类型只有两个值:true或 false。用println() 输出时,输出的是字符 串“true”或“false”。2.2 变量祥解n变量的声明ntype(类型) var-name(变量名)n如 int i;n变量要先声明再使用n如:i=10;n变量名必须是合法的标识符nJava中区分大小写:sun与Sun不同n一旦创建了一个变量,则在内存中为该变量分配 了相应的存储空间,变量的功

5、能由其类型决定。2.2.1 初始化变量n变量在使用前必须赋一个值n如 int i; i+; n先声明,后初始化;n声明的同时,初始化;n一次初始化多个同一类型的变量 int i; i = 10;char ch=X;float f1 = 1.0f , f2 = 2.0f , f3 = 3.0f;2.2.2 动态初始化变量n在程序运行过程中用表达式或其他变量的 值初始化一个变量;n如: public class DynInit public static void main( String args ) double radius = 4.0, height = 5.0;double volume

6、 = 3.14 * radius * radius * height;System.out.println( “容积是:“ + volume ); 2.2.3 变量的作用域和生命期n作用域决定了哪些对象(变量)对程序的其他部分是可见的, 也决定了这些对象的生存期。 n变量的作用域从变量定义/声明之处开始。n方法中变量的作用域以方法的右大括号“”结束。如果该方法有 参数,那么参数的作用域为整个方法。n代码块中的变量的作用域以该代码块的结束而结束。代码块: 由大括号括起来的代码(如:函数,if语句,for循环等)。n在一个作用域中定义的变量对于该作用域外的程序是不可见( 即访问)的。变量在其作用域

7、内被创建,离开其作用域时被销 毁。n作用域可以进行嵌套。外层的作用域包含内层的作用域。但反 过来就不是,内层作用域定义的对象对于外部是不可见的。n在一个方法的开始处定义的变量,作用域为整个方法。反之, 若在一个程序块的末尾声明了一个变量,它就没有任何用处。2.2.3.1 变量作用域示例public class ScopeDemo public static void main( String args ) int x; / 在整个main函数中有效x = 10;if ( x = 10 ) / 开始一个新的作用域int y = 20; / y仅在if代码块中有效System.out.printl

8、n( “x and y: “ + x + “ “ + y );x = y * 2; / x,y在这里均有效./ y = 100; / 错误!y在作用域之外.System.out.println( “x is “ + x ); / x is still known here. n如果一个变量的声明/定义包括了动态初始 化,那么每次进入声明它的程序块时,该 变量都要被重新初始化。public class LifeTime public static void main( String args ) int x;for ( x = 0; x , =, 0) ) ; /i=? if( b | (i+1

9、) ) ; /i=?答案:i=1,i=2boolean b=false; int i=1; if( b /i=? if( b | (i+1) ) ; /i=?答案:i=2,i=32.5.4 位运算符n位运算符针对的数据类型:整型(int, long, shor, byte)、charn操作一个位(bit)n x为0,结果为1;nxy: x,y相同时结果为0,否则结果为1;n注意: 当x,y均为boolean类型时,是执行逻辑运 算,而不是位运算,注意此时与 b=a2;/b=128/b=162.5.5 赋值运算符n运算符就是一个等号“=”n其通用格式: var = expression;n变量v

10、ar的类型必须与表达式expression的 类型一致(类型相同或相容)。n赋值链int x, y, z; x = y = z = 100;2.5.6 复合赋值运算符n+=,-=,*=,/=,%=, nJava运行时系统执行它们时效率更高。x +=1; x = x+1; x %= 1; x = x % 1;2.5.7 赋值中的类型转换n将一种类型的变量(数据)赋给另一种类 型的变量,如:n自动类型转换(隐式转换)n强制类型转换int i; int f; i=10; f=i;2.5.7.1 自动类型转换n低优精度的数据自动会转换为高精度的数 据n转换的条件n两种类型兼容n目标类型比源类型大n可以

11、整型的字面值赋给char类型的变量低 高 byte short char int long float doubleint i=100; double d; d=i; /int i=100; boolean b; b=i; /char c; c=68;2.5.7.2 强制类型转换n精度高的数据转换为精度低的数据n基本形式:(目标类型) 表达式n当强制类型转换涉及缩小转换时,可能会 丢失信息double x =1.0, y =2.5; int i = (int)(x/y);byte bt = ( byte ) 257; int i = ( int ) 1.23;2.5.8 三元运算符n条件运算符n条件表达式 ?表达式1 : 表达式2n若条件表达式为真,则表达式1的值为整个表 达式的值,否则表达式2的值为整个表达式的 值n示例int j = x0 ? x : - x;if(x0)j = x; elsej = -x; /问题: int x=5, y=8, z=2; int k= x = !=b = (byte) ( b * b);long var=100L; int i=(long) ( 10 + var);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号