二,java简介

(1)位操作

&(按位与),|(按位或),^(按位异或)

&,两者为1则为1|,两者中有一个是1则为1^,两者不同则为1

原码:正数的原码是二进制数;负数的原码是二进制的最高为设为1

反码:正数的反码是原码本身;负数的反码是符号位不变,其他位取反。

补码:正数的补码是原码本身;负数的补码是负数的反码加1

左移(<<):在二进制数的右边加0

带符号右移(>>):在二进制左边,正数加1,负数加0

不带符号右移(>>>):在二进制左边加0

(2)数组

数组属于引用数据类型,先在栈中声明数组名称,然后使用时需要在堆中开辟内存空间

数组的动态初始化,开辟数组的时候并不知道数组中的数值,而是用默认值:

数据类型  数组名称[]=new 数据类型[长度]

数据类型[]  数组名称=new 数据类型[长度]

关键字new表示引用数据类型,要进行堆空间的开辟,数组中的默认数值为0,默认字符串为null

例如:int scorce[ ]=null,在栈中开辟空间,但未指明具体的空间

数组的静态声明,开辟数组的时候设定初始值:

数据类型  数组名称[]={若干数值……}

(3)二维数组

数据类型  数组名称[][],用行列表示,多个一维数组的集合

动态初始化:

数据类型  数组名称[][]=new  数据类型[长度][长度]

静态初始化:

数据类型  数组名称[][]={{数值1,数值2},{数值3,数值4}}

(4)方法

方法就是一段可以重复调用的代码段

[权限][静态] 返回值类型  方法名(参数列表)

{

 方法体

 [return][返回内容]

}

如果要定义有返回值的方法,直接在返回值类型上写上数据类型即可。

(5)方法的重载

方法名称相同,参数的类型或个数不同,根据传入的参数个数或类型的不同,来调用相应的方法。

但是注意如下情况:

 public class MethodDemo05{

       public static void main(String args[]){

             

       }

       public static int add(int x ,int y){

              int temp = x + y ;

              return temp ;   // 将计算结果返回

       }

       public static float add(int x ,int y){

              float temp = x + y ;

              return temp ;   // 将计算结果返回

       }

 

};

重载看的不是返回值的类型,而是参数的个数和类型。

在方法的使用中使用return后,会返回到方法调用的位置继续执行。

在递归的调用中,必须有递归的结束点。

(6)方法和数组

一个方法可以接收或者返回一个数组,但是在接收数组的时候,注意数组时引用数据类型,所以方法中对数组所作的一切修改,最终会被保留下来。

例如:int a[10],b[10];a=b;///那么ab都指向同一片堆空间

public class MethodArrayDemo01{

       public static void main(String args[]){

             int temp[] = {1,3,5,7,9} ;      // 声明数组

              fun(temp) ;

              print(temp) ;

       }

       public static void fun(int []x){////temp传递给了x,则两者指向了同一片空间

              x[0] = 6 ;       // 修改第一个元素

       }

       public static void print(int[] x){

              for(int i=0;i<x.length;i++){

                     System.out.print(x[i] + "") ;

              }

       }

};

方法不管是接收还是返回数组,实际上最终都是要以数组的形式接收和返回:int[]  x

(7)数组操作相关方法

Java.util.Arrays.sort(数组名称)///进行排序操作

System.arraycopy(源数组名称,源数组开始下标,目的数组名称,目的数组开始下标,拷贝数组长度)///数组的拷贝

(8)java新特性对数组的支持

foreach输出:

for(数据类型  变量:数组名称){}

例如:

int[] a={1,2,23}

for( int  xa)

{System.out.println(x+"");}

可变参数:

正常情况下,一个方法在调用时必须明确的指定传入的参数,而且参数的个数必须统一,但是可变参数表示传入的参数可以不限定个数:

[权限][静态] 返回值类型  数组名称(数据类型 …参数名称){}

这样就可以在传入参数的时候传递任意多个参数,而且全部的参数是以数组的形式接收。

例如:

public class MethodArrayDemo06{

       public static void main(String args[]){

              int temp[] = {2,4,6,8} ;

             fun() ;            // 没有参数

             fun(1) ;   // 一个参数

             fun(1,3,5,7,9) ;      // 一个参数

              fun(temp) ;

       }

       public static void fun(int ... arg){

              for(int x:arg){

                     System.out.print(x + "") ;

              }

              System.out.println() ;

       }

};

posted on 2011-01-21 19:37  魔战  阅读(175)  评论(0编辑  收藏  举报