Java第一节

在本章内容中,您将熟悉一个简单的程序“HelloWorld”以及对java语言有一个基本的了解。

<本节目录>

  • HelloWorld: Java实例
  • Java: 一种结构化语言
  • Java一些特性
  • Java与C/C++
  • 补充

HelloWorld: java示例

Java之Hello World代码段:

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

运行结果(在<>中显示):<Helle World!>

-注意-: System.out.println() 在新的一行中打印所有内容,如果写成System.out.print()则表示在当前行打印,同等类比C语言的 ‘ \n ’

Java: 一种结构化语言

Java是一种结构化编程,遵循结构化程序设计, 即structured programming。

结构化程序设计的原则是:程序 = 算法 + 数据结构

结构化程序设计的三种基本结构:顺序结构 选择结构 循环结构(已经证明,任何复杂的问题都可以通过这三种基本的算法结构来描述,后面我们后进一步讲解)

Java一些特性

  • 它是简单:
    不允许使用指针进行内存管理等,省去了很多C/C++中难理解的性质。
  • 高可移植性:
    即“一次编写,处处运行”,与主机平台无关,在Windows,Mac,Linux等平台上均可以执行,执行原理文末介绍。
  • 它是面向对象的
  • 它是安全的:
    Java的安全模型基于一个可定制的“沙盒”,Java 软件程序可在其中安全运行,对系统或用户无潜在风险,而在沙盒外部Java则什么也做不了。
  • 动态性
    虽然Java是一种静态语言,但是具有一定的动态性。具体表现在:反射机制,动态字节码操作,动态编译,执行其他脚本代码。(详情欢迎补充……)
  • 高性能:
    使用 JIT(实时)编译器,Java 通过使用可以轻松转换为本机代码的字节代码来实现高性能。
  • 它是强大的:
    Java有自己的强大的内存管理系统。这有助于在编译和运行时检查代码时消除错误。
  • Java 是多线程的:
    它支持多个线程执行(即轻量级进程),包括一组同步基元。

Java与C/C++

Java禁用了一些被C/C++滥用的特性:

  • 指针
  • 操作符重载
  • 多重继承
  • 友元类(访问另一个对象的私有成员)
  • 显式类型转换的限制(与内存管理相关)

补充:Java工作原理

一般的语言代码的工作原理是:
我们编译器或者其他环境中按照相应语言的规则编写,bu这些代码本质上以二进制的形式存储在内 存中,以二进制形式完成相应的操作。一般的代码编译在程序还是源代码的时候就把他转换为机器可以读懂的二进制程序,比如C语言,c语言通过编译器将源代码转换成了目标代码(.exe文件)的二进制格式,然后运行即可。

Java编译原理

Java工作原理遵从图示:java源代码(.java文件)通过java编译器(javac)编译之后,转化为字节码(.class),然后经过java虚拟机解释,在转化为机械码,传输给操作系统平台等后续。

类加载:加载相应.class文件,并创建对应class对象,将class写入虚拟机内存中;
字节码校验器:检测安全性
解释器:将.class之中的文件转换为机器语言。
解释器将语言一行一行的编译,所以过程会比较慢。加之,java编译的特点,需要中间转换,所以没有c语言执行效率高。

由于.class字节码与平台无关以及Java虚拟机的存在使得Java有较好的可移植性,跨平台性。在编译了一次之后,在之后的只要是已经配置好jdk环境变量的平台中调用.class文件便可以直接运行。
一次编译,处处运行。而c语言等可移植性并不高,需要处处编译,才可运行。


One thought on “Java第一节

发表评论