黑马程序员--java基础学习笔记4

一、笔记内容概述:

函数-定义、函数-格式、函数-细节-void、函数-细节-错误格式、函数-细节-定义思想错误、函数-两个明确、函数-内存加载过程、函数-重载、数组-概述、数组-定义、数组-内存空间划分、数组-栈内存-堆内存、数据常见问题。

二、常用内容介绍:

1.编写函数体时,两个明确:

a.这个功能的结果是什么?(其实就是在明确函数的返回值类型)。

b.这个功能的实现过程中是否需要未知内容参与运算?(其实就是在明确参数列表)。

c.函数返回值类型与参数列表中的参数类型没有关系。(看下面)

public static double add(int a,int b)

其中double的定义与参数列表int的定义没有直接关系。

2.函数的重载:

定义:在同一个类中,允许存在一个以上的同名函数,

只要它们的参数个数或者参数类型不同即可。

好处:方便于阅读,优化了程序设计。

实现原理:函数的功能一样,仅仅是参数运算的未知内容不同时,

可以定义多函数,却使用统一函数名称,这样方便阅读。

在调用时,虚拟机通过参数列表的不同来区分同名函数。

细节:

重载与返回值类型无关,只看参数列表。

3.栈内存和堆内存

a.栈内存:用于存储局部变量,当变量所属的作用域一旦结束,所占空间会自动释放。

b.堆内存:

数组和对象,通过new方式建立的实例都存放在堆内存当中。

每个实体都有内存地址值。实体中的变量都有默认的初始化值,

根据类型的不同而不同。整数类型是0,小数类型是0.0或者0.0f

boolean类型值是false,char类型是‘\u0000‘

如果将数组的引用实体设置为null,也就是实体不再被使用,那么会在

确定的时间内被垃圾回收器回收。

三、经典示例及讲解:

1.理解嵌套for循环的特点:

package com.date4;
/**
 *打印效果:
 *    * * * * *
 *     * * * *
 *      * * *
 *       * *
 *        *
 */
public class Demo1 {
	public static void main(String[] args){
		/**
		 *需求:分为两部分进行打印,先打印空格,在打印*
		 */
		//1.控制外循环次数
		for(int i=0;i<5;i++){
			for(int j=0;j<i;j++){
				System.out.print(" ");
			}
			for(int z=0;z<5-i;z++){
				System.out.print("*"+" ");
			}
			System.out.println();
		}
	}
}

2.理解break和continue的使用

package com.date4;
/**
 *break和continue的使用
 *1.break中止循环,离它最近的那个循环,对外循环没影响
 *  continue,是跳过这次循环,继续下个循环。
 *2.这两个语句单独存在时,下面都不可以有语句,因为执行不到。
 *
 */
public class Demo2 {
	public static void main(String[] args){
		method2();
	}
	private static void method1(){
		for(int x=0;x<3;x++){
			for(int j=0;j<4;j++){
				System.out.println("x="+x);
				break;
			}
		}
	}
	private static void method2(){
		for(int x=0;x<3;x++){
			if(x==1) continue;
			System.out.println("x="+x);
		}
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-26 04:07:01

黑马程序员--java基础学习笔记4的相关文章

黑马程序员--java基础学习笔记5

黑马程序员--java基础学习笔记6 一.笔记内容概述: 数组-第二种定义格式.数组-常见操作-遍历-最值-选择排序-冒泡排序-排序位置置换代码提取.数组-排序的性能问题.数组-常见功能-查找-折半查找.进制转换-查表法-整合. 二.常用内容介绍: 1.数组初始化的三种方式: int[] arr = new int[3]; int[] arr = new int[]{1,2,3}; int[] arr = {1,2,3}; 2.查表法: 如果数据中出现了对应关系,而且对应关系的一方是有序的数字编

黑马程序员--java基础学习笔记8

 一.笔记内容概述: 面向对象(数组工具对象建立-文档注释-单例设计模式&内存图解).继承.单继承和多重继承. 二.常用内容介绍: 1.继承的好处:提高了代码的复用性;让类与类之间产生了关系;开发最终的核心内容:不断地创建对象,使用对象,并维护着对象之间的关系. 2.什么时候使用继承? 当类与类之间存在着所属关系的时候,就定义继承;java不直接支持多继承,因为多个父类中如果有相同成员时,就会出现调用的不确定性;java中通过多实现implements的方式来间接体现多继承; 3.如何学习一

黑马程序员--Java基础学习笔记【单例设计模式、网络编程、反射】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 设计模式分类: 创建模式:是对类的实例化过程的抽象化,又分为类创建模式和对象创建模式 类创建模式:工厂方法模式 对象-:简单工厂(静态工厂方法)模式.抽象工厂模式.单例模式.建造模式- 结构模式:描述如何将类或者对象结合在一起形成更大的结构 适配器模式.缺省模式.合成模式.装饰模式(包装模式).门面模式- 行为模式:对不同的对象之间划分责任和算法的抽象化 不变模式.策略模式.迭代子模式.命令模

黑马程序员--Java基础学习笔记【序列化、多线程】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 序列化流与反序列化流 ObjectOutputStream 对象输出流 writeObject(Object obj) 可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中 ObjectInputStream对象输入流 readObject(Objectobj) 从源输入流中读取字节序列,反序列化为一个对象并返回 序列化:将数据分解成字节流,以便存储在文件中或在网络上传输

黑马程序员--Java基础学习笔记【异常处理】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 异常 异常就是Java程序在运行过程中出现的导致程序无法正常运行的错误. Java 中异常继承体系,顶层的类 java.lang.Throwable java.lang.Exception 所有异常的超类 RuntimeException 运行时异常可以不处理 非RuntimeExceptioin非运行时异常必须捕获处理 java.lang.Error 所有错误的超类 异常处理机制 当程序中抛

黑马程序员--Java基础学习笔记【正则表达式、常用API】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 正则表达式 正则表达式的组成规则 java.util.regex.Pattern 常见组成规则 字符集合 [abc] a.b.c中任意一个字符 [^abc] 除了a.b.c的任意字符 [a-z] a-z中的任意一个字符 [a-zA-Z0-9] a-z.A-Z.0-9中任意一个字符 [a-z&&[^bc]] a-z中除了b和c以外的任意一个字符 预定义字符集 .任意一个字符 \d 任意一个

黑马程序员--java基础学习笔记6

一.笔记内容概述: 面向对象(概述&举例).类与对象的之间的关系.类与对象体现&细节.对象的内存体现.成员变量和局部变量的区别.类类型参数.匿名对象.基本数据类型参数传递图解.引用数据类型参数传递图解.封装&代码示例.面向对象(封装&思想).二维数组&定义方式&内存图解&另一种定义方式&应用场景. 二.常用内容介绍: 1.面向对象的特征: a.封装:将具体动作封装起来,方便调用,提高了代码的复用性和安全性. b.继承:继承某个类后,可以直接调

黑马程序员--Java基础学习笔记【IO流-字节流、转换流】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- IO 流 常用基类 字节流 InputStreamOutputStream 常用方法 int read() // 读取一个字节,以 int 形式返回 intread(byte[] b) // 读取最多数组长度个字节并存入该数组,返回实际读取字节 void write(int d) // 写出一个字节 voidwrite(byte[] d) // 将给定字节数组中的所有字节全部写出 void w

黑马程序员--Java基础学习笔记【文件操作、递归】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 文件操作 文件和目录路径名的抽象表示形式. 成员变量 StringpathSeparator= File.pathSeparator; // 路径分隔符 System.out.println(pathSeparator); // ; Stringseparator= File.separator;// 默认名称分隔符 System.out.println(separator); // \ 构造

黑马程序员--Java基础学习笔记【集合-Map】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- Map 接口 Map 接口定义的集合,又称查找表 Map 接口和 Collection 接口没关系 Map 集合派系,存储映射键值对 不允许重复的键,每个键最多映射 1 个值 根据内部数据结构不同,Map 接口有多种实现类: 常用的有内部为 hash 表实现的 HashMap 和内部为排序二叉树实现的 TreeMap Map 接口和 Collection 接口的不同 Map 和 Collect