Java学习基础

java学习

java三种核心机制

  • java虚拟机
  • 代码安全性检测
  • 垃圾收集机制

其中
java虚拟机(JVM==Java virtual machine)在一台计算机上由软件或硬件模拟的计算机。java虚拟机(JVM)读取并处理经编译过的字节码class文件。

java运行环境(JRE==Java Runtime Environment)JRE=JVM+API(Lib), 其中Lib是一些已经提供好的库。
JRE运行程序时的主要功能:

  • 加载代码
  • 校验代码
  • 执行代码

Java自动垃圾回收技术

  • 系统级线程跟踪存储空间的分配情况
  • 在JVM的空闲时,检查并释放那些可被释放的存储器空间
  • 程序员无须也无法精确控制和干预该回收过程

Java开发工具包(JDK==Java Development Kit)JDK=JRE+Tools(编译工具,打包工具,调试工具,文档生成器之类)

在这里插入图片描述
在这里插入图片描述


java程序的类型和组成

Application 独立的程序,需要执行器(调用虚拟机来完成)

Applet 嵌在网页中的非独立程序,由专门的appltViewer来运行,或者由Web浏览器调用Java虚拟机来运行。

Application

// HelloWorld.java
public class HelloWorldApp {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

要点:

  • class是主体
  • public类名与文件同名
  • main()的写法固定

Applet程序

//HelloWorldApplet.java
import java.awt.*;
import java.applet.*;
import javax.swing.*;
public class HelloWorldApplet extends JApplet{
    public void paint(Graphics g){
        g.drawString("Hello World!",20,20);
    }
}
  • import 表示导入
  • extends JApplet表示继承,Applet或JApplet都可以
  • 有paint()方法,表示如何绘制
  • 没有main()方法

不能独立运行,需嵌套在html代码中

<HTML>
<HEAD><TITLE>An Applet</TITLE></HEAD>
<BODY>
<applet code="HelloWorldApplet.class" width=200 height=40 background=white>
</applet>
</BODY>
</HTML>

Java程序的基本构成

  • package语句(0或1句)即文件路径
  • import 语句(0或多句)用来导入其他类的类库
  • 类定义–class(1或多个)一个文件只能有1个public类(与文件同名)

类:

  • 类=类头+类体
  • 类成员=字段(变量,属性,field)+方法(函数,method)
  • 方法=方法头+方法体

java程序的执行机制

源文件.java
编译器
字节码文件 .class
解释器
My Program

命令行编译

用 javac 编译 .java 生成 .class文件,然后 java 命令运行.class文件即可。
注意:java命令后不能跟文件后缀
path 存放javac及java的路径,classpath是所引用类的路径


使用package时的编译

  • 文件名与路径一致
  • 程序中使用package语句
  • 使用 import 语句

学习用Eclipse编写java程序

  1. 创建java项目
  2. 创建程序包
  3. 编写java源程序
  4. 运行java程序

java 基本知识

在这里插入图片描述

以下是我们整理的 Java 和 C/C++ 的 10 条不同之处。

  • C++ 支持指针,而 Java 没有指针的概念。
  • C++ 支持多继承,而 Java 不支持多重继承,但允许一个类实现多个接口。
  • Java 是完全面向对象的语言,并且还取消了 C/C++ 中的结构和联合,使编译程序更加简洁
  • Java 自动进行无用内存回收操作,不再需要程序员进行手动删除,而 C++ 中必须由程序释放内存资源,这就增加了程序员的负担。
  • Java 不支持操作符重载,操作符重载则被认为是 C++ 的突出特征。
  • Java 允许预处理,但不支持预处理器功能,所以为了实现预处理,它提供了引入语句(import),但它与 C++ 预处理器的功能类似。
  • Java 不支持缺省参数函数,而 C++ 支持 。
  • C 和 C++ 不支持字符串变量,在 C 和 C++ 程序中使用“Null”终止符代表字符串的结束。-- 在 Java 中字符串是用类对象(String 和 StringBuffer)来实现的
  • goto 语句是 C 和 C++ 的“遗物”,Java 不提供 goto 语句,虽然 Java 指定 goto 作为关键字,但不支持它的使用,这使程序更简洁易读。
  • Java 不支持 C++ 中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值