02_Java基础_数据类型及运算符
2011-11-19 10:31
369 查看
标识符
v 标识符是赋给类、方法或变量的名字。一个标识符可以是字母、数字、下划线、美元符号的任意顺序组合,但不能以一个数字开始。
注:Java是区分大小写的;
java字符集
v java使用Unicode标准字符集,最多可以识别65536个字符,Unicode字符集的前128个字符是ASCII码表.Unicode字符集覆盖了大部分国家的“字母表”的字母; 也就是说java类名变量名等可以是中文;因为中文也是Unicode字符集中的一个字符; 但不建议开发中用中文标识符。
§ 命名规范
– 驼峰式命名:userName userSex
– 类名首字母大写
– 变量、方法名开头字母小写
– 常量所有字母大写
– 包名全部小写
– 工程名首字母大写
常量与变量
v 常量就是一个保持不变的值
v 变量是Java程序的一个基本存储单元。变量由一个标识符,类型以及一个可选初始值组合定义。
在程序执行过程中常量值可变
变量内存的空间分配
v 程序要为每一项数据分配内存,通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。
§ 需要多少内存
§ 数据被存储在哪里
v 操作系统负责集注变量在内存中的地址
v 要引用内存空间中的值,只需指定变量名
注释
v java中注释有三种:
§ //单行注释,简单的解释语句含义.
§ /* 多行注释,用来说明更多的内容,包括算法等.
……
*/
/** Java文档注释,可以通过javadoc生
* 成类和接口的HTML格式的帮助文档.
* 这种注释有其特殊的格式(参见相关文档)
*/
数据类型
v Java语言是强类型语言
§ 每个变量每个表达式都有类型
§ 参数传递都要进行类型相容性检查
v 分类
§ 基本数据类型(Primary Data Types)
§ 复合数据类型(Composite Data Types)
八大基本数据类型
v 逻辑型(或称布尔型)
§ 所占内存: 占1个字节
§ 常量: true , false
§ 变量: 使用boolean定义
v 整型
§ 整型即整数类型,整型有:byte ;short ; int ; long
v byte(字节型)
§ 所占内存: 占1个字节
§ 常量: 12、32(十进制); 033(八进制); 0x7F (十六进制)
§ 变量: 使用byte定义
v 对于byte型变量,内存分配给1个字节,1个字节由8位(bit)组成;位有两种状态分别用0,1来表示,这样计算机可以用二进制数来存储信息。
§ 例如: byte x=7; 内存储状态为: 0000111
最高位(左边的第一位)是符号位,0表示正数,1表示负数; 正数用原码表示;负数用补码(即加1取反)表示。
§ 例如: byte x=-8 内存储状态为: 11111000
得到-8的补码,首先得到7的原码,然后将7的原码中的0变成1, 1变成0就是-8的补码。
§ 因此byte型变量的取值范围是-27~27-1 (-128 ~ 127)
v short整型
§ 所占内存: 占2个字节
§ 常量: 12、32(十进制); 01133(八进制); 0x117F (十六进制)
§ 变量: 使用short定义:
取值范围为: -2^15 ~ 2^15-1
v int 整型
§ 所占内存: 占4个字节
§ 常量: 12、32(十进制); 01133(八进制); 0x117F (十六进制)
§ 变量: 使用int定义:
取值范围为: -231 ~ 231-1
v long 整型
§ 所占内存: 占8个字节
§ 常量: 12、32(十进制); 01133(八进制); 0x117F (十六进制)
§ 变量: 使用long定义:
取值范围为: -263 ~ 263-1
注: 对long型变量赋值时,数字后要大写或小写的 L
v 浮点型(即小数类型)分两种: float ; double
v float
§ 所占内存: 占4个字节
§ 常量: 3.14F、2.23f;
§ 变量: 使用float定义:
取值范围为: -10-38 ~ 10-38 ~ 1038
注: 对float型变量赋值时,必须数字后要大写或小写的 f
v 浮点型(double)
§ 所占内存: 占8个字节
§ 常量: 3.14D、2.23d、23.23;
§ 变量: 使用double定义:
取值范围为: -10-308 ~ 10-308 ~ 10308
注: 对double型变量赋值时,(可选)数字后要大写或小写的 d
v 字符型; java使用Unicode字符集;
§ 所占内存: 占2个字节
§ 常量: ‘a’、’A’、’\t’、’你’、’ぁ’、’?’
§ 变量: 使用char定义:
注:字符型用 单引号括起来
v 取值范围为: 对于char类型,内存分配2个字节,占16位,最高位不用来表示符号。char型变量取值为
0 ~ 216-1 (0 ~ 65535)
数据类型转换(隐式转换)
v 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级:
低---------------------------->高
byte, short,char > int > long > float > double
强制类型转换
v 通过使用转换可以将一个表达式强制转换成某一种类型,是一元运算符。
v 转换的通用语法是:
(type) cast
type 任意有效的 java 数据类型
v 数据类型转换必须满足如下规则:
§ 不能对boolean类型进行类型转换。
§ 不能把对象类型转换成不相关类的对象。
§ 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
§ 转换过程中可能导致溢出或损失精度
§ 浮点数到整数的转换是通过舍弃小数得到,不是四舍五入(int)23.7 == 23,(int)-45.89f== -45
字符型与int整型转换
v 字符型在计算机中是以二进制信息存储;存储的值是该字符在unicode字符集中的排序位置。
v 字符型是用2个字节存储,但它是无符号的;所以字符型范围比short范围大。字符型一般与int相互转化;
表达式
v 运算符和括号将操作数连接起来的、符合java语言语法规则的式子,称为表达式
v 运算符和操作数的有效组合
v 操作数可以是变量、常量或者函数
v 在程序执行的过程中,变量的实际值和表达式中出现的常量一起使用
v 表达式可分为:
§ 算术表达式
§ 关系表达式
§ 逻辑表达式
§ 函数表达式
v 运算符的优先级和结合方向
§ 按运算符的优先级高低次序执行。例如,先乘除后加减。
§ 如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按java语言规定的结合方向(结合性)进行。
v 良好的源程序书写习惯:在表达式中,在双目运算符的左右两侧各加一个空格,可增强程序的可读性。
赋值运算符
v 赋值符号“=”就是赋值运算符,它的作用是将一个表达式的值赋给一个变量。
v 通用的形式:变量名=表达式
v 将同一个值赋给多个变量的操作叫做多重赋值
v 位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字
一般来说,算术运算符优先级高于比较运算符高于逻辑运算符高于赋值运算符
要点补充:
其它运算符
. 调用类的静态变量和常量。对象的属性
new 实例化一个对象。对象分配到内存的堆区中。
() 调用类的静态方式,对象的方法。改变运算符的优先级
[] 数组,通过下标号来获取数组中的元素
instanceof 判断一个对象是否一个类的实例。
v 标识符是赋给类、方法或变量的名字。一个标识符可以是字母、数字、下划线、美元符号的任意顺序组合,但不能以一个数字开始。
注:Java是区分大小写的;
java字符集
v java使用Unicode标准字符集,最多可以识别65536个字符,Unicode字符集的前128个字符是ASCII码表.Unicode字符集覆盖了大部分国家的“字母表”的字母; 也就是说java类名变量名等可以是中文;因为中文也是Unicode字符集中的一个字符; 但不建议开发中用中文标识符。
§ 命名规范
– 驼峰式命名:userName userSex
– 类名首字母大写
– 变量、方法名开头字母小写
– 常量所有字母大写
– 包名全部小写
– 工程名首字母大写
常量与变量
v 常量就是一个保持不变的值
v 变量是Java程序的一个基本存储单元。变量由一个标识符,类型以及一个可选初始值组合定义。
在程序执行过程中常量值可变
变量内存的空间分配
v 程序要为每一项数据分配内存,通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。
§ 需要多少内存
§ 数据被存储在哪里
v 操作系统负责集注变量在内存中的地址
v 要引用内存空间中的值,只需指定变量名
注释
v java中注释有三种:
§ //单行注释,简单的解释语句含义.
§ /* 多行注释,用来说明更多的内容,包括算法等.
……
*/
/** Java文档注释,可以通过javadoc生
* 成类和接口的HTML格式的帮助文档.
* 这种注释有其特殊的格式(参见相关文档)
*/
数据类型
v Java语言是强类型语言
§ 每个变量每个表达式都有类型
§ 参数传递都要进行类型相容性检查
v 分类
§ 基本数据类型(Primary Data Types)
§ 复合数据类型(Composite Data Types)
八大基本数据类型
v 逻辑型(或称布尔型)
§ 所占内存: 占1个字节
§ 常量: true , false
§ 变量: 使用boolean定义
v 整型
§ 整型即整数类型,整型有:byte ;short ; int ; long
v byte(字节型)
§ 所占内存: 占1个字节
§ 常量: 12、32(十进制); 033(八进制); 0x7F (十六进制)
§ 变量: 使用byte定义
v 对于byte型变量,内存分配给1个字节,1个字节由8位(bit)组成;位有两种状态分别用0,1来表示,这样计算机可以用二进制数来存储信息。
§ 例如: byte x=7; 内存储状态为: 0000111
最高位(左边的第一位)是符号位,0表示正数,1表示负数; 正数用原码表示;负数用补码(即加1取反)表示。
§ 例如: byte x=-8 内存储状态为: 11111000
得到-8的补码,首先得到7的原码,然后将7的原码中的0变成1, 1变成0就是-8的补码。
§ 因此byte型变量的取值范围是-27~27-1 (-128 ~ 127)
v short整型
§ 所占内存: 占2个字节
§ 常量: 12、32(十进制); 01133(八进制); 0x117F (十六进制)
§ 变量: 使用short定义:
取值范围为: -2^15 ~ 2^15-1
v int 整型
§ 所占内存: 占4个字节
§ 常量: 12、32(十进制); 01133(八进制); 0x117F (十六进制)
§ 变量: 使用int定义:
取值范围为: -231 ~ 231-1
v long 整型
§ 所占内存: 占8个字节
§ 常量: 12、32(十进制); 01133(八进制); 0x117F (十六进制)
§ 变量: 使用long定义:
取值范围为: -263 ~ 263-1
注: 对long型变量赋值时,数字后要大写或小写的 L
v 浮点型(即小数类型)分两种: float ; double
v float
§ 所占内存: 占4个字节
§ 常量: 3.14F、2.23f;
§ 变量: 使用float定义:
取值范围为: -10-38 ~ 10-38 ~ 1038
注: 对float型变量赋值时,必须数字后要大写或小写的 f
v 浮点型(double)
§ 所占内存: 占8个字节
§ 常量: 3.14D、2.23d、23.23;
§ 变量: 使用double定义:
取值范围为: -10-308 ~ 10-308 ~ 10308
注: 对double型变量赋值时,(可选)数字后要大写或小写的 d
v 字符型; java使用Unicode字符集;
§ 所占内存: 占2个字节
§ 常量: ‘a’、’A’、’\t’、’你’、’ぁ’、’?’
§ 变量: 使用char定义:
注:字符型用 单引号括起来
v 取值范围为: 对于char类型,内存分配2个字节,占16位,最高位不用来表示符号。char型变量取值为
0 ~ 216-1 (0 ~ 65535)
数据类型转换(隐式转换)
v 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级:
低---------------------------->高
byte, short,char > int > long > float > double
强制类型转换
v 通过使用转换可以将一个表达式强制转换成某一种类型,是一元运算符。
v 转换的通用语法是:
(type) cast
type 任意有效的 java 数据类型
v 数据类型转换必须满足如下规则:
§ 不能对boolean类型进行类型转换。
§ 不能把对象类型转换成不相关类的对象。
§ 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
§ 转换过程中可能导致溢出或损失精度
§ 浮点数到整数的转换是通过舍弃小数得到,不是四舍五入(int)23.7 == 23,(int)-45.89f== -45
字符型与int整型转换
v 字符型在计算机中是以二进制信息存储;存储的值是该字符在unicode字符集中的排序位置。
v 字符型是用2个字节存储,但它是无符号的;所以字符型范围比short范围大。字符型一般与int相互转化;
表达式
v 运算符和括号将操作数连接起来的、符合java语言语法规则的式子,称为表达式
v 运算符和操作数的有效组合
v 操作数可以是变量、常量或者函数
v 在程序执行的过程中,变量的实际值和表达式中出现的常量一起使用
v 表达式可分为:
§ 算术表达式
§ 关系表达式
§ 逻辑表达式
§ 函数表达式
v 运算符的优先级和结合方向
§ 按运算符的优先级高低次序执行。例如,先乘除后加减。
§ 如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按java语言规定的结合方向(结合性)进行。
v 良好的源程序书写习惯:在表达式中,在双目运算符的左右两侧各加一个空格,可增强程序的可读性。
赋值运算符
v 赋值符号“=”就是赋值运算符,它的作用是将一个表达式的值赋给一个变量。
v 通用的形式:变量名=表达式
v 将同一个值赋给多个变量的操作叫做多重赋值
运算符 | 描述 |
按位与 ( x & y ) | 如果两个操作数的相应位均为 1,则该位的结果值为 1 |
按位或 ( x | y ) | 如果两个操作数的相应位有一个为 1,则该位的结果值为 1 |
按位取反 ( ~x ) | 将操作数按位取反 (0 到 1 和 1 到 0) |
按位异或 ( x^y ) | 如果参加运算的两个操作数的相应位同号,则结果为 0,异号则为 1 |
左移 ( x<<2 ) | 左端(高位)移出部分舍弃,右端(低位)补0 |
右移 ( x>>2 ) | 右端(低位)移出部分舍弃,左端(高位)根据符号位补0或者1,无符号或正数补0,负数补1 |
一般来说,算术运算符优先级高于比较运算符高于逻辑运算符高于赋值运算符
要点补充:
其它运算符
. 调用类的静态变量和常量。对象的属性
new 实例化一个对象。对象分配到内存的堆区中。
() 调用类的静态方式,对象的方法。改变运算符的优先级
[] 数组,通过下标号来获取数组中的元素
instanceof 判断一个对象是否一个类的实例。
相关文章推荐
- 02_Java基础_数据类型及运算符
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- 黑马程序员_Java基础_02常量、变量、数据类型、运算符、语句、程序执行过程
- java学习02-java基础知识、基本数据类型、运算符
- java基础---->数据类型、运算符、程序控制
- 黑马程序员——java基础知识篇——>标识符、关键字、常量、进制表示、数据类型、运算符等
- Java基础2--基本数据类型和运算符
- java基础 第三章 数据类型和运算符
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- java基础(数据类型,运算符)
- Java语言基础--基本数据类型与运算符
- 黑马程序员——高新技术---Java基础语法-数据类型和运算符
- java基础02 数据类型转
- java基础-- 数据类型和运算符
- 黑马程序员_java基础——(标识符,关键字,基本数据类型,运算符)
- 黑马程序员--Java学习日记之基础知识(数据类型和运算符)
- java基础(2) 数据类型及运算符
- java基础---->数据类型、运算符、程序控制
- Java基础--数据类型,运算符,程序控制语句
- java基础---->数据类型、运算符、程序控制