一、常量的分类
1、常量可分为整数、浮点数、字符、字符串、布尔和空。
2.整数中的二进制转十进制方法为:从个位开始起每一位的数字本身乘以2的n-1次方。
例如:10010101转十进制
1 * 2^0 + 0 * 2^1 + 1 * 2^2 + 0*2 ^ 3 + 1 * 2^4 + 0 * 2^5 + 0 * 2^6 + 1 * 2^7 = 1+4+16+128=129
注*:不能为了计算方便将零省略掉,这样极易出现幂次方错位。
3、负数的二进制转换方法:取反加一。(①先将十进制转换为2进制 ②0变1 、1变0 ③变换后的结果+1,即为所得结果)
4、浮点数分为一般小数、与科学计数小数
3.89e3 = 3.89 * 10^3
5、字符:由一个数字、字母、符号被单引号包含的数据。
'a' ' '
6、字符串:由一个或多个数字、字母、符号被双引号包含的数据。
"this"、"who"、"them"
7、布尔:如果bollean是一个变量的话占用一个字节
如果bollean是一个数组的话,每个空间是四个字节
boolean a = true ;
boolean b = false;
System.out.println(a);
System.out.println(b);
输出相应的true和false。
int a = 2;
int b = 33;
System.out.println(a>b);
System.out.println(a<b);
第一个为:false
第二个为:true
8、空:null。
二、数据类型的分类
1、整数
1、是占用内存最小的整数类型,仅占用1个字节,有8个位。所以可以表示的数字个数有2^8个。但由于负数和0的存在,他的表示范围为-2^7-2^7-1,为-128~127。
2、short:占用两个字节,有16个位。即可以表示的数字有2^16。但是由于负数和0的存在,他的表示范围为-2^15~2^15-1.
3、int:占用四个字节,有32个位。即可以表示的数字有2^32。但是由于负数和零的存在,他的表示范围为-2^31~2^31-1。
4、long:占用八个字节,有64个位。即可以表示的数字有2^64。但是由于负数和零的存在,他的表示范围为-2^63~2^63-1。
在写程序时不能这样写:
因为b是浮点数、a是整数类型系统会强制将int型转换为double,但由于没有给c一个数据类型,即默认为int 型。与之后的double型不匹配。
int a = 4;
double b = 5.0;
c = a + b;
System.out.println(c);
正确应该这样写
int a = 4;
double b = 5.0;
double c = a + b;
System.out.println(c);
2、浮点数
1、float :四个字节。
2、double:八个字节。
3、定义变量
1、数据类型 变量名 = 常量
int a = 5;
int b = 7;
int m = 77;
2、数据类型 变量
int i;
int j;
int k;
3、变量 = 常量
m = 5;
n = 8;
p = 6;
三、运算符
1、算数运算符
(1)加法运算:如果+号两边都是数字的话,那么这个+表示数学上的加法
如果+两边只有一个字符串,那么这个+表示的是字符串
System.out.println("a = "+2+3);//23
System.out.println("a = "+(2+3));//2+3=5
System.out.println("你好"+"hh");//你好hh
(2)减法运算:
System.out.println(5-3);
输出5-3的值:2。
(3)乘法运算:
System.out.println(2*3);
输出2*3的值:6。
(4)除法运算:如果两边都是整数,结果就是整数(整除)。
如果两边至少存在一个小数,结果就是小数。
System.out.println(6/3);
System.out.println(5/3);
System.out.println(1.0/5);
6/3是整除 = 2
5 / 3 = 1
1.0 / 5 = 0.20000000 强制类型转换
(5)取余运算:% 相当于是整除运算,但是得到的结果是余数。
System.out.println(5 % 3);
结果为:2
(6)i++ 与++i;
int i=3;
i++;
System.out.println(i); //4
System.out.println(i++);//4
int j=i++;
System.out.println(j); //5
System.out.println(i); //6
i=i++;
System.out.println(i); //6
i=i++;
System.out.println(i); //6
i++就是先将i放进一个临时存储区 ,然后i自身再加一。
++i就是直接对这个数+1,然后用于之后的运算。
2、赋值运算符
(1)+=
int a = 2;
a +=1;
这里的+=就是:a = a+1
(2)-=
int b = 1;
b -=2;
这里的-=就是:b=b-2
(3)*=
int a = 3;
c *= 2;
这里的*=就是:c = c*2
(4)/=
int d = 4;
d /= 3;
这里的/=就是d = d / 3
(5)=
这是赋值的意思,是将等式右边的值赋值给等式左边。
3、比较运算符
> 、< 、== 、>= 、<=
4、位运算符:指的就是二进制之间的运算
位运算符包括:&、 |、 >>、 <<、 ^
其中>>就是数位向右移两个,取重合位置的部分作为结果。
<<就是数位向左移两位,取重合位置的部分作为结果。
5、三目运算符
就是if else语句
int a = 5;
int b = 8;
int c = a>b?a:b;
就是如给a>b 为真即为5 ,也就是if;如果为假即为8,也就是else。