一、常量
常量表示不能改变的数值
1.1Java中常量的分类:
• 整数常量。所有整数
• 小数常量。所有小数
• 布尔型常量。较为特有,只有两个数值。true false。
• 字符常量。将一个数字字母或者符号用单引号( ' ' )标识。如: '4',"ab","",
• 字符串常量。将一个或者多个字符用双引号标识。
• null常量。只有一个数值就是:null.
1.2对于整数:java有三种表现形式
• 十进制:0-9 ,满10进1.
• 八进制:0-7 ,满8进1. 用0开头表示。
• 十六进制:0-9,A-F,满16进1. 用0x开头表
十进制转2进制: 原理对10进制进行除2过程
二进制转十进制: 原理对二进制乘以2的幂数过程
进制的基本转换
• 十进制八进制互转
如90 ,先转成2进制001 011 010,再转成8进制132
• 十进制十六进制互转
如90 ,先转成2进制:0101 1010,再转成十六(4个二进制位就是十六进制位)进制0x5A
• 负数的二进制表现形式
• 对应的正数二进制取反加1
如6,二进制 110. 推到-6
6的表示形式:0000-0000 0000-0000 0000-0000 0000-0110
6取反形式: 1111-1111 1111-1111 1111-1111 1111-1001
加1的形式: 0000-0000 0000-0000 0000-0000 0000-0001
-6表示形式: 1111-1111 1111-1111 1111-1111 1111-1010
结论:负数的最高位为1,正好数的最高位为0
一个字节是8个二进制位组成 一个整数由4个字节组成
二、变量
1.1变量的概念:
• 内存中的一个存储区域
• 该区域有自己的名称(变量名)和类型(数据类型)
• 该区域的数据可以在同一类型范围内不断变化
1.2为什么要定义变量:
• 用来不断的存放同一类型的常量,并可以重复使用
1.3使用变量注意
• 变量的作用范围(一对{}之间有效)
• 初始化值定义变量的格式:
• 数据类型 变量名= 初始化值;
• 注:格式是固定的,记住格式,以不变应万变。
理解:变量就如同数学中的未知数。
image.png
byte :8个二进制组成 取值:-128~127(2的7次方-1)
short:16个二进制组成 取值:-32768~32767(2的15次方-1)
int:32个二进制组成 取值:(2的31次方-1)
public class VarDemo
{public static void main(String[] args)
{
//定义一个变量
//数据类型 变量名 = 初始化值;
//定义一个int 类型变量取值为4;
int x = 4;
System.out.println("x");
x=10;
System.out.println("x");
byte b = 3;
short s =3000;
long l = 6l;
float f = 2.3f;
double d = 2.32;
char ch1 = '4';
char ch2 = 'b';
char ch2 = '+';
}
}
注意:什么时候定义变量?当数据不确定的时候。需要对数据进行存储时,就定一个变量来完成存储
int i = 1;
i = i +1;
三、类型转换
3.1 自动类型提升(也叫显示转换)
byte b = 3;
/*byte类型的b先自动类型提升成int与1相加,加的结果就是int类型,
结果b又要变成byte类型就会丢失精度,运算结果报错*/
b = b + 1;
3.2 强制类型转换(也叫显式类型转换)
byte b = 3;
b =byte( b + 1);
表达式的数据类型自动提升
• 所有的byte型、short型和char的值将被提升到int型。
• 如果一个操作数是long型,计算结果就是long型;
• 如果一个操作数是float型,计算结果就是float型;
• 如果一个操作数是double型,计算结果就是double型。
分析 System.out.println(‘a’)与System.out.println(’a’+1) 的区别。
System.out.println(‘a’);//输出的是字符a
System.out.println('a'+1);/*下列运行结果98;'a'是字符类型2个8位二进制;
1是int类型4个8位二进制,相加得4个8位二进制*/
System.out.println(char('a'+1));//先把('a'+1)计算是98,再转换成char类型b
网友评论