您的位置:首页 > 职场人生

黑马程序员----java基础增强上

2013-07-13 23:48 204 查看
ASP.Net+Android+IO开发S.Net培训、期待与您交流!

Java基础提高篇笔记

(一)使用集成开发环境:ide---itegrity developement environment 集成开发环境

1、MyEclipse的基础设置

1>、在MyEclipse中可以通过单击wendow->preference打开Myeclipse的基础设置选项,其中在java选项下面可以设置编译器(Compiler : 即jvm的路径)并且可以设置安装的Jre路径;

2>、当我们开发web程序时,我们可以通过设置Myeclipse中的服务器(server)选项,将我们外部的tomcat设置为服务器;

3>、我们可以在General中设置一些基础配置,如文字的大小、字体编码方式等

(在搜索框中输入Text或者单击General节点下的Appearance选择Colors and Front选项,在basic中选择Text Font)

4>、创建快捷键的设置,在Myeclipse中可以通过windows-->Preferences-->General-->keys来设置快捷键,如内容提示的设置Content Assist,将原来的设置删除,

在下方的Binding中按下ALt键+/键

2、在建工程,类,定义变量时,一定要用相应的单词来定义,这样提高程序的可读性;包名的定义要以所在的公司名为名

3、在工作目录下设置java的编译器和运行环境,可以将工作目录的配置,同时我们也可以设置java的工程的编译器和运行环境,

这是在工程上右键-->perferences以后操作和设置目录的编译器运行器相同

4、Myeclipse如何配置模板

在首选项中选择java-->edit-->template $(line_selected)//将当前内容写到这里

while (${en:var(java.util.Enumeration)}.hasMoreElements()) {

${type:argType(en)} ${elem:newName(type)} = (${type}) ${en}.nextElement();//循环体的执行,执行赋值功能

${cursor}//设置光标的位置

}

5、import工程,在myeclipse中导入已经写好的的工程文件,在Package Explorer中右键import,general中选择已存在工作空间的工程即可选则工程的目录,导入成功以后,应该查看

工程的java编译环境是否与本机的jdk是同一个版本,不同是应该配置java的编译器(注:java低版本编译的class文件,java高版本可以执行,而更低的版本不能执行此class文件)

(二)jdk1.5的新特性

1、用import导入静态方法

在java中如果一个类的某一个方法为静态方法,则可以通过import static java.lang.Math.*即可将java.lang包下的Math类下的所有静态方法导入,在访问这些静态方法时我们就可以

省略类名如以下例子package com.itheima.test;//判断一个整数是否为质数

public class Prime {

public static boolean isPrime(int a)

{

boolean flag = false;

if(a == 2)

flag = true;

else if(a>2)

{

int i = 0;

for( i =2; i<=(int)Math.sqrt(a);i++)

{

if(a%i == 0)

{

flag = false;

break;

}

}

if(i>(int)Math.sqrt(a))

{

flag = true;

}

}

return flag;

}

}

package com.itheima.ce;

import static com.itheima.test.Prime.isPrime;

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

int i = 10;

System.out.println(isPrime(i));//调用Prime类中的静态方法isPrime(),jdk1.5以后才支持静态导入功能

}

}

2、jdk1.5的第二个新特性:可变长度的参数,在java1.5以后支持可变长度的形参(注:可变形参为相同类型的对象)

如 public int[] executeBatch(String sql,Object[]...params)throws SQLException。这样我们可以实现方法的重载

3、jdk1.5的第三个新特性:增强的for循环功能,其语法为 for(type tem:tems);

注:迭代变量必须在()中定义,类型为type对应类型;集合变量可以是数组,或者是Iterable集合类的对象

File files[] = new File(path).listFiles();

for(File fl : files)//增强的for循环功能

{

System.out.println(fl.getName());//将目录下的文件名打印出来

}

4、jdk1.5的第三个新特性为:自动拆箱和自动装箱主要是针对java中基本数据类型(这是一个享缘设计模式)

自动装箱:就是将一个整形的值自动封装为Integer对象 Integer i1 = 12(注:当一个整数在-128~127之间时,一旦创建类对象,这个对象将保存在缓冲区中,当再次使用时,不在创建新对象);

对于一个字符串“abc”可以自动封装为String类型的对象

自动拆箱:将基本类型的对象自动拆箱,Integer对象自动拆箱为int类型;

例如 Integer i1 = 12;Integer i2= 12; 则i1=i2;但是Integer i3= 132; Integer i4= 132; 此时 i3与i4不是同一个对象

5、java的枚举和C++中的定义格式差不多,它提供了一些方法:

对于枚举类有获得它的对象的name,对象的在列表中的序列的ordinal方法,枚举类型的valueOf方法返回带指定名称的指定枚举类型的枚举常量

类的values方法可以获得该枚举类型的值的数组

对于枚举类型还可以定义构造函数,但是枚举类中的所有成员都是该枚举类型的对象,可以用构造函数创建该枚举类型中的成员:

public enum WeekDay

{

SUN(1),MON()

public WeekDay(){System.out.println("Frist");}

public WeekDay(int day){System.out.println("Second");}//创建带参数的构造函数

}

枚举类型同样可以有抽象函数,但是在每个‘成员’创建时应该将该抽象方法实现

public enum WeekDay

{

SUN{

public WeekDay nextWDay()

{

return MON;

}

}

SUN{

public WeekDay nextWDay()

{

return SUN;

}

}

public abstract WeekDay nextWDay();

}

6、java的反射机制:

(1)、Class是java中一种用于描述java中类的信息的类,注意在java中class为java中定义类的关键词,而Class是java中获得类的信息的一个类,

如类名,包名等等

Class的对象指向内存中类的字节码,

Class clazz1 = Date.class;(或则clazz = date1.getclass(),or Class.forName("java.util.Date")),isPrimitive()判断一个字节码是否为基本类型的字节码

判断一个基本类型是否为某个包装类型可以用包装类型的TYPE属性判别,例 double.class =Double.TYPE;在java.lang.reflect包下的field,Method,Constructor类共同完成反射的操作

ASP.Net+Android+IO开发S.Net培训、期待与您交流!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: