break 跳出
break作用的范围: swich或是循环语句。
break存在的时候,下面不能单独定义爱他语句。
break跳出所在的的当前循环,
多重循环时,break可以通过标号跳出指定循环。
continue 继续
continue作用的范围: 循环结构
continue结束本次循环 继续下次循环
如果continue单独存在时,下面不要有任何语句----执行不到
函数 定义在类中的一段具有特殊功能的一段程序 也成为方法
函数的重载 在同一个类中
允许存在一个或以上的同名函数,只要它们的参数个数或是类型不同即可。
特点: 与返回值无关
Java是严谨性语言 函数出现不确定性 调用失败~
数组格式1 元素类型[] 数组名 = new 元素类型[元素个数或长度];
//需要一个容器 存储不明确的数据
数组格式2 元素类型 数组名[] = new 元素个数[元素个数或长度]{内容};
//需要一个容器 存储已知的数据
int arr[] = new int[5];
int[] arr = new int[]{1,2,2,3,4}// int[] arr = {1,2,2,3,4}
栈内存--->存储的都是局部变量 而且变量所属作用域一旦结束 该变量自动释放
堆内存--->存储的数组和对象 凡是new建立的都存在堆中
特点:
1.每一个实体都有首地址值
2.堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同,整数是0,小数的0.0或者0.0f Boolean false true char '\u0000' 垃圾堆在不定时会被回收
arrays.binarySearch();
类
定义类 其实就是在定义类中的成员
成员 成员变量<-->属性,成员函数<-->行为。
成员变量和局部变量的区别
1.成员变量定义在类中 真个类中都可以访问
局部变量定义在函数,语句局部代码块中,只在所属的区域有效
2.成员变量存在于堆内存的对象中,
局部变量存在于栈内存的方法中
3.成员变量随着对象的创建而存在,随着对象的消失而消失
局部变量随着所属区域的执行而存在,随着所属区域的结束而释放
4.成员变量都有默认初始化值
局部变量没有默认的初始化值
匿名对象----->没有名字的对象
当对象对--方法--仅调用一次的时候 可以使用匿名对象 记住 是方法 不是对象~
但匿名对象可直接作为实参进行传递
例:
class Car{
int num;
}
new Car();
Car c = new Car();
c.num = 2;
new Car() = 2;
封装 隐藏对象的属性和实现细节 仅对外提供公共访问方式
Good:提高了安全性 提高重要性 便于使用 将变化隔离
原则: 将不需要对外提供的内容都隐藏起来
属性都隐藏 提供公共方法对其访问
private:私有 是一个权限修饰符 用于修饰成员 私有的内容只在本类中有效
注意: 私有仅仅是封装的一种体现而已
构造函数
特点:
1.函数名与类名相同
2.不用定义返回值类型
3.没有具体的返回值
作用:
给对象进行初始化
注意:
1.默认构造函数
类中如果没有定义构造函数,那么该类中会有一个默认的空参数构造函数
如果类中定义了指定的构造函数,默认的构造函数即消失
一般函数和构造函数的区别:
1.构造函数对象创建时就会调用与之对应的构造函数对对象就行初始化
2.一般函数对象创建后 需要函数功能时才调用
1.构造函数对象创建时 仅调用一次
2.一般函数对象创建后 会调用多次
什么时候定义构造函数?
在描述事物时,该事物已存在就具备的一些内容,这些内容都定义在构造函数中
this:代表对象---->当前对象--->就是所在函数所属对象的引用--->
即为调用this的函数的对象
1.成员变量和局部变量重名时,可以用this关键字区分
this.name = name;
构造函数调用构造函数
this(name);//必须在第一行 因为初始化动作先执行
static 静态--->关键字
特点
1.static是一个修饰符,用于修饰成员
2.static修饰的成员被所有的对象共享
3.static优先于对象存在,因为static的成员随着类的加载就存在
4.static修饰的成员多了一种调用方式--->直接被类名所调用---类名.静态成员
5.static修饰的数据是共享数据,对象中的存储的是特有的数据
成员变量和静态变量的区别
1.两个变量的生命周期不同
成员变量随着对象的创建而存在 随着对象的被回收而释放
静态变量随着类的加载而存在 随着类的消失而消失
2.调用方式不同
成员变量只能被对象调用
静态对象可以被对象调用,还可以被类名调用
3.别名不同
成员变量又称-->实例对象
静态变量也称-->类变量
4.数据的存储位置不同
成员变量存储在--堆内存--的对象中,所以也叫对象的特有数据
静态变量存储在--方法区的静态区,所以也叫对象的共享数据
注意事项:
1.静态方式只能访问静态成员(非静态既可以访问静态,又可以访问非静态)
2.静态方法中不可以使用this或者super关键字
3.主函数是静态的
main函数解析--特殊之处:
1.格式固定
2.被jvm所识别和调用
public static void main(String[] args){}
public: 权限必须是最大的public
static:不需要对象调用,直接用主函数所属类名调用
void: 没有具体的返回值
main: 函数名,不是关键字 只是一个JVM识别的固定的名字
String[] args: 主函数的参数列表,是一个数组类型 每个元素都是字符串
静态什么时候用
1.静态变量
当分析对象所具备的成员变量的值都是相同的,这个成员便可以被静态修饰
只要数据在对象中都是不同的,则为对象的特有数据,必须存在于对象中,是非静态的。 倘若是相同的数据,对象不需要修改,只需要使用即可,不需要存在于对象中,定义成静态的。
2.静态函数
函数是否用静态修饰参考-->该函数功能是否访问到对象中的特有数据;即该功能是否需要访问非静态的成员变量,是则为非静态,反之为静态。
静态代码块:
随着类的加载而执行,而且只执行一次。
作用:
用于给类进行初始化,
Atteneion:如果类中的方法都是静态的,则该类是不需要创建对象的,为了保证不让其创建该类对象,可以将构造函数私有化。