Java学习日记----基础2

------- android培训java培训、期待与您交流! ----------

 

14 for语句

   14.1 格式:for(初始化表达式;循环条件表达式;循环后的操作表达式) { 

              执行语句;   }  

      注:初始化表达式只执行一次,只要条件不满足,循环就结束.

   14.2 for与while的区别: 

       1> 如果变量只为循环体的增量存在,控制循环的次数,for和while间是可以的互换的.但是用for语句,内存会相对优化一点. 

       2> 变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句中有效,for语句执行完毕,该变量在内存中被释放.

   14.3 循环语句的其它特点:

        1> 只要是可执行语句,就可以作为一个合法初始化表达式存在. 

        2> 当表达式很多时,可以用","隔开. 

        3> 无限循环的最简单表现形式为:for(;;){} ;    while(true){}  

        4> 条件表达式要么为真,要么为假. 

        5> 对于for条件表达式不写,默认为true. 

   14.4 for嵌套  

        1> 打印矩形:外循环控制行数,内循环控制列数.  

        2> 打印三角形:尖朝上,可以改变内循环的条件,让条件随外循环变化;  尖朝下,可以改变内循环的初始化值,让初始化值随外循环变化.

15 break语句和continue语句

    15.1 break(跳出): 应用于选择结构(switch)和循环结构(for  while   do while),用于跳出所在循环或叫当前循环. 

       continue(继续): 应用于循环结构(继续循环),用于结束本次循环,继续下次循环. 

         注意:当break和continue单独存在时,下面不可以有任何语句,因为会被屏蔽掉,执行不到.

16 函数 

  16.1 概念:定义在类中的有独立功能的一段程序,也称为方法 

    格式: 修饰符  返回值类型  函数名(参数类型  形式参数, 参数类型  形式参数 ) { 

          执行语句; 

          return 返回值;   } 

    注:   返回值类型:函数运行后的结果的数据类型. 

        参数类型:  是形式参数的数据类型.

         形式参数:  是一个变量,用于存储调用函数时传递给函数的实际参数. 

         return  :  用于结束函数.   返回值  :  该值会返回给函数的调用者.

   16.2 函数的特点 

       定义函数可以将功能代码进行封装,便于对该功能进行复用,提高代码的复用性.函数只有实调用才会执行,对于没有具体返回值的情况,返回值类型用关键字void表示,那     么函数中的return语句如果在最后一句,可以省略为写.  注:函数中只能调用函数,不可以在函数内部定义函数,定义函数时,函数的结果应该返回 给调用者,交由调用者处理.

    16.3 如何定义一个函数: 编写程序就是在不断的实现功能,而在Java中最小的功能单元就是函数.   定义一个函数的步骤: 1> 先明确函数的运算结果(返回值). 2> 在定义功能过程中,是否需要未知内容参与运算(参数).

   16.4 函数的重载 :1> 重载(overload)的概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可.也就是说,重载只和参数列表有关,和返回值类型是没有关系的.  

      2> 什么时候用重载:当定义的功能相同,参与运算的内容不同时,那么这时就定义一个函数名称以示其功能,而通过参数列表的不同来区分多个同名函数.注: 重载的好处就是方便于阅读,优化程序设计.

17 数组 

  17.1 概念:  同一种数据类型的集合,其实数组就是一个容器. 

     数组的好处: 可以自动给数组中的元素从0开始编号方便于操作这些元素.

     格式  :  1>元素类型[]  数组名 = new 元素类型[元素个数或者数组的长度];

          2>元素类型[]  数组名 = new 元素类型[]{元素1,元素2,......};

   17.2 内存结构

      Java在运行时,需要在内存中分配空间,为了提高运行效率,又对空间进行不同区域的划分  ,因为每一片区域都有特定的处理数据的方式和内存管理的方式.总共划分了5种          区域: 方法区,本地方法区,寄存器,栈内存,堆内存.

        栈内存: 用于存储局部变量,当数据使用完,所占的空间会自动释放.堆内存: 通过new建立的实例都存放在堆内存中,每一个实例都有地址.实体中的变量都有默认的初始化值,实体不再被使用,会在不确定的时间内被垃圾回收器回收.例:int[] x = new int[3];  首先会在栈内存中开辟一个空间,存放x;然后在堆内存中产生一个空间(这个空间就是数组),这个空间又被分成三份,堆内存中的每一个实体都有一个存放位置,在内存中是用地址来表示数据的存放位置的, new int[3] 这个数组在内存中存放总有一个起始位置,假设这个起始位置为0x0079,那么这个地址0x0079作为数组在内存中存放的首地址值,用它标识数组的存放位置,就将0x0079赋值给栈内存中的x,这时就称为x指向了这个数组,或 者叫x引用了这个数组. 

    17.3 默认初始化值 

       堆内存中的实体用于封装数据;而堆内存中实体的数据都有默认初始化值,如 int --> 0;   double --> 0.0; float --> 0.0f; boolean --> false; char --> 空格 等. 引用数据  类型的初始化值默认为空.

   17.4 Java的垃圾回收机制

     Java成长自C++,它优化C++的一些特性,从而变得简单易学易用,尤其是在内存这一块,它的优化比c++做得好,C++是由程序员手动调用程序支清理内存中的垃 圾,Java自动启动垃圾回收机制将内存中不再使用的实体清理掉,注意,是不定时. 

  17.5 数组有一个可以直接获取数组元素个数的属性,length,用法:数组名.length 

  17.6 对数组的常见操作: 

       1> 获取最值(max,min). 

       2> 排序(选择排序,冒泡排序).

        3> 查找(折半查找,查表法--进制转换)

   17.7 二维数组 

       1> 格式1:int[][] arr = new int[3][2];定义了一个名为arr的二维数组,这个二维数组中有三个一维数组,每一个一维数组中有2个元素,一维数组的名称分别为arr[0],arr[1],arr[2],给第一个一维数组的一角标赋值78的写法是arr[0][1] = 78; 

       2> 格式2:int[][] arr = new int[3][]; 二维数组中有三个一维数组,每个一维数组的默认初始化值为null. 可以对这三个一维数组进行初始化 arr[0] = new int[2];  arr[1] = new  int[3];arr[2] =new int[5];  

      3>  二维数组的书写格式:    int[][] y , int y[][] , int[] y[],代表同一个数组.    但int[] x,y[]代表两个数组,分别是int[] x和int[] y[].

转载于:https://www.cnblogs.com/kftghai/archive/2012/12/08/2808190.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值