------- android培训、java培训、期待与您交流! ----------
黑马学习日志之二 Java基础02
1. 常量
常量表示不能改变的数值,常量都是大写,不同类型的常量说明:
整数常量:所有整数;
小数常量:所有小数;
布尔型常量:较为特殊,只有两个数值。true 和false;
字符常量:将一个数字字母或者符号用单引号(‘’)标识;
字符串常量:将一个或者多个字符用双引号标识;
Null常量:只有一个数值就是null。
2.进制
二进制:0-2,满2进1。计算机的计数方式是二进制。
十进制:0-9 ,满10进1。
八进制:0-7 ,满8进1. 用0开头表示。
十六进制:0-9,A-F,满16进1. 用0x开头表示。
2.1进制转换
2进制转10进制;系数*权的和。
10进制转2进制:除2取余。
2进制转8进制:每3位2进制转成10进制,将结果并列组成一个8进制。
2进制转16进制:每4位2进制转成10进制,将结果并列组成一个16进制。
负数的二进制表现形式:对应的正数二进制取反加1
3.变量
3.1变量定义:
概念:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。
定义变量目的:用来不断的存放同一类型的常量,并可以重复使用
定义变量的格式:数据类型 变量名 = 初始化值;
注意:java是一门强类型语言,必须定义变量的数据类型,变量的作用范围(一对{}之间有效)变量需要有初始化值。可以将变量理解为数学中的未知数。
3.2 变量分类
局部变量:方法或语句块内部定义的变量
成员变量:方法外部类的内部定义的变量
class Test
{
int x = 1; //成员变量
public static void main(String[] args)
{
int y = 2; //局部变量
}
}
注意:
成员变量可以不赋值,因为java虚拟机会给成员变量赋默认值
局部变量在使用之前必须赋值,否则会出现编译错误
4.数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。
按照所属的数据类型划分变量:基本数据类型变量和引用数据类型变量。
4.1整型
字节型:byte,内存中占1个字节(8位),取值范围-128~127,默认值 0
短整型:short,内存中占2个字节(16位),取值范围-2(15)~2(15)-1,默认值0
整型:int,内存中占4个字节(32位),取值范围-2(31)~2(31)-1,默认值0, java语言的整型常量默认为int型。
长整型:long,内存中8个字节(64位) ,取值范围-2(63)~2(63)-1,默认值0,声明long型常量可以后加'l'或'L'。
4.2 浮点型
单精度浮点型:float,内存中占4个字节(32位),取值范围1.4013E-45~3.4028E+38,默认值0.0f,直接赋值时必须在数字后加上f或F。
双精度浮点型:double,内存中占8个字节(64位),取值范围4.9E-324~1.7977E+308, 默认值0.0,赋值时可以加d或D也可以不加,浮点型默认是double类型。
4.3 布尔型
布尔型:boolean,内存中占1个字节(8位)只有true或false两种情况,默认值为false。布尔类型适于逻辑运算,一般用于程序流程控制。
4.4字符型
字符型:char,内存中占2个字节(16位)代表单个字符,如:’1’,’A’,’a’等。java字符采用的Unicode编码,表示形式‘\uXXXX’(转义字符\u代表后面的四位数是十六进制的编码),默认值‘\u0000’。
转义字符:\t制表符 \n换行符 \r回车符 \‘ 单引号字符 \” 双引号字符
\\ 反斜杠字符
注意:
windows里面的回车换行是由两个符号组成\r\n;Linux的回车符\n组成的;
转义字符需要写在单引号或双引号里用+号连接
转义字符代表的是一个字符可以放在char里, char ch = ‘\n’;
4.5 类型转换
4.5.1 自动类型转换(隐式类型转换)
容量小的类型自动转换为容量大的数据类型,小瓶水倒入大瓶子中。
数据类型按容量大小排序为: byte,short,char --> in --> long --> floa --> double
注:
byte,short,char之间不会互相互换,他们三者在计算时首先转换成int类型。
有多种数据类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。如:int a =1;byte b = 2; a = b + a;b自动提升为int型。
一个基本数据类型的值和字符串进行连接运算时,基本数据类型转换成字符串。如,
String str = 5 + “”。 特别注意:3+4+”hello”得到7hello;”hello”+3+4得到hello34。
4.5.2 强制类型转换(显式类型转换)
容量大的数据类型转换为容量小的数据类型时,要进行强制转换。目的是解决语法的错误。如:byte b = 3; b = b + 4; //报错,因为b是变量,b值不确定,如果运算,可能超出byte的范围,损失精度。
强制转换格式:(数据类型) (要被转换的数据)
byte b = (byte)(b + 4);