Java (一)

     

 

Java中数组的定义:

一维数组的定义和使用:

int []num; //定义一个num的一维数组

num=new int[3];        //为num数组分配空间

以上也可以写为:int [] num=new int[3];

一维数组初始化: int[] num=new int [] {1,2,3};         //注意:这样使用时不能在[]内给分配大小,否则报错。

也可以用下标初始化:

int [] num=new int[3];         //分配三个空间 注意 数组的下标是从0开始的.

num[0]=1;

num[1]=1;

num[2]=1;

System.out.println(num[0]); //用于输出.

 

关于二维数组的初始化和定义;

int [] [] num;

num=new int[3] [4];        //三行 四列

num [0] [1]=12; //初始化

int [][] num =new int [3][2]; // 这样也是允许的

二维数组的初始化:

int [][] num=new int[][] {{1,2,3},{1,2,3}}; //正确的初始化,注意,和一维数组一样,在初始化new [][] 这里不允许给出分配空间大小,否则会报错.

特别注意一种错误写法:int [][] num=new int[][]{1,2,3,4,5,6,};        //error        二维不是一维数组

另一种初始化方法:

int [][] num={{1,2,3},{1,2,3}}; //也是ok的。

还有一种不规则的初始化方法:

int [][] num={{1,2,3},{,1,2},{,3}}; //没有错,很灵活.注意: {} 代表行..里面的值代表列.

 

关于i++ 与++i的操作:

i++ 先拿i 的值参与运算 在++

++i 先++在参与运算.

同理 i-- 和--i 也就明白了.

 

关于IF,|        While, | do...While .|        For, | Switch..case ..default. ,| Break

具体语法就不讨论了...

Java的For语句和C语言的一个细小差别:在C语言中 for(int i i<2 i++){} 中的i 的作用域是在for语句的{}的下一个括号,而在Java中的作用紧限于For 语句括号内,在外不能访问...

一个字节可以表示 256 种数值。范围是0—255。

原码:

将最高位做为符号,以0代表正,1代表负。 但0  -0是同一个.在计算机里正+0: 00000000 -0:10000000

反码:

定义:一个数如果为正,则它的反码与原码相同,一个数如果为负,则符号位为1,其他各为是对原码取反。

+7的反码:00000111 。- 7的反码:11111000        //红色为符号位

+0 的反码:00000000 。 -0的反码:11111111 //红色为符号位

由于原码和反码对于+0和-0表示不唯一,所以计算机都没有采用正码和反码做为表示方式......

利用溢出将减法变为加法:

十进制:9-4=5         4+6=10        我们将6做为4的补数 将上式改为加法 9+6=15 去掉高为1(减10)        等于5...

十六制:C-7=5         7+9=16 我们将9做为7的补数 将上式改为加法 C+9=15 去掉高为1(减16)        等于5...

在二进制中,如果一个数字超过8位,则被丢弃1 00000000 则1 被丢弃

补码:

定义:一个数如果为正则它的原码,反码,补码相同。为负,则符号位为1,其余各为对原码取反,然后整个数加1。

补码中的 +0为:00000000 ,-0:1 00000000        。可以看出1 是被丢弃的前后0 是唯一的。

所以计算机用补码...

Java中的与,或,非,异或:

与(&&):只有两个都为真为真。

或(||):任意一个为真就为怎

非(!):取反

异或(^):相同为假,不同为真

Java API        sun 公司提供的Java类库的类,接口,方法,在此不列,请下去细细钻研。

Java面象对象编程

面向对象编程和面向过程编程的区别:

过程化程序设计先确定算法,在确定数据结构。

对象化程序设计先确定数据结构,在确定算法。

对象一般都具有状态(变量)行为(方法)。

把相似的对象归为一类,类是创建对象模版,对象是类的实例。

从程序设计角度,类是面向对象程序中最基本的程序单元。类实质是定义了一个数据类型,用new创建实体对象.

面向对象考虑问题的思路:

面向对象会把问题首先抽象,提取问题的共性,也就是定义一个类,;类中有响应的方法,在用类的实例去调用类的方法,去实现。

java的反编译,使用sun 公司提供的javap        类名 .会打印出定义的变量和方法。、

New关键字的作用:

为对象分配内存空间。引起对象构造方法的调用。为对象返回一个引用。

方法重载:

重载构成条件:方法名称相同,但参数类型或参数个数不同,才能构成方法重载。、

特殊变量 this

this变量代表对象本身,使用this变量区分成员变量和局部变量。

this可以方便调用构造方法。

例子:构造方法重载后,可以在默认构造方法内使用this(1,1) 调用重载的参数构造方法。

一个类的所有对象,调用成员方法在内存中只有一份拷贝,尽管内存中可能有多个对象。

而数据变量在类的每一个对象所在的内存中都存在一份拷贝。

static 修饰符:

static 修饰的方法不需要产生对象,就可以被类名直接调用,static 修饰的方法,内的变量也要修饰为static 。

static 静态方法在类加载时候就分配内存空间,所以变量也要在类加载时候分配内存,所以也要用static 。

在一个非static 的方法中,是可以调用static 的方法和static 变量的。

在静态方法中不能调用非静态的方法和引用非静态的变量。反之则可以。

static 修饰的变量只开辟一块内存空间。

final 修饰的变量为常量,必须在声明时进行初始化。

继承:

在Java中通过关键字extends继承一个已有的类。Java不允许多重继承。

方法重写:

在子类中定义一个与父类同名,返回类型,参数类型均相同的一个方法,称为方法重写。

super关键字:

方法重写发生在子类与父类之间。如果父类的方法被重写,并且想调用父类的方法可以使用super.***,(***代表父类的方法)。在子类中想访问父类被重写的变量和方法可以使用super.***。

方法重载:

方法重载是在一个类当中,当我们传递参数的不同,调用相应的方法。

可以使用instanceof 判断一个对象是不是一个类的实例

如:

if(an instanceof Fise)

{如果是的an 是 Fise 的对象话打印是}

else{否则打印否}

子类可以说是父类的一个实例,但一般不这么说。

Java 包的概念(Package)

package 语句必须是Java源文件的第一句。如 package age;

编译带包的类,如:javac -d . jc.java 责是在当前目录生成一个文件夹

import语句 引入包中的类,import java.io.File;

引入整个类: import java.sql.*;

访问修饰符:default   protected   ptivate

                      public   

同类:               √              √                √                  √

同包:               √              √                √                  ×    

子类:               √              √                ×            ×    

不同包:            √              ×          ×                  ×            

default 修饰的类在不同的包内不可以访问。

其他修饰符:

final:被修饰的类不允许被继承,被修饰的方法不允许被重写。

abstract:抽象,声明为抽象的方法,没有方法体。如果方法被抽象,它的类也要抽象类。抽象类不能实例化一个对象,继承抽象类的子类,一定要重写抽象类所有的抽象方法。

static:

native:用于连接外部文件如C语言写的代码。、

java中的垃圾内存是自动回收的。

Java中接口的运用:

接口可以多重继承。接口中的所有方法都要求实现。

在接口中所有的方法都是抽象的,没有方法体。

定义一个接口使用interface 关键字。实现接口使用 implements关键字。可以多重继承用","分割

去实现一个接口时,要在实现的方法前加public 提高访问权限。否则报错。

下次40

MYSQL 可视化编程

推荐用mysql-front或者Navicat,两个都很不错。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一些要看的书:数据结构 数据库原理 编译原理

一些精华帖:http://blog.csdn.net/zdg/archive/2007/03/26/1541677.aspx

只要我竭尽全力,我就能做成任何我愿意做的事情。     盖茨的一句话

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值