Java基础:
1)文件名以java结尾
2)所有内容,都要写在一个类中(类名字要和文件名相同)
3)Main函数是程序执行的入口。程序从main函数的第一条开始执行,执行到main函数结果为止。
4)Public static void main(String args[])
―――――――――――――――――――――――――――――――――――――――
标识符要求
1)只能是字母、数字、_、$。
2)数字不能作为标识符开头。
3)大小写敏感。
4)没有长度限制。
一般来说
类的名字,以大写字母开头。
变量和方法名字,以小写字母开头。
标识符应具有名字的含义。
―――――――――――――――――――――――――――――――――――――――
运算
Short s
S=s+1 出错,损失精度
/ 取整
整数才能取余%;
Java 整数类型是int
小数是double
―――――――――――――――――――――――――――――――――――――――
架包:
1)获得别人提供的jar文件
2)将jar文件的名字以及他的绝对路径配置到CLASSPATH
打包:
Jar -cvf abc.jar xxxxxxxxxxxxxxxxx
C: 在屏目显示打包过程。
V: 打包操作。
F: 指定压缩的文件名。
解压:
Jar -xvf abc.jar
解压到当前目录
――――――――――――――――――――――――――――――――――――――
函数(function):
函数(方法)是由一些相关代码组成的集合,目的为了解决一个特定的问题,或实现某一个特定的功能。函数(方法)有一定有一个自己的名字,通过函数执行函数中代码。
函数与main函数是并列的关系,绝不能写在Main函数体中。
函数都写在类中,一个类中不能同名的函数(除函数重载)。
1) 定义函数
2) 调用函数
一个函数返回值只有一个,要是返回多个就返回一个数组。
Return用法 函数结束
用来返回结果
---------------------------------------------------------------------------------------------------------------------
数组:
一维数组:
1. 管理类型一致大量数据
2. 创建时必须指明长度,数组创建好长度不能改变,如果变化数组长度只能重建
3. 内存空间连续,有索引下标值(从0开始,最大length-1 )。查询快,增删慢。
4. int[] a=new int[n]
char[] b={‘2’,’3’,’1’,’3’,’2’,’1’}
boolean[] c=new boolean[] {false,true}
String[] d={“as”,”abcadafs”}
Int len =a.length;
Int[] e=a;
拷贝
System.arraycopy(a ,0 ,b , 0 ,num);
A是源数组。
B 是目标数组。
二维数组:数组的数组
Int[][] a=new int[3][3];
Int[][] b={{1,22,3}{2,2,2}}
Int[][] c=new int[][]{{1,1,1}{2,2,2}}
Int[][] d=new int[4][]
D[0]=new int[5];
行: a.length
列:a[i].length
架包 java.util.Arrays
数组排序Array.sort()
-------------------------------------------------------------------------------------------------------------
编程总纲:
1、 符合人的思维
2、 可扩展性
3、 各司其职,各尽所能
4、 弱耦合性
5、 可复用性
对象:客观存在的事物都是对象 :
存在及合理
有什么——(实例变量)
做什么——(函数)
对象的属性可以是其他对象
对象还可以通过其他对象的函数产生联系
简单的对象构成复杂的系统。
Java中的对象:对现实对象的抽象(获得有用的,舍弃没用的),
存储空间中的一块数据区域。
类: 将对象的共性的抽象,客观事物在人脑在的主观反应。
在程序里类是创建对象的模板。
属性:实例变量(定义在类以内,方法之外)
1. 默认的初值(NULL)
2. 实例变量的使用范围。(至少类以内)
3. 实例变量调用必须有对象,实例变量和局部变量重名,局部优先原则
方法:()
做什么 方法的定义。
// 修辞符:返回类型,方法名(参数列表)异常
怎么做:方法的现实() {***********}
创建对象:
Class Student{
String name;// 成员变量(实例变量)----定义在方法之外,类以内的,没有Static修饰的变量
//修饰符 返回类型 函数名()
//做什么(定义)――――怎么做(函数体)
Public void eat( String fish)
{
//怎么做
}
Void sheep()
{
//******
}
}
―――――――――――――――――――――――――――――――――――――――
数据类型
引用类型数据 (数组、类对象)
基本类型数据
1实例变量和局部变量的区别
1、位置:局部变量定义在方法里面,实例变量定义在类以内方法之外
2、使用的范围:局部变量只能在定义他的方法里面使用,直接调用名就行。
实例变量至少可以在整个类内使用,使用时必须用又接调用
3、初使化:
局部变量使用前必须初使化,而实例是不需要初值化,系统默认初值。
4、局部变量在同一个方法里面不能重名,局部变量和实例变量可以重名,在方法里面采用就近原则。
Overloading 重载 (编译时多态或静态时多态)
1、 形参的顺序不同。
2、 形参的类型不同
3、 形参的名字不同——不可以
4、 形参的数量不同。
在一个类的内部,名相同参数不同的方法,这种现象称之为重载
编译器选择使用的方法,所以重载又被称之为编译时多态
对使用者屏蔽因为参数不同所造成的方法间的差异。
找方法时如果没有合适的,采取自动向上自动扩展原则, 调用一定要明确
强置转换
扩展: byte short int long float double
自动扩展
Char c=97
Char c=’a’
Char 自动转换 int
Override 覆盖(方法)
1、 访问控制权限只能扩大不能在缩小
2、 用于子类父类之间
3、 名字必须一样
4、 返回类型一样
属性的覆盖(叫遮盖)
――――――――――――――――――――――――――――――――――――――
构造方法
1、没有返回类型,方法名必须与类名相同。
2、构造方法不能手动调用,它只用在创建对象的时候,只出现在new之后,只要构造方法被调用运行,就一定有对象产生。
3、在一个对象的生命周期里,构造方法只能被调用一次。
4、类写好以后一定有构造方法。
如果你不写,系统会默认构造方法。Public classname(){}
如果你自己定义就调用现有写好的构造方法。
5、同一个类中的多个构造方法,一定是重载
6、在构造方法的代码块里可以写创建对象的同时需要运行的代码,也可以对属性赋值
7、构造方法之间可以相互调用。(this.classname())
对象初始化:
1、分配空间
2、初始化实例变量
3、执行构造方法
因为实例变量在他建对象
所谓的引用类型赋值就是创建对象
This
1、指当前对象(谁调用,就指代谁)
This不能出现在静态方法中。否则一定会出错了。
2、指代本类中的其它构造方法,在本类构造方法之间调用 。this这时只能写在构造方法的第一句!而且只能调用一次。
不能写在成死循环(递归调用)
参数传递
参数相当于局部变量
***参数传递就相当于赋值语句***
在参数传递时,基本类型数据传的是本身的值,引用类型数据传的是引用(地址,对象变量本身的值)。
(在java所有传递都是值传递)
****对象的赋值是地址