Java简介
Java是一门程序设计语言,属于高级语言。Java针对不同的开发市场分为三个技术平台:JavaSE,JavaEE,JavaME。
JavaSE(Java Platform Standard Edition):标准版,是为开发普通桌面应用的解决方案,JavaEE和JavaME都由此发展而来,包括了Java的核心库,如数据类型,集合,数据库连接和网络编程等。
JavaEE(Java Platform Enterprise Eidtion):企业版,是为开发企业级应用的解决方案,包括Servlet,JSP,JavaBean,JDBC,EJB,WebService等技术。
JavaME(Java Platform Micro Edition):小型版,是为开发电子消费产品和嵌入式设备的解决方案。JavaME主要用于小型数字电子设备上的应用程序的开发,为家电增加智能化控制和网络功能,为手机增加新游戏和通讯录管理功能。JavaME提供了HTTP等高级Internet协议,使移动电话能以Client和Server的方式直接访问Internet的全部信息,提供高效的无线交流。
Java语言特点
Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。引用与指针的区别引用指向一个对象,对引用操纵相当于对对象操作,指针指向内存地址,对指针操作相当于对内存空间操作。
Java 语言是面向对象的:继承封装和多态的特性。Java 语言提供类、接口和继承等面向对象的特性,支持类之间的单继承,支持接口之间的多继承,并支持类与接口之间的实现机制。
Java语言是分布式的:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java语言是跨平台的:Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。
Java语言支持多线程:Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制,来提高程序运行效率。
JDK
JDK(Java Development Kit)是一套Java的开发环境,其中包括Java编辑器,Java运行工具,Java文档生成工具,Java打包工具等。JDK环境用于Java引用程序的开发。
JRE (java Runtime Environment)是Java运行时环境,用于运行Java代码,对于非开发人员只需要下载JRE就可以运行Java应用程序。
开发Java应用程序需要需要安装JDK环境,官方下载JDK,安装并配置环境变量,doc命令输入:java -version和javac -version出现版本号即为安装成功。
JDK目录介绍:
bin目录:存放java可执行程序,如java.exe(运行工具)、javac.exe(java编辑器),jar.exe(打包工具,将java程序生成可重复应用的工具包),javadoc.exe(文档生成工具)等。
jre目录:java运行时环境目录,包括java虚拟机,运行时的工具包,java引用启动器等。
include目录:jdk是由c和c++实现的,需要引用c的一些头文件。
lib目录:java类库或库文件,是开发工具使用的归档包文件。
src.zip:存放jdk的核心源代码。
javafx-src.zip:javase桌面引用开发的源文件。


> JDK中最重要的就是java.exe和javax.exe以及jvm(Java Virtual Machine),javac用于编译java代码,java用于启动jvm并运行java代码。
包的定义与使用
同文件系统对目录的管理一样,java也引入了包机制,程序可以通过包的声明来对类定义目录。java中包是用来存放类的,功能相同的类放在同一个包中。
声明包用package声明类用class,**包的声明只能位于java源文件的第一行。**通过import关键字引入不同包下的类,包于包直接用.来区分。
package chapter.exanmple.Student
import chapter2.example.Teacher
class User{
//代码
}
package chapter.exanmple.Student
import chapter2.example.Teacher
class User{
//代码
}
使用import package.*来导入包下的所有类。
在JDK中,不同功能的类方法在不同功能的包下,其中java包及其子包是核心包,javax即子包是扩展包。
Java的核心包:
java.util:包含大量工具类,集合等,如Arrays,List,Set。
java.net:包含网络编程的相关接口和类。
java.io:java输入输出有关的接口和类。
java.awt:java构建图形化界面相关的包和类。
java.swing:和awt一样构建桌面应用,最新的模块由javafx。
java.sql:数据库编程。
Java编程基础
每种编程语言都有一套属于自己的编程规范,Java同样由自己的编程规范,如代码的关键字,标识符,代码书写等。
Java代码格式
Java代码必须放在一个类中(面向对象的规范),类用class声明:
//声明一个Sutdent类
class Student{
//Java代码
}
//声明一个Sutdent类
class Student{
//Java代码
}
Java程序代码分为结构定义语句和功能执行语句,前者用于定义类或方法,后者来实现具体的功能。
class Student{
//定义变量
String name="zhansan";
//执行功能
System.out.print(name);
}
class Student{
//定义变量
String name="zhansan";
//执行功能
System.out.print(name);
}
Java代码严格区分大小写,每条语句需用;隔开,用+连接需要换行的代码。
class Student{
//三个不同的变量
String Name="zhansan";
String name="zhansan";
String NNAME="zahnsan";
//
System.out.println(Name
+name+
NAME);
}
class Student{
//三个不同的变量
String Name="zhansan";
String name="zhansan";
String NNAME="zahnsan";
//
System.out.println(Name
+name+
NAME);
}
方法用括号()声明,方法名首字母小写
public void show(){
System.out.println(name+"---"+price);
}
//声明格式
修饰符 返回值类型 方法名 (参数列表){
//执行体
return 返回值
}
public void show(){
System.out.println(name+"---"+price);
}
//声明格式
修饰符 返回值类型 方法名 (参数列表){
//执行体
return 返回值
}
Java的单行注释是//,多行注释是/…/,文档注释是/…*/。文档注释是对一段代码的概括描述使用javadoc.exe将注释生成文档。**
Java的单行注释是//,多行注释是/…/,文档注释是/**…*/。文档注释是对一段代码的概括描述使用javadoc.exe将注释生成文档。
运行java程序必须要有一个主函数main
运行java程序必须要有一个主函数main
public class HelloWorld {
/* 第一个Java程序 * 它将输出字符串 Hello World */
public static void main(String[] args) {
System.out.println("Hello World"); // 输出 Hello World
}
}
public class HelloWorld {
/* 第一个Java程序 * 它将输出字符串 Hello World */
public static void main(String[] args) {
System.out.println("Hello World"); // 输出 Hello World
}
}

Java标识符
程序中需要标识符该标记包名,类名,方法名,参数和变量等,这些符号被称为标识符。标识符可以有字母数字下划线和美元符号组成,但标识符不能是数字开头,不能是java关键字。且定义标识符遵循以下规范:
包名所有字母一律小写;
类名和接口名首字母大写;
常量名都大写,单词之间通过下划线连接;
变量名和方法名第一个单词小写,后面单词首字母都大写。
Java变量
Java 语言是强类型(Strongly Typed)语言,强类型包含以下两方面的含义:所有的变量必须先声明、后使用。指定类型的变量只能接受类型与之匹配的值。
程序运行期间,产生的临时数据都保存在内存中,通过表示符来访问这些数据,Java变量是通过引用类型定义的。
整数类型一个byte占8为依次是16,32,64位,long定义时超过int的范围需要加L后缀。
浮点类型定义时要加f和d后缀,没有会当作double类型。当是科学表达法是e或E为以10为底+和-为正或负。

double
double
字符类,用‘…’包裹。
变量类型转换
自动类型转化
自动转化必须满足两个条件:两种数据类彼此兼容,目标的取值范围大于源类型范围。
数值类型之间满足这两个条件可以自动转化:整数之间,整数转float,其他类型转double。
byte b=3;
int a=b;
byte b=3;
int a=b;
强制类型转化
强制类型转化需要显示声明,强制类型转化可能会造成数据丢失。显示转换需要用(目标类型)标识
double a=34.5
int b=(int) a;
// b=34
char[] b='1234';
int a=(int) b;
double a=34.5
int b=(int) a;
// b=34
char[] b='1234';
int a=(int) b;
变量作用域
Java中主要有如下几种类型的变量:局部变量,类变量(静态变量),成员变量(非静态变量)变量需要在其作用范围类才可以使用,这个作用范围为作用域。
方法中定义的变量都是局部变量:
成员变量,类变量定义在方法外类中,通过修饰词(public)来管理作用域,其实不仅可以在该包或类,方法中使用还能再其他包,模块中使用。参见访问权限一节。
成员变量:

public class Book {
public String name;
public double price;
public Book(String name, double price){
this.name=name;
this.price=price;
}
public void show(){
System.out.println(name+"---"+price);
}
}
public class


被折叠的 条评论
为什么被折叠?



