黑马程序员_Java基础学习笔记2
来源:互联网 发布:js导出excel表格插件 编辑:程序博客网 时间:2024/05/23 13:53
--循环结构
(while、do—while、for)
(do - while不管判断是否为true,都会执行一次)
遍历----就是循环
\t :制表符 (常用于制作表格形式)
-------------------- for(表达式1;条件;表达式2)-----------------------------------
局部代码块,常用于节省内存空间。如果一个变量只在一个代码中需要运行,则把这个代码和这个变量定义在具备代码块中即可。也可以叫做设置局部变量的生命周期。
for语句无限循环是省略for中的三条语句。
用嵌套循环做图形,每行递增时:改变内循环的条件;每行递减时:改变内循环的表达式初始值;
-break(跳出) :应用范围----选择结构和循环结构 (直接退出结构)
-continue(继续) :应用于循环(跳出本次循环,进行下一次循环)
为循环起别名: 在循环语句前加上 : 别名 冒号 如 : s :for( ; ; ;)
作用:在循环中 break和continue后面跟循环的别名,来控制指定循环 如, break s;
---注意break和continue的作用范围;
函数
--函数的定义:(为了提高代码的复用性,对代码的抽取)
函数就是定义在类中的具有特定功能的一段独立小程序; 函数也称为方法;
--函数的格式:
访问修饰符 返回值类型 函数名(参数类型 形参1,参数类型 形参2,.........)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的数值。
-return : 用于结束函数。
返回值:该值会返回给调用者。
--函数的特点:
-定义函数可以将功能代码进行封装;
-便于对该功能进行复用;
-函数只有被调用时才会被执行;
-函数的出现提高了代码的复用性;
----对于函数没有具体的返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。
注意:1,函数中只能调用函数,不可以在函数内部定义函数;2,定义函数时,函数的结果应该返回给调用者,交由调用者处理。
---定义一个函数的思路:
1,既然一个函数是一个独立的功能,那么先明确该功能的运算结果是什么;
2,在明确定义该功能的过程中是否需要未知的内容参与运算。
---函数的重载(overload)
重载概念:在同一个类中,允许存在一个以上的同名函数,只要参数个数或参数类型不同即可;
重载特点:与返回值类型无关,只看参数列表。
重载好处:方便阅读,优化了程序设计。
数组
--概念: 同一种类型数据的集合,其实数组就是一个容器。
--数字的好处:可以自动给数组中的元素从零开始编号,方便操作这些元素。
格式1: 元素类型[ ] 数组名 = new 元素类型[ 元素格式或者数组长度] ;
如: int[ ] arr = new int [ 4]; ( arr的类型是数组类型 )
---格式1是动态初始化,没有手动的进行赋值,jvm会自动的为其初赋值。
格式2: 元素类型[ ] 数组名 = new 元素类型[ ] { 元素1,元素2,........};
如: int[ ] arr = new int[ ]{3, 4 ,4, 2 , 5 ,8}; //这种写法可以先声明后建对象。
int[ ] arr = {3, 4 ,4, 2 , 5 ,8}; //这种无法分开写
---格式2是静态初始化,在定义的时候手动就为其赋值了。
数组的长度:---> 数组名。Length
数组的最大角标:---> 数组名。Length-1
---内存结构:
--java程序在运行时,需要在内存中分配空间;为了提高运算效率,对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据的方式和内存的管理方式。
(划分了以下5个区域):
--栈内存:
用于存储局部变量,当数据使用完,所占空间会自动释放。
方法进占时就会压栈,也就是后进的把前面先进的压在下面,如main()函数就在栈的最底部。如,枪的弹夹,为弹夹上子弹一样。
方法在使用完以后,会出栈,即弹栈。
--堆内存:
1,数组和对象,通过new建立的实例都存放在堆内存中;
2,每一个实体都有内存地址;
3,实体中的变量都有默认初始化值;
4,实体不在被使用,会在不确定的时间内被垃圾回收器回收。(数组变量指向 null时,数组所占内存就会变成垃圾)
--方法区、本地方法区、寄存器(这三个区域在后面讲解)
(引用类型相当于:快捷方式)
--数组常出现的错误:
ArrayIndexOutofBoundsException: 操作数组时,访问到了数组中不存在的角标
NullPointerException : 空指针一次,当引用没有任何指向时,即为null的情况,该引用还在用于操作实体。
- 黑马程序员_Java基础学习笔记2
- 黑马程序员_Java基础学习笔记
- 黑马程序员_java基础学习2
- 黑马程序员_java基础_java异常笔记
- 黑马程序员_java基础学习
- 黑马程序员_JAVA学习笔记2
- 黑马程序员_java基础学习IO流学习笔记
- 黑马程序员_java学习笔记
- 黑马程序员_毕向东_Java基础_DAY01学习笔记
- 黑马程序员_毕向东_Java基础_DAY02学习笔记
- 黑马程序员_学习笔记_Java基础_多态
- 黑马程序员_学习笔记_Java基础_GUI
- 黑马程序员_学习笔记_Java基础_网络编程
- 黑马程序员_java基础加强学习笔记之注解
- 黑马程序员_java基础_多线程学习笔记
- 黑马程序员_java面向对象基础学习笔记
- 黑马程序员_java基础学习笔记04_面向对象
- 黑马程序员_java基础学习笔记07_IO流
- 前天买的笔芯,正好来黑一下5c
- 2D中如何判断一点在另一个点的那个方位
- UVa 10300 - Ecological Premium
- e-model算法
- WMIC
- 黑马程序员_Java基础学习笔记2
- nginx+phpmyadmin
- 归并排序与逆序对的个数
- sicily 1050 Numbers & Letters
- 兎子产子(斐波那契数列)
- JS和Java实现链表类的基本功能
- python中easy_install工具的使用
- win7眼睛保护色设置方法
- windows上svn服务器的搭建