1、起源:
1990年,Sun公司的James Gosling(Java之父)研发名为Oak的语言(Java的前身),1994年,Oak被正式更名为Java。
2、语言优势:
1)简单:语法风格与C++类似,但是没有指针、多继承(Java中只允许单继承),有自动回收机制,而且有大量的类库。2)完全面向对象:Java是一种完全面向对象的语言。3)分布式:提供对多种网络协议的支持。4)安全可靠:不支持指针,没有非法访问、内存泄漏,有垃圾回收机制,编译器会检查程序,而且有异常处理机制。5)跨平台:只要安装了Java运行时系统,可以在任意的处理器运行。6)解释执行:Java的源文件即.java文件首先被编译为.class文件,再通过JVM解释执行。7)多线程。8)动态:Java类库中可以自由地加入内容。
3、运行
java源程序(.java)经过编译得字节码程序(.class),字节码程序在本地或者通过网络传送给JVM,JVM对字节码即时编译或解释执行形成二进制的机器码,机器码直接运行。(一次编译处处运行)
java文件中有几个java形成几个class
Java虚拟机JVM:是一种利用软件方法实现的抽象化计算机,可在上面执行字节码程序。
实时编译器JIT:JVM的一部分,可以提高Java代码的执行速度,主要是将字节码指令集转化为针对某一特定微处理器的机器代码指令。
4、基本结构
import 语句;
public class 主类名
{
public static void main(String args[]){方法体;}
}
5、JDK的配置
1、设置JAVA_HOME环境变量,变量值为jdk的安装路径
2、更新PATH环境变量,变量值添加jdk的bin路径
3、设置CLASSPATH环境变量,变量值为lib下的dt.jar和tools.jar
6、编译运行(记事本)
打开cmd,如果.java文件为
import java.io.*;
public class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello World");
}
}
名称为HelloWorld.java,在f盘下
则,打开cmd,转到f盘并编译:
编译成功,在F盘中出现同名.class文件
执行
习题:
1、编译Java源程序产生的字节码文件扩展名:.class
2、Java跨平台机制由JVM实现
3、解释字节码文件的工具为java
4、JDK中的lib存放Java开发需要的类库
5、文档注释:/**...*/
6、程序中main()方法的作用:整个程序的入口,程序必须有main()方法才能执行
7、Java跨平台技术的实现原理:JVM形成一个抽象层,将底层硬件平台、操作系统与编译过的代码联系起来,Java字节码的格式通用,具有跨平台特性,但这种跨平台建立在JVM虚拟机的基础之上,只有通过JVM处理后才可以将字节码转换为特定机器上的机器码,然后再特定的机器上运行。
上机:
1、
(1)
public class tong01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Write Once,Run Anywhere");
}
}
(2)
public class tong01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Java的三大应用平台JavaSE、JavaEE、JavaME");
}
}
2、
(1)打印等腰三角形
public class tong01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(" * ");
System.out.println(" * * ");
System.out.println("* * *");
}
}
(2)打印个人信息
import java.util.Scanner;
public class tong01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
System.out.print("请输入学号:");
String a=in.next();
System.out.print("请输入姓名:");
String b=in.next();
System.out.print("请输入性别:");
String c=in.next();
System.out.print("请输入身高:");
int d=in.nextInt();
System.out.print("请输入体重:");
double e=in.nextDouble();
System.out.println("学号:"+a);
System.out.println("姓名:"+b);
System.out.println("性别:"+c);
System.out.println("年龄:"+d+"cm");
System.out.println("体重:"+e+"kg");
}
}