java语法基础

in java with 0 comment

进制之间的转换

(1)正十进制转换为二进制的方式
   a.除二取余法,让十进制整数不断地除以2取出余数,直到商为0时将余数逆序排列。
   b.拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重则下面写1否则写0。
 如:
	 45 = 32 + 8 + 4 + 1   

	 128  64  32  16  8  4  2  1
	  0   0   1   0   1  1  0  1   => 0010 1101
(2)正二进制转换为十进制的方式
   a.加权法,让二进制的每个数字乘以当前位的权重,然后再累加起来。
	 如:
		0010 1101 => 0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
				  => 0 + 0 + 32 + 0 + 8 + 4 + 0 + 1
				  => 45
(3)负十进制转换二进制的方式
   a.先将十进制的绝对值转换为二进制,然后进行按位取反再加1.
	 如:
		-45 => 将绝对值转为二进制:0010 1101
			=> 进行按位取反:      1101 0010
			=> 再加1:             1101 0011  

	   -45 + 45 = 0            
		  -45:1101 0011
		   45:0010 1101 +
	   -------------------------
			 1 0000 0000 (假设只能存储8位二进制,此时最高位1会被丢弃,溢出)
(4)负二进制转换为十进制的方式
   a.先减1再按位取反,然后转换为十进制整数后添加负号.
	 如:
		1101 0011  => 先减1:      1101 0010
				   => 按位取反:  0010 1101
				   => 转为十进制:45
				   => 添加负号:  -45

整数类型

在Java语言中用于描述整数数据的类型有:byte、short、int、long,推荐使用int类型。
其中byte类型在内存空间中占1个字节的大小,表示范围是:-128 ~ 127.
												-2^7 ~ 2^7-1.
其中short类型在内存空间中占2个字节的大小,表示范围是:-32768 ~ 32767.
												-2^15 ~ 2^15-1.
其中int类型在内存空间中占4个字节的大小,表示范围是: 正负二十一亿之间。
												-2^31 ~ 2^31-1.
其中long类型在内存空间中占8个字节的大小,表示范围是:比int类型还大的数.
												-2^63 ~ 2^63-1.
在Java程序中若出现直接写出的整数数据叫做 直接量/字面值/常量,
如:66,直接量默认为int类型,若希望表达更大的直接量则需要在直接量的后面加l或者L,来表示long类型的直接量,推荐使用L。

分支结构

1 if分支结构
   if(条件表达式){
	  语句块;
   }

2 if-else分支结构
   if(条件表达式){
	  语句块1;
   }
   else{
	  语句块2;
   }

3 if-else if-else分支结构
   if(条件表达式1){
	  语句块1;
   }
   else if(条件表达式2){
	  语句块2;
   }
   ...
   else{
	  语句块n;
   }

4 switch-case分支结构
   switch(变量/表达式){
	  case 字面值1: 语句块1; break;
	  case 字面值2: 语句块2; break;
	  ...
	  default:语句块n;
   }

循环结构

1 for循环
   for(初始化表达式; 条件表达式; 修改初始值表达式){
	  循环体;
   }
2 while循环
	while(条件表达式){
	   循环体; 
	}
3 do-while循环
   do{
	  循环体;
   }while(条件表达式);

数组

数组的声明
	   数据类型[] 数组名称 = new 数据类型[数组的长度]; - 动态方式
	如:
	   int[] arr = new int[3];   - 声明一个长度为3元素类型为int类型的一维数组;
	   int num = 3;              - 声明一个初始值为3元素类型为int类型的变量;
	   int arr[] = new int[3];   - 不推荐使用
	注意:
	   只有声明数组时[]中的数字才代表数组的长度,否则一律代表下标;
元素的初始化
   数据类型[] 数组名称 = {初始值1, 初始值2, ...}; - 静态方式