第一章
主要内容
Java的地位
-
网络地位
-
Java的平台无关性让Java成为编写网络应用程序的佼佼者,
- 平台无关性
- 平台:操作系统和处理器CPU构成
- 平台无关:软件的运行不因操作系统和处理器的变化而无法运行或出现错误
- 平台无关性
-
Java也提供了许多以网络应用为核心的技术,使得Java特别适合于网络应用软件的设计与开发。
-
-
语言地位
- 是一门很好的面向对象语言,
- 通过学习Java语言可以学习怎样使用对象来完成某些任务、掌握面向对象编程的基本思想.
-
需求地位
- IT行业对Java人才的需求正在不断的增长,
- 掌握Java语言及其相关技术意味着较好的就业前景和工作酬金。
Java诞生
- Java是1995年6月由Sun公司引进到我们这个世界的革命性的编程语言。
- 1990年Sun公司成立了由James Gosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,
- 该语言能生成正确运行于各种操作系统、各种CPU芯片上的代码。
- 他们的精心专研和努力促成了Java语言的诞生。
Java的特点
-
简单
- Java要比C++简单,
- C++中许多容易混淆的概念,或者被Java弃之不用了,或者以一种更清楚更容易理解的方式实现。
-
面向对象
- Java是面向对象的编程语言,
-
平台无关
-
在一个计算机上编译得到的字节码文件可以复制到任何一个安装了Java运行环境的计算机上直接使用。
- 字节码:可以被java虚拟机直接识别、执行的一种由0、1组成的序列代码
-
字节码由Java虚拟机负责解释运行,
-
java语言提供的编译器(javac.exe)针对java虚拟机把java源文件编译成字节码
-
Java虚拟机负责将字节码翻译成本地计算机的机器码,并将机器码交给本地的操作系统来运行。
-
-
多线程
- Java的特点之一就是内置对多线程的支持。
- 多线程允许同时完成多个任务。
- 动态
- Java程序的基本组成单元就是类,
- 有些类是自己编写的,有一些是从类库中引入的,
- 而类又是运行时动态装载的,
- 这就使得Java可以在分布环境中动态地维护程序及类库。
安装JDK
- JDK : java development kit
- JRE : java运行环境
- JVM : java虚拟机
- 三种平台简介
- 目前
Java
平台主要分为下列3个版本:-
Java SE(曾称为J2SE)称为Java标准版或Java标准平台.
-
Java EE(曾称为J2EE)称为Java企业版或Java企业平台.
-
Java ME(曾称为J2ME)称为Java微型版或Java小型平台.
-
无论上述哪种Java运行平台都包括了相应的Java虚拟机(Java Virtual Machine),
-
虚拟机负责将字节码文件(包括程序使用的类库中的字节码)加载到内存,然后采用解释方式来执行字节码文件,
-
即根据相应平台的机器指令翻译一句执行一句。
-
- Java SE平台是学习掌握Java语言的最佳平台,而掌握Java SE又是进一步学习Java EE和Android所必须的。
- 下载JDK1.8。
- 本书将使用针对Window操作系统平台的JDK,因此下载的版本为jdk-8u102-windows-x64.exe。
- 选择安装路径界面。
- 为了便于今后设置环境变量,建议修改默认的安装路径为:D:\jdk1.8 。
- 下载JDK1.8。
简单的Java应用程序
-
运行机制
-
编译型
- 编译器把代码转化成计算机可执行的代码
- 一次性全部翻译,执行速度快
-
解释型
- 执行一个指令,解释一个指令
-
java文件 -> class文件(字节码文件)-> 运行
- 源文件的编写与保存
-
Java应用程序的源文件是由若干个书写形式互相独立的类组成
-
例子1:中的Java源文件Hello.java是由两个名字分别为Hello和Student的类组成。
public class Hello { public static void main (String args[]) { System.out.println("大家好!"); System.out.println("Nice to meet you"); Student stu = new Student(); stu.speak("We are students"); } } class Student { public void speak(String s) { System.out.println(s); } }
-
编写源文件
-
扩展名必须是
.java
-
使用一个文本编辑器
-
Java源程序中语句所涉及到的
小括号
及标点符号
都是英文状态下输入的括号和标点符号,比如“大家好!”
中的引号
必须是英文状态下的引号,而字符串里面的符号不受汉字符或英文字符的限制。
-
-
保存源文件
- 如果源文件中有多个类,那么只能有一个类是public类;
- 如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;
- 如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。
-
编译
- 编译器(javac.exe)
-
编译源文件,得到字节码文件
-
进入逻辑分区C的chapter1目录中,使用编译器javac编译源文件:
C:\chapter1> javac Hello.java
-
- 编译器(javac.exe)
-
运行
-
使用java解释器(java.exe)来解释执行的字节码文件
-
应用程序的主类
- 一个Java应用程序必须有一个类含有
public static void main(String args[ ])
方法,称这个类是应用程序的主类。
- 一个Java应用程序必须有一个类含有
-
解释器(java)
- 使用Java虚拟机中的**Java解释器(java.exe)**来解释执行其字节码文件。
- Java应用程序总是从主类的main方法开始执行。
- 因此,需进入主类字节码所在目录,比如
C:\chapter1
, - 然后使用Java解释器(java.exe)运行主类的字节码
C:\chapter1\> java Hello
-
注释
- 单行注释
//单行注释
- 多行注释
/*
多行注释
*/
- 文档注释
/**
*@author
*@version
*@since
*@param
*@return
*@throws
*/
重点与难点:
-
重点:
-
Java平台无关性、
-
Java程序的结构。
-
Java语言是面向对象编程,编写的软件与平台无关。
-
-
难点:
-
Java程序的开发过程。
-
开发一个Java程序需经过三个步骤:编写源文件、编译源文件
生成字节码、加载运行字节码。
-
小结
- java是面向对象编程语言,编写的软件与平台无关
- java语言涉及网络、多线程等重要的基础知识,特别适合于internet应用的开发
- java源文件是由若干个书写形式相互独立的类组成的
- 开发一个java程序需要经过三个步骤:编写源文件、编译源文件生成字节码、加载运行字节码
- 编写代码务必遵守行业的习惯及风格
习题
-
问答题
- Java语言的主要贡献者是
- 开发java应用程序需要经过哪些主要步骤
- java源文件是由什么组成的?一个源文件中必须有public类吗
- 如果JDK的安装目录是D:\jdk,应当怎样设置path和classpath的值
- java源文件的扩展名是什么,java字节码的扩展名是什么
- 如果java应用程序主类的名字是Bird,编译之后,应当怎样运行该程序
- 有哪两种编程风格,在编程风格上各自有怎样的特点
-
选择题
- JDK提供的编译器
- java应用程序主类的main方法
-
阅读程序
public class Person{ void speakHello(){ System.out.print("您好,很高兴认识您"); System.out.println("nice to meet you"); } } Class Xiti{ public static void main(String[] args){ Person zhang = new Person(); zhang.speakHello(); } }
- 上述源文件的名字
- 编译上述文件会生成几个字节码文件
- 执行
java Person
、java xiti
、java Xiti.class
、java Xiti
答案
-
问答题
-
java 语言的主要贡献者 :James Gosling
-
开发java应用需经过3个步骤:
- 用文本编辑器编写源文件。
- 使用javac编译源文件,得到字节码文件。
- 使用解释器运行程序。
-
- java源文件是由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。
- 不一定,但最多有一个public类。
-
set classpath = D:\jdk\jre\lib\rt.jar ; path = D:\jdk\bin ;
-
java 源文件的扩展名是 java ,java字节码的扩展名是 class
-
如果jaba应用程序主类的名字是Bird,编译之后,输入java Bird运行程序
-
两种编译风格
- 独行风格(大括号独占行)
- 行尾风格(左大扩号在上一行行尾,右大括号独占行)
-
-
选择题
- JDK 提供的编译器 javac.exe
- java 应用程序朱磊中正确的 main 方法 public static void main(String args[])
-
读程序
- Person.java。
- 两个字节码,分别是Person.class和Xiti.class。
- 得到“NoSuchMethodError”,
- 得到“NoClassDefFoundError: Xiti/class”,
- 得到“NoClassDefFoundError: Xiti/class”,
- 得到“您好,很高兴认识您 nice to meet you”