Java第二章(续)

一、常量的分类

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。

 

发布了11 篇原创文章 · 获赞 0 · 访问量 259

猜你喜欢

转载自blog.csdn.net/yihjh/article/details/104214559