2变量和数据类型

变量和数据类型
标识符
作用:
给变量、类和方法命名
标识符的命名规则:
标识符必须以字母、下划线_、美元符KaTeX parse error: Unexpected character: '' at position 5: 开头。 ̲标识符其它部分可以是字母、下划…和数字的任意组合
java标识符大小写敏感,且长度无限制
不可以是java的关键字
java标识符选取应做到“见名知意”

关键字
java中一些赋以特定含义,用作专门用途的字符串称为关键字(keyword)。
大多数编辑器会将关键字用特殊的方式标识出来。
所有java关键字都是小写英文
goto和const虽然未使用,但也被作为java关键字保留。

字符集
ISO8859-1 西欧字符集
BIG5 台湾的大五码,表示繁体汉字
GB2312 大陆使用最早、最广的简体中文字符集
GBK GB2312的扩展,可以表示繁体中文
Unicode(UTF-8 UTF-16) 国际通用字符集
常量
java的常量值用字符串表示,区分为不同的数据类型
整型常量123
实型常量3.14
字符常量 “a”
逻辑常量 true、false
字符串常量 “hello”
注意:区分字符常量和字符串常量
"常量"这个名词还会用在另外其它语境中表示值不可变的变量(final关键字)
变量
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为:
类型 变量名[=初值] [,变量名[=初值]…。
例如:
int i = 100; Student student = new Student();
float f = 12.3f;
double d1, d2, d3 = 0.123;
Stirng s = “hello”;
从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先声明,然后进行赋值,才能使用。
java变量的分类
按被声明的位置划分:
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
注意:类外面(类对应的大括号外面)不能有变量的声明
按所属的数据类型划分:
基本数据类型变量
引用数据类型变量
数据类型

整数类型
java各整数类型有固定的取值范围和字段长度,其不受具体操作系统的影响,以保证java程序的可移植性。
java语言整型常量的三种表示形式
十进制整数,如:123, -15, 0
八进制整数,要求以0开头,如:012
十六进制数,要求0x或0X开头,如:0x12
java语言的整型常量默认为int型,声明long型常量可以后加"l"或"L",如:
int i1 = 600;
long l1 = 888888888L;

浮点类型
与整数类型类似,java浮点类型有固定的表数范围和字段长度,不受操作系统影响。
java浮点类型常量有两种表示形式
十进制数形式,例如:3.14 314.0 .314
科学计数法形式,例如:3.14e2(3.1410^2)) 3.14E2 100E-2(10010^-2)
java浮点型常量默认认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:
double d = 12345.6; // 正确 float f = 12.3f; // 必须加f否则会出错
注意:浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。所以比较中最少避免使用浮点数。
逻辑型boolean
boolean类型适于逻辑运算,一般用于程序流程控制
boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false,这点和c语言不同。
例如:
boolean flag;
flag = true;
if (flag) {
// do something
}

	if(flag == true && done == false), 可以写成 if (is && !done)

字符型char
char型数据用来表示通常意义上的"字符"
字符常量为用单引号括起来的单个字符,例如:
char eChar = ‘a’; char cChar = ‘中’;
java字符采用Unicode编码(全球语言统一编码),每个字符占两个字节,因而可用十六进制编码形式表示,例如:
char c1 = ‘\u0061’;
java语言中还允许使用转义字符’'来将其后的字符转变为其它的含义,例如:
char c2 = ‘\n’; // \n代表换行符
自动类型转换和强制类型转换
boolean类型不可以转换为其它的数据类型。
整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
容量小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为:
byte,short,char->int->long->float->double
byte,short,char之间不会互相转换,它们三者在计算时首先会转换为int类型
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
实数常量(如:1.2)默认为double。
整数常量(如:123)默认为int。

练习:
请判断一下程序中编译错误或可能产生计算溢出的部分:
public void method() {
int i = 1, j;
float f1 = 0.1;
float f2 = 123;
long l1 = 12345678, l2 = 8888888888;
double d1= 2e20, d2 = 124;
byte b1 = 1, b2 = 2, b3 = 129;
j = j + 10;
i = i / 10;
i = i * 0.1;
char c1 = ‘a’, c2 = 125;
byte b = b1 - b2;
char c = c1 + c2 - 1;
float f3 = f1 + f2;
float f4 = f1 + f2 * 0.1;
double d = d1 * i + j;
float f = (float) (d1 * 5 + d2);
}
java注释
// 单行注释
/* / 多行注释
/
*
*/ 文档注释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值