收藏 分享(赏)

2JAVA语言基础.ppt

上传人:kpmy5893 文档编号:8923327 上传时间:2019-07-17 格式:PPT 页数:42 大小:759KB
下载 相关 举报
2JAVA语言基础.ppt_第1页
第1页 / 共42页
2JAVA语言基础.ppt_第2页
第2页 / 共42页
2JAVA语言基础.ppt_第3页
第3页 / 共42页
2JAVA语言基础.ppt_第4页
第4页 / 共42页
2JAVA语言基础.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、第2章 Java 语言基础,1,2.1 Java语言词法,Unicode字符集 标记 关键字 标识符 运算符 分隔符 字面常量 空白 注释,2,2.1.1 关键字,关键字是由系统定义的一些词,它们在程序里代表特定的含义。,3,2.1.2 标识符,标识符:在程序中给各种程序元素的命名,来标识这些元素,如变量、方法、类 标识符命名规则: 采用基本符号集Unicode字符集(1)Java标识符是一个由字母、数字、下划线( _ )或美元符号($)构成的字符序列,而开头的字符必须是字母、下划线( _ )或美元符号($)。 (2)Java标识符不能与关键字相同(也不能是true、false和null常量)

2、。 (3)Java标识符长度没有限制。 (4)Java标识符区分大小写字母。,4,Java字母 (1)方法Character.isJavaIdentifierStart(待测字符)。测试是否可以为首字符。 (2)方法Character.isJavaIdentifierPart(待测字符)。测试是否可以为除首字符以外的其他成分。我们国家的汉字也属于Java字母范围,可以作为标志符的起始或内部成分。命名建议 应有意义 中间单词首字母大写,如: 下列标识符为合法的标识符: aaa $abc 年龄 a5 _s a我 下列标识符为不合法的标识符: 5s *$ a-5,5,2.1.3 运算符,特殊符号,表

3、示运算 如: * / 等,6,2.1.4 分隔符,特殊符号:构造程序结构 如:() ; , .,7,2.1.5 字面常量,程序中直接出现的数据值。,8,2.1.6 空白符,特殊符号:分离标记 如:空格、水平制表、行结束符等 多个空白与一个空白作用相同,9,2.1.7 注释,程序中的说明性文字,程序的非执行部分 语法意义同空白符,10,2.2 基本数据类型,程序是对数据的处理,(1)数据类型确定了此类数据支持的操作。 (2)数据类型确定此类数据在内存中所占的存储空间大小,采取的存储形式,支持的取值范围。,11,2.2.1 整型,整型byte、short、int、long 有符号整数,内存表示:二

4、进制补码,特点:字节数固定,不支持无符号整数类型,12,2.2.2 浮点型,浮点型float,double 浮点型数据 单精度float(4字节,7位有效数字)、 双精度double(8字节,15位有效数字),13,2.2.3 字符型,字符类型char unicode字符集 内存表示:(2个字节) Unicode编码 取值范围:(065535个字符) 与ASCII码兼容,14,2.2.4 布尔型,布尔型boolean 内存表示:1字节 取值范围: 真:true 假:false,15,2.3 常量与变量,程序中,数据的两种表示方法 常量 变量,16,2.3.1 常量,程序运行期间其值保持不变的量

5、 字面常量 标识符常量 根据数据类型分 整型常量 浮点型常量 布尔型常量 字符型常量 字符串常量,17,整数型常量,常量表示(三种形式) 十进制 2 八进制 077 十六进制 0xBABE (缺省为int类型,后加l或L为long型),浮点型常量,常量表示(两种形式) 小数点形式: 123.5, .123, 0.123 由数字和小数点组成,且必须有小数点。 指数形式: 1.23e3或123E-3 其中e或E之前必须有数字,且e或E后面的指数必须为整数。 (缺省为double,5.0 5.0d 5.0D 加f或F为float 5.0f 5.0F),18,布尔型常量(boolean),true f

6、alse,字符型常量(char),字符集:Unicode字符集(65535个字符) 字符常量表示(四种表示方式) 单引号括起单个字符 : a 单引号括起转义字符 :t (tab键) 单引号括起8进制转义序列:ddd (ddd是13位8进制数,只能表示Unicode码中的ASCII字符集部分) 单引号括起Unicode码:uxxxx (xxxx是4位16进制数字,字符的Unicode码),19,字符串常量(String),双引号括起的0个或多个字符:“hello”(在一行内写完) 其中可以包含转义字符,“This is a”+ “two-line string”,20,2.3.2变量,用一个标识

7、符表示一个特定类型的值,这个值在程序执行期间可变。 变量三个要素: 名字:代表变量在内存中的位置 类型:表示变量在内存中的长度 值:变量在内存中存放的数据(可变) Java中变量遵从先声明后使用原则 变量声明 类型 变量名1,变量名2,; 变量使用 变量赋值 变量名值;(类型相容的值) 也可以在说明的同时初始化其值类型 变量名1值1,变量名2值2; 使用变量的值,在Java程序中的变量,在使用之前,需要初始化(赋值)。 任何变量都不能没有初始值(否则无法通过编译)。,int a,b,c=5; a=3; b=a;,21,输出语句介绍(1),字符串常量输出:System.out.prinntln(

8、“hello world“); 基本类型的任何数据(常量、变量)都可以在输出语句中直接使用,输出其值。,public class Testpublic static void main(String args)int a = 10;double b = 100.45;boolean c=true;System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(好); ,22,2.4 运算符与表达式,运算符: 算术、关系、逻辑、位、赋值、条件运算符。 操作数:参与运算的数据。 变量、常量、对

9、象、对象方法调用等 表达式: 由运算符和操作数组成 对操作数进行运算符指定的操作 并得出一个值(表达式的值) 定义 常量或变量是表达式 表达式的值可以作为操作数继续参与运算,形成复杂的表达式 小括号括起的表达式仍然是表达式。,23,表达式的运算 运算符优先级:优先级高的运算符优先执行 运算符结合性(同优先级运算符) 左结合:运算顺序为从左向右。 右结合:运算顺序为从右向左。 ():改变运算顺序,提高子表达式的优先级,24,2.4.1 运算符,算术运算符 位运算符 赋值运算符 自加自减运算符 关系运算符 逻辑运算符 条件运算符,25,1 算术运算符,算术运算符 单目:+、 双目:、*、/、% 操

10、作数:数值类型 结果:计算结果(数值 ),数值类型:整型、浮点型、字符型,(1)/:若是两个整数相除,值为整数(小数舍弃) (2):相除取余。也支持浮点数操作。 (3)浮点数除法和取余运算符会产生精度问题,26,2 位运算符,位运算符:对数据的二进制位进行操作 (位反) 、 &(位与)、(异或)、|(位或) 、 操作数:整数(字符) 结果:整数,27,例:int a=22, b=3;,28,(算术右移):按位右移,高位补符号位(/2) (逻辑右移):按位右移,高位补0 (负数会改变符号),移位运算符会约减右侧的操作数, 若左侧是int型,右侧以32取模 若左侧是long型,右侧以64取模,29

11、,3 赋值运算符,赋值运算符 =左操作数:变量 右操作数:值(表达式) 结果:左操作数复合赋值运算符 、&=、左操作数:变量 右操作数:值(表达式) 结果:左操作数a op= 表达式 a=a op 表达式,double d; d=3.5;,int a=5; a+=5; a=a+5;,注:复合赋值运算符右侧为一个整体 a*20+30 a=a*(20+30),30,4 自加自减运算符,int i = 5; +i i+,作为单独的语句,二者效果一样,都是 i i 1 作为表达式、语句的一部分有区别: i:i 值加1,再参与运算 i:i 值参与运算,再加1,例: System.out.print(+i

12、); System.out.print(i+); +i+5 i+5 int a; a=+i; a =i +;,对变量进行加1或减1操作 两种使用形式 前缀形式 后缀形式,31,5 关系运算符,关系运算符、=、=、=、!= 操作数:数值类型(表达式)=,!=可用于引用类型 结果:布尔值(关系运算的结果) 特殊的关系运算符:instanceof,int a; a大于0 a是偶数 a大于0,小于100,32,6 逻辑运算符,逻辑运算符!(非)、 (异或)、 &(与)、|(或) & (条件与)、|(条件或)、 操作数:布尔值 结果:布尔值,非(!): !true为false,!false为true 与

13、(&和&): true 与 true 为true,其他为false 或(|和|): false 或 false 为false,其他为true 异或():两者同为false,两者不同为true,int a; a大于0,小于100 a是大于0的偶数 a是一个月份 a是闰年,33,&与& 、 |与|区别&和|:若左表达式已可以确定表达式结果,则表达式不再继续计算 &,|:两边都要求出,辨析: int a=1; (a0) & (a0) & (a100),辨析: int a=-1,b=5; (a0 ) & ( +a0 ) &( +a10),34,7 条件运算符,条件运算符 ?: 操作数1?操作数2:操作

14、数3 操作数1:布尔值 操作数2和操作数3:同类型值 结果:表达式1,true:表达式2 false:表达式3,int a=10,b=5; int max = a b ? a : b ;,一个字符变量,若是大写转换为小写,否则不转换直接输出。,char c=f; c=(c=A)&(c=Z)?(c+a-A):c,35,2.4.2 表达式,表达式的执行顺序int a,b,c;a=b=c=100;3+5*6/26*4 表达式的类型转换 只有合法数据类型的值才能参与运算 算术运算符:数值类型(整型、浮点型、字符型) 位运算符:整型(字符型) 关系运算符: 、=、=:数值类型(整型、浮点型、字符型) =

15、 =和!= :数值类型、boolean类型、引用类型 逻辑运算符:boolean类型 赋值运算符: 在合法类型范围内,若运算符两侧的操作数类型不一致,需转换为相同类型。,36,2.4.3 类型转换,类型转换: Java支持数值类型之间的转换 数值类型与boolean类型之间不能转换,37,1 自动类型转换,自动进行的类型转换。 转换原则:只能进行类型的提升(从低类型到高类型),转换不能损失精度。,38,赋值运算 赋值运算符右侧的操作数与左侧变量类型不同:将右侧操作数转换为左侧变量的类型。(若是从低类型到高类型的转换,则被允许,并自动执行,否则编译错误。)算术、位、关系运算 转换原则: 若运算符

16、两侧的操作数类型不同,则必须转换为相同的类型。(自动类型转换:低类型到高类型。) 若是两操作数都为“小于int”的类型(byte、short、char)则操作数都转换为int类型数据。,int i=3; float a=0.5; a + b +i*a,double a = 4;,39,条件运算 操作数2与操作数3转换为相同类型(自动类型转换,从低到高)方法的参数传递与返回值 自动类型转换(从低到高),char c; c = c=A & c=Z ? c+a-A : c,40,2 强制类型转换,由程序员显式指出的类型转换。 语法格式(数据类型)表达式 应用:高类型转换为低类型改变正常运算规则,do

17、uble d = 2.5; int a = (int) d;,double d(double) 5 / 3;,注意: (1)强制类型转换不改变表达式本身的类型及其值,而是产生一个临时值。 如: (2)强制类型转换属于单目运算符,优先级高于一般多目运算符,因此只对紧随其后的表达式起作用。,41,输出语句介绍(2),输出有字符串,变量值的组合形式:用“+”将字符串与变量连接。 字符串支持“+”运算符,运算为字符串连接。 若字符串和其他类型变量或常量用“+”操作,那么也会进行自动类型转换。将其他类型转换为字符串类型,并进行字符串连接操作。 在Java语言中,任何类型都可以转换为字符串类型。,public class Testpublic static void main(String args) int a=10,b=20;int c;c=a+b;System.out.println(a+“+“+b+“的值为“+c); ,42,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报