2、Java基础


 二、java基础


1、系统结构图(xmind)

PS:语句,函数,数组部分未列出。

2、Tips

——1. 标识符名称规范

包名:多单词组成时所有字母都为小写:xxxyyyzzz。

类名与接口名:多单词组成时,多有单词的首字母大写:XxxYyyZzz。

变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz。

常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ。

——2. 进制转换

1.十进制转二进制原理:对十进制数进行除2运算。

2.二进制转十进制原理:二进制乘以2的过程。

3.十进制转八进制原理:八进制即是二进制位,3个二进制位即为一个八进制位。

4.十进制转十六进制原理:十六进制同为二进制位,由4个二进制位组成一个十六进制位。

5.负数的二进制表示形式就是对应的正数二进制取反加1

       栗:求-8的二进制表现形式:

                                      -7

                        0000-0111   

     取反:        1111-1000

      加1  :         1111-1001

   负数的二进制最高位永远是1.

——3. 变量

1.整数默认类型:int类型,小数默认类型:double类型。

2.定义long类型变量时需要在数值后加上一个"l",就可以让编译器知道这个数值是long类型了

     栗:long l = 123456789l;

3.同理定义flaot类型是在数值后加上一个"f"即可。

     栗:float f = 2.3f;

——4. 类型转换

     栗:

class ClassCastDemo
{
	public static void main(String[] args)
	{
		byte b = 3 + 9;
		byte b1 = 3;
		byte b2 = 9;
		b = b1 + b2;
		System.out.println(b);
	}
}

    运行:

   原因分析:报错的位置在第八行的b = b1 + b2,而之前的b = 3 + 9却没有报错,byte的范围是-127~128即8位,确保了这些数字都在byte的范围内,3和9都是常量,编译器知道结果是12,依旧在byte的范围之内,自动提升之后在运算不会报错,而b = b1 + b2中b1和b2都是变量,编译器并不知道他们的值是多少,在两个byte数据相加时,都会被自动提升为int类型,所以和也是int类型,再赋值给byte类型的b时就会报错。

——5. 算术运算符

b=++a与b=a++的不同:

执行b=++a时,先运算++a并保存进变量池a中,之后在将a赋值给b。

执行b=a++时,先运算b=a部分,之后再运算a++,所以b的值为a之前的值。

——6. 逻辑运算符

&&:和&运算的结果是一样的,但是运算过程有点小区别,当左边为false时右边不参与运算,可提升效率。

&:无论左边的运算结果是什么,右边都会参与运算。

同理,||和|相同,前一个当左边为true时右边不参与运算,后一个无论左边为什么,右边都餐与运算。

——7. 位运算符

1. &,|符号同样在位运算符中,运算时先将两边量变为2进制,再运算。

2. >>左移几位其实就是该数据乘以2的几次方。

    << 右移几位其实就是改数据除以2的几次方。

    >>对于高位出现的空位,原来高位是什么,就用什么补这个空位,而>>>无符号右移,在数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。





   




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章