当前位置: 首页 > 图文教程 > Java技术 > Java基础 > Java基础:JAVA SE基础部分(一)

Java基础
Struts+Hibernate数据表示
JSP+MYSQL+Java类优化分页
利用JBuilder 2005 开发Spring
Java程序与C语言的接口
10分钟Hibernate体验
Tomcat配置技巧Top 10
JDBC+Hibernate将Blob数据写入Oracle
Java使用全屏幕模式
Java基础:小编浅谈C#与java的属性区别
Java基础:小编浅谈C#和Java的相似之处
Java基础:小编浅谈C#与java的事件区别
Java基础:小编浅谈C#与java的对象索引机制、指代的区别
Java基础:小编谈Java中获取系统属性
Java基础:浅谈Java Bean与EJB的那些区别
Java基础:Java中对文件读写操作概述
Java基础:Java中安全问题
Java基础:浅谈面向对象应用中的持续性
Java中多线程的实现
多线程使用中的问题
MIME详解

Java基础:JAVA SE基础部分(一)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 83 ::
收藏到网摘: n/a

1、课程名称:JAVA SE基础部分
 讲解的方式:先把所有的概念阐述,在概念阐述的过程之中会有一些小的模型,这些模型就是以后的开发模型。
 JAVA SE基础中有以下四个部分是最重要的:
  • 面向对象,抽象类与接口
  • JAVA类集,背下来
  • JAVA IO,序列化
  • JDBC
  • 数据结构:链表、二叉树
2、知识点
2.1、上次课程的主要知识点
 1、 JDK的安装
 2、 基本的语句
2.2、本次预计讲解的知识点
 1、 JAVA的发展过程
 2、 若干的重点知识的补充
 3、 数组与方法
3、具体内容
3.1、JAVA的发展过程
 1991 年,SUN公司竞争开发一个项目 —— GREEN,目的:类似于现在的嵌入式开发,可以通过电话控制各种家电的使用,但是之前因为一直使用C++,但是C++的开发比较麻烦,所以SUN公司的技术人员专门开发了一套新的平台 —— OAK语言。网景公司,SGL的语言所打败。SUN公司学习网景公司的浏览器技术,之后推出了一个新的平台 —— HOTJAVA。
 1995年的时候正式把HOTJAVA更名为JAVA,同时推出了JDK 1.0的开发包。是以Applet程序起家的。但是applet在做的时候要使用大量的windows开发类库。
 1998年发布了JDK 1.2,正式把JAVA更名为JAVA 2。增加了各种图形界面的开发包。但是现在基本上已经没人去使用JAVA进行界面的开发(AWT、Swing)。
 最新的JDK 版本是1.6,但是基本上广泛使用的还是JDK 1.5。
 在2005年,JAVA十周年大会,SUN公司,正式把J2SE、J2ME、J2EE进行:更名
 • J2SE:JAVA SE
 • J2ME:JAVA ME
 • J2EE:JAVA EE
 JDK是JAVA的开发包,在JDK中就包含了JAVA的编译及运行指令。
 JAVA的目标:是一门面向对象的设计语言(面向对象的最早始祖:smalltalk,IBM开发的),比C++要简单,没有指针操作。JAVA很容易学会,多线程和安全性的保障。可移植性。
 JRE = JVM + 运行时解释
 在JDK配置之中有以下两个重要的环境变量:
 • PATH:java的命令配置属性,可以在dos环境下,输入javac、java命令。
 • CLASSPATH:类的运行路径。
Hello.java:
public class Hello{
 public static void main(String args[]){    ? 程序的起点
  System.out.println("Hello World!!!") ;  ? 在命令行方式下进行输出
 }
};
 通过javac进行程序的编译,编译成*.class文件。 
 Java在执行的时候找到的是*.class文件,JAVA在运行的时候是通过classpath找到类的路径。默认情况下。Classpath指向的是当前所在的文件夹之中,也可以进行修改。
 例如:现在想在c盘上运行建立好的Hello.class文件。那么此时就可以进行配置:
  SET classpath=类所在的文件夹。 ? set classpath=e:\testjava
 但是一般情况下,大部分人的习惯都是将classpath设置到当前目录之中,所以可以通过以下的方式进行设置:SET CLASSPATH=. ? 从当前所在的文件夹之中找到要使用的class文件。
编写JAVA的时候还需要注意以下问题:
 1、 public class 类名称
  所有单词的首字母大写:TestHelloJava
 2、 在声明类的时候可以使用public class和class两种方式声明
  • public class:文件名称必须与类名称一致
  • class:文件名称可以与类名称不一致
  • 在一个文件之中只能有一个public class的声明,但是可以生成多个class/
3.2、JAVA程序的开发分类
 JAVA程序一般分为两类:
• Applet程序:是指直接嵌在网页中的程序,需要使用浏览器或单独的运行工具运行,而且程序之中没有主方法,基本上已经不再使用了。
  • Application程序:是我们主要使用的程序,有主方法,通过javac编译,通过java执行。
3.3、JAVA的数据类型划分
JAVA数据类型划分:
1、 基本数据类型:
 • 数值型:一个数字默认的就是int类型
  |- 整型:byte、short、int、long
  |- 小数:float、double
 • 布尔型:boolean
 • 字符型:char
2、 引用数据类型:传递的是内存地址空间
 • 数组
 • 类
 • 接口
注意:
 在以上的类型之中,并不包含字符串类型。字符串就是一组字符,如果想声明一个字符串,则使用以下的方式声明:
 • String 变量名称 = "字符串" ;
在基本数据类型之中,牵扯到数据类型的转换问题,基本的转换原则:
• 小 ? 大(自动),大 ? 小(强制)
• 在以上的类型之中,如果现在一切的方式都是使用字符串接收,则一切类型都会变为字符串。
注意:只要看见了以下的提示错误:
Exception in thread "main" java.lang.NoClassDefFoundError: TestJava01
就要考虑一下几种解决方式:
 1、 程序是否忘记编译
 2、 程序的名称是否写对
 3、 classpath的设置是否有问题
public class TestJava01{
 public static void main(String args[]){
  int i = 10 ;
  double f = 90.0 ;
  String str = "hello " ;
  str = str + i + f ;
  System.out.println(str);
 }
};
 字符串是最大的转换类型。
3.4、JAVA的控制语句
判断:if、if…else、if… else if…else、switch
循环:while、do…while、for
控制:break、continue
注意:
 JAVA的关键字很多,但是有以下两个关键字是未被使用的:const、goto。
 • const:修饰常量的
 • goto:无条件跳转
3.5、方法
 方法:就是一段可重复调用的代码段,方法在一些语言之中也称为函数。
 但是现在程序中所使用的方法声明的时候要有一些注意,所声明的方法全部可以由主方法直接调用。
方法的定义格式:
public static 返回值类型 | void 方法名称([参数类型 参数名称,….]){
 [return 返回数据]
}
例如:现在定义一个方法,此方法可以输出helloworld
public class TestJava02{
 public static void main(String args[]){
  print() ;
  print() ;
  print() ;
 }
 public static void print(){
  System.out.println("Hello World!!!") ;
 }
};
例如:现在定义一个方法,此方法可以计算两个数字相加的结果。
public class TestJava03{
 public static void main(String args[]){
  System.out.println(add(10,20)) ;
 }
 public static int add(int i,int j){
  int temp = i + j ;
  return temp ;
 }
};
问题:
 现在可能有两个数字进行相加,也可能有三个数字进行相加,也可能更多,那么如果按之前的定义,则肯定要写成如下的形式:
public class TestJava04{
 public static void main(String args[]){
  System.out.println(add2(10,20)) ;
  System.out.println(add3(10,20,30)) ;
  System.out.println(add1(10.0f,20.87f)) ;
 }
 public static int add2(int i,int j){
  int temp = i + j ;
  return temp ;
 }
 public static int add3(int i,int j,int k){
  int temp = i + j + k ;
  return temp ;
 }
 public static float add1(float i,float j){
  float temp = i + j ;
  return temp ;
 }
};
 以上的程序虽然结果已经正确的显示出来,但是存在一些问题,既然是加法,则方法名称最好就统一的设置成add,所以如果要想实现以上的要求,则可以按照方法的重载概念定义:
 方法名称相同,参数的类型或个数不同,称为方法的重载。
 例如:使用上面的概念修改之前的程序:
public class TestJava05{
 public static void main(String args[]){
  System.out.println(add(10,20)) ;
  System.out.println(add(10,20,30)) ;
  System.out.println(add(10.0f,20.87f)) ;
 }
 public static int add(int i,int j){
  int temp = i + j ;
  return temp ;
 }
 public static int add(int i,int j,int k){
  int temp = i + j + k ;
  return temp ;
 }
 public static float add(float i,float j){
  float temp = i + j ;
  return temp ;
 }
};
 虽然以上已经完成了基本的功能,但是有一点必须重点强调,观察以下代码:
public class TestJava06{
 public static void main(String args[]){
  System.out.println(add(10,20)) ;
  System.out.println(add(10,20)) ;
 }
 public static int add(int i,int j){
  int temp = i + j ;
  return temp ;
 }
 public static float add(int i,int j){
  float temp = i + j  ;
  return temp ;
 }
};
 以上的程序不是重载,因为只有方法的返回值类型不同,而其他都是相同的。
例如:现在要求建立一个方法,可以根据输入的参数,打印三角形。
不使用方法:
public class TestJava07{
 public static void main(String args[]){
  for(int i=0;i<10;i++){
   for(int j=0;j<10-i;j++){
    System.out.print(" ") ;
   }
   for(int j=0;j<i;j++){
    System.out.print("* ") ;
   }
   System.out.println("") ;
  }
 }
};
使用方法定义:需要传递一个参数,控制行即可:
public class TestJava08{
 public static void main(String args[]){
  printStar(10) ;
 }
 public static void printStar(int line){
  for(int i=0;i<line;i++){
   for(int j=0;j<line-i;j++){
    System.out.print(" ") ;
   }
   for(int j=0;j<i;j++){
    System.out.print("* ") ;
   }
   System.out.println("") ;
  }
 }
};
方法名称的定义要求:
 第一个单词的首字母小写,之后每个单词的首字母大写。