java基础总结(1)

java基础总结

变量的引入
什么是变量:
在计算机中变量代表的是一块内存空间。可以存放不同的数据,在某个时间点上,只能存放某个确定的值。
创建变量空间:

/*格式:
数据类型 空间名称(变量名);
数据类型 空间名称(变量名) =  值;*/

数据类型的转换
在java中,只要在内存中开辟出了一个空间,就相当于这个空间有严格的严格的数据类型。若是需要将不是某个类型的数据储存在到当前的空间,就需要进行数据类型的转换。

数据类型的转换分为两种:
自动类型转换:在基本类型中,所有的整数都默认为int类型,所有的小数都默认为double类型。并且如果在使用byte和short类型开辟空间并存放数据时,编译器会自动进行类型的检测,如果存放的数据能够在byte和short类型下存下,编译器会自动进行类型转换。
若存放的数据不在临界值范围内,在编译时就会报错。
将整数存放在小数空间时,也会发生自动类型转换。
在合理的范围内(字符的编码值),可以将整数直接储存到char空间中

强制类型转换:当变量空间中存放的数据和空间的类型不一致时,无法正常的存放下,可以采取强制措施。

//强制类型转换的格式:
//  (需要转换的类型)(需要转换的数据) ;       例如:
public static void main(String[] args){
	//正确形式
	int i = 123;
	//报错
	int i = 3.14;
	//若想将double类型的数据放入int类型中
	int j = (int)(3.14);
	System.out.println(j);
	//若想将数据定义为float类型或long类型
	float f = 3.14F;
	long l = 100L;
}	

运算符
赋值运算
在数学中," = " 的含义是左右两边的数字相等,而在java中," = " 表示的是将右边的结果存放在左边的空间(变量)中。
算数运算
运算符号:
" + " 、" - “、” * " 、" / " 分别对应数学中的加减乘除而 " % " 表示的求余(取模)
" ++ “、” - - " 表示的是自加自减
运算规律
加减乘除取模和数学中运算规律一致。在一个混合的运算中,先算乘法取模再算加减。
算术运算:

  1. 基本的运算:数据类型一致,运算结果和参与运算的数据保持一致。
  2. 参与运算的类型不一致(整数和小数):运算的结果一定是小数。
  3. " + "号有三个用途:
    1.表示数据的正负
    2.进行普通的加法运算
    3.它可以和字符串数据进行计算 例如:
int score = 100;
System.out.println("张三的成绩是:" + score);
//如果在进行算数运算的时候有字符数据参与,会将字符的编码值(ASCII码值)和数字进行运算。

自加、自减运算
运算规律:
1.它的优先级比其他的算数运算都要高。
2.它们需要和变量结合,目的是给变量空间+1或-1。
3.自加和自减可以在变量的左边,也可以在右边。
若在一个运算中,除自加和自减外,还有其他的运算时,需要考虑自加和自减的运算规律
在一个运算中,只有自加和自减,不考虑运算规则,直接运算。
自加:
++在变量的右侧:
它是需要将变量空间中的值在内存中临时划分一个新的空间存储,然后执行++运算,++执行完之后,将临时空间的值和其他符号进行运算。
++在变量的左侧:
直接给空间+1,然后将+1后的空间的值和其他运算符进行运算。
自减运算的规律与自加相同,只不过是空间 -1。
关系运算
运算符号:
" > " 、" < “、” >= “、”<=":相等于数学中的大于、小于、大于等于、小于等于
" == ":表示相等,与数学中的 " = " 含义相同
" != " :表示不相等
逻辑运算
类似于数学中的真假命题。
运算符号:
&、&&:逻辑与运算。两侧都为true的时候,结果为true,否则为false
| 、| | :逻辑或运算。两侧都为false的时候,结果为false,否则为true
!:非运算。非true为false,非false为true
^ :异或运算。两侧都为true或false的时候,结果是false,否则为true
&与&&的区别:
&:两侧都要参与运算。
&&:短路与运算,当运算符左边为false的时候,右侧表达式不参与运算。
| 与 | | 的区别:
| :两侧都要运算。
| | :短路或运算,当运算符左边为true的时候,右侧表达式不参与运算。
位运算
运算符号:
" & ":按位与运算
" | " :按位或运算
" ^ " :按位异或运算
" ~ ":按位取反(一元或单目运算)
" << " :左移运算
" >> " : 有符号右移运算
" >>> ":无符号右移运算
注意:
& 、| 、^ 它们既可以是逻辑运算符,也可以是位运算符。
如果运算符两侧是Boolean数据,那么它们就是逻辑运算符。
如果运算符两侧是数字,那么它们就是位运算符。

位运算:
	&:运算符两侧都为1的时候结果为1,否则为0
		十进制数									二进制数
		12									00000000 00000000 00000000 00001100
	&	9									00000000 00000000 00000000 00001001
	----------------------------------------------------------------------------
		8									00000000 00000000 00000000 00001000
	| :运算符两侧都为0的时候结果为0,否则为1
		十进制数									二进制数
		12									00000000 00000000 00000000 00001100
	|	9 									00000000 00000000 00000000 00001001
	----------------------------------------------------------------------------
		13									00000000 00000000 00000000 00001101
	^ :  运算符两侧相同(0或1)都为0,否则为1.
		十进制数									二进制数
		12									00000000 00000000 00000000 00001100
	^	9									00000000 00000000 00000000 00001001
	----------------------------------------------------------------------------
		5									00000000 00000000 00000000 00000101
	~ :  将二进制数位上的1变为0,0变为1
		十进制数									二进制数
	~	9									00000000 00000000 00000000 00001001
	----------------------------------------------------------------------------
		-10									11111111 11111111 11111111 11110110
	负数的二进制:
		1.先找到负数对应的正数的二进制
		2.对正数的二进制进行取反操作
		3.对取反后的数据+1
	<< :  将原来数据的二进制数位向左移动指定的位数,右侧空出来的补零,左侧移出的舍弃。
		十进制数									二进制数
		12 << 2								  00000000 00000000 00000000 00001100
	----------------------------------------------------------------------------
		48		  							00000000 00000000 00000000 0000110000
	任何一个二进制,向左移动n为,相当于给原数乘以2的n次方。
	>> :  有符号右移,每向右移动一位,右侧移出不要,左侧空出来的原来是什么就补什么。
		十进制数									二进制数
		12 >> 2								  00000000 00000000 00000000 00001100
	----------------------------------------------------------------------------
		3		  	 					 		00000000 00000000 00000000 00001100
	任何一个二进制,向右移动n为,相当于给原数除以2的n次方。
	>>> :  无符号右移,向右移动的时候不考虑符号位,左侧高位空出来的统一补零。
		十进制数		 							二进制数
		12 >> 2							      00000000 00000000 00000000 00001100
	----------------------------------------------------------------------------
		3		  	  							00000000 00000000 00000000 00001100

三元运算
运算符号:
表达式1 ? 表达式2 :表达式3
运算原则:
表达式1必须是一个Boolean结果。
当表达式1为true的时候,将表达式2的结果作为三元运算的结果。
当表达式1为false的时候,将表达式3的结果作为三元运算的结果。

猜你喜欢

转载自blog.csdn.net/weixin_43279958/article/details/89280013
今日推荐