Java程序设计–第1章 Java概述
主要内容
1.1认识Java语言
2.2Java运行环境与开发环境
1.3Java程序举例
1.1 认识Java语言
Java语言是20世纪90年代由Sun Microsystems公司开发的革命性的编程语言
Java技术的通用性、高效性、平台移植性和安全性,使之成为网络计算的理想技术。
迄今为止,Java平台已吸引了近千万软件开发者。 Java已经成为最流行的编程语言。
最新版本JDK 13
·Java语言的特点
Java语言是一种高级编程语言,它具有简单、结构中立、面向对象、可移植、分布式、高性能、多线程、健壮、动态、安全等特点。
MyProgram.java -> 编译器 -> MyProgram.class -> JavaVM -> My Program
由于Java虚拟机可以运行在不同的操作系统之上,因此同一个字节代码文件可以在Windows、Solaris OS、Linux、Mac OS等操作系统上运行 。
-> JVM -> Win32
JavaProgram.java->编译器 -> JVM -> UNIX
-> JVM -> MacOS
·体系结构中立
Java 程序被编译成一种与体系结构无关的字节代码
只要安装了Java运行时系统Java程序可以在任意的处理器上运行
·Java平台的体系结构
·Java应用领域
1.2 Java运行环境与开发环境
Java提供了一个免费的Java开发工具集(JDK),编程人员可以利用这些工具来开发或者调试Java程序。
如果只想运行已有的Java程序,可以只安装Java运行环境(JRE),JRE由Java虚拟机、Java的核心类以及一些支持文件组成。可以在官方网站java.oracle.com下载
为了开发Java应用程序,需要安装JDK。在安装JDK的同时将安装JRE。
Java开发工具
·命令行开发环境
Jdk提供的,Javac,java,Jdb,javadoc
·复杂图形开发环境
Eclipse
Netbeans
IntelliJ IDEA
IBM Rational系列开发工具
JDK提供的常用工具
Javac.exe 是用来编译源代码的命令。
Java.exe 是用于执行类文件的命令,而类文件将在 Java 虚拟机中运行类。
Jar.exe 把类打包
Javadoc.exe 提取文档
1.3 Java程序举例
常见的Java程序主要有2类
即Application(应用程序)和Servlet(服务器端小程序)。
应用程序在计算机中单独运行
Servlet是运行在服务器端的小程序,它可以处理客户端传来的请求(request),然后将处理结果以响应(response)的方式传回给客户端。
本节将介绍简单的Java应用程序,关于服务器端小程序的内容将在第12章中介绍。
Java Application程序结构
【包名】
【import语句】
class 【主类名称】
{
public static void main(String[] arges)
{
【方法体】
}
}
1.4 输入与输出
输出数据
public class CommandLine {
public static void main(String[] args) {
System.out.println("打印命令行参数");
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
从控制台读入数据代码
import java.util.Scanner;
public class TestScanner {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int a = cin.nextInt(), b = cin.nextInt();
System.out.println(a + b);
System.out.printf(""+ Math.PI);
System.out.format("%4d%4d",a,b);
System.out.format("Pi is approximately %f", Math.PI);
}
}
弹出一个对话框
// Proba.java
import javax.swing.*;
public class Proba{
public static void main(String[] args){
String input =
JOptionPane.showInputDialog("你希望抽取多少个数?");//弹出对话框
int k = Integer.parseInt(input);
input = JOptionPane.showInputDialog(“一共有多少个数?");
int n = Integer.parseInt(input);
int result = 1;
for(int i=1;i<=k;i++){
result = result*(n-i+1)/i;
}
System.out.println("你中奖的几率是1/"+result+"");
System.exit(0);
}
}
包对应于文件系统中的目录,目的是把编译产生的.class文件放入该目录
package edu.xgg; //不存在就创建,存在就不创建
import语句:声明导入一个类
import java.util.Date;
1.5 Java虚拟机
程序计数器、Java虚拟机栈、本地方法栈、Java栈、方法区
新生代内存、老生代、永生代
在HotSpot虚拟机中,分为3块区域:
对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)