corejava学习1(基本概念和语法)

 

     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所有传递都是值传递)

****对象的赋值是地址

 

你可能感兴趣的:(编程,C++,c,配置管理,C#)