java的变量局部:不是声明在类体括号里面的变量

    作者:课课家教育更新于: 2016-02-18 16:32:32

    大神带你学编程,欢迎选课

      (1)必须要先赋值,后使用,否则通不过编译,局部变量没有默认初始化值

      (2)作用范围:定义开始到定义它的代码块结束

      (3)同一范围内,不允许2个局部变量命名冲突

      参数传递时,简单类型进行值转递 (参数进行传递时都会先去栈中生成一个副本的,使用结束后释放)

    java的变量局部:不是声明在类体括号里面的变量_java数组_课课家

      自动类型提升:

      byte a = 1;

      byte b = 2;

      a = a+b; //编译出错自动类型提升成int

      a += b; //自加没有自动类型提升问题

      类型自动提升规则:

      a和b作某种运算

      a和b中有double,结果就是double

      a和b中有float,结果就是float

      a和b中有long,结果就是long

      除此之外,结果都是int

      把高字节转成低字节,需要作强制类型转换. byte c=(byte)a+b;

      移位运算符:效率最高

      >> 有符号右移,补符号位

      移负数位,则将该数值加32后再进行移位

      数值的2进制是按照补码保存的

      >>> 右移后高位都补0

      逻辑运算符:

      &/|也可以作为逻辑运算符

      && 先判断前面一个条件,如果为假,则不用计算后一个条件

      || 先判断前面一个条件,如果为真,则不用计算后一个条件

      " + "运算符:

      两个操作的对象是数值时,是加法

      如果有一个是字符串时,则是字符串的连接

      流程控制语句:

      同Core C++

      switch中的变量类型只能是byte、 short、int、char四种类型以及enum类型

      switch(exp) exp 可以是整形表达式或者enum类型数据

      数组:

      声明数组:

      数组能以下列形式声明:

      类型[] array;

      类型 array[];

      注:

      java中推荐用:类型[] array;

      一个数组是一个对象

      声明一个数组没有创建一个对象

      声明时不用指定长度

      创建数组:

      创建基本数据类型数组:int[] i = new int[2];

      创建引用数据类型数组:Student[] s = new Student[100];

      数组创建后其中的元素有初始值

      类型 黙认值

      byte 0

      short 0

      int 0

      long 0l

      float 0.0f

      double 0.0d

      char \\u0000

      boolean false

      reference types null

      注:

      创建时一定要指定长度

      int[] i2=new int[]; //error

      初始化数组:

      声明、创建、初始化分开:

      int[] i; //定义数组

      i = new int[2]; //分配空间

      i[0] = 0; //初始化

      i[1] = 1;

      声明、创建、初始化在同一时间 :

      int[] i = {0,1}; //显示初始化 {}中有几个值,则数组长度为几

      Student[] s = {new Student(),new Student()};

      注: int[] i=new int[]{1,2,3}; //后面[]中不可以写数值

      int[] i1=new int[3]{1,2,3}; //error

      二维数组:(其实是一个一维数组,它的每一个元素又是一个一维数组)

      int[][] i1 = new int[2][3];

      int[][] i4 = {{1,1,1},{2,2,2},{3,3,3}};

      int[][] i3 = new int[][3]; //不允许高维没分配空间而先给低维分配空间

      int[][] i2 = new int[2][];

      i2[0] = new int[2];

      i2[1] = new int[3];

      数组长度:

      数组的属性length

      数组长度一旦确定,不可改变

      int[] i = new int[5]; 则i.length= 5

      数组拷贝:

      系统类System提供的

      static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

      src: 源数组

      srcPos: 从源数组哪个位置开始拷贝(位置指的是元素的下标)

      dest: 目标数组

      destPos: 拷贝的元素放到目标数组的起始位置

      length: 拷贝多少个

      数组排序:

      自己实现一个排序方法来进行排序

课课家教育

未登录