目录
前言
为什么学习JAVA?首先JAVA是一门优秀的程序设计语言,具有一系列计算机软件和规范形成的体系,它支持跨平台运行和软件开发,广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场所。
那么,JAVA是最好的语言吗?答案当然是no!
在不同的领域,都有其最适合的语言,比如:对于操作系统而言,C语言就是王;对于浏览器而言,JavaScript在后端占有一席之地;而在系统管理方面,python依赖于高性能预编译的库,提高API来进行科学计算;在新的网络项目方面,很多都是用Go语言编写的,如Docker等;编写网页用PHP等等等等。
那Java的优势在哪里呢?
1.语法简单;
2.在服务端编程、高性能网络程序、分布式计算、Android移动终端应用开发等等都具有很强的竞争力。
一、学习JAVA能干什么?
1.主流方向
(1)web后端开发;
(2)安卓app开发;
2.其他方向
(1)游戏开发;
(2)桌面客户端开发;
(3)嵌入式开发;
等等,但是这些方向JAVA只在其中做了一部分工作,但是也有需求。
二、JAVA语言的提出
Java 语言源于 1991 年 Sun 公司 James Gosling 领导的的 Oak 项目,1995 年 Sun 公司正式起名为Java,并提出“Write once, Run anywhere" 的口号。
三、JAVA的特点
1.简单
Java语法是C++语法的一个“纯净版本”。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。
2.面向对象
什么是面向对象? 这里我们用木匠打一个比方,一个“面向对象”的木匠始终关注的是所制作的椅子,第二位才是所使用的工具;而一个“非面向对象的”木匠首先考虑的是所使用的工具。
对于Java而言,一切皆对象。与C++面向对象的多重继承不同,Java具有更简单的接口概念。
3.分布式
Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
4.健壮性
Java采用的指针模型可以消除重写内存和损坏数据的可能性;
Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
5.安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统;
例如:
(1)运行时堆栈溢出;
(2)破坏自己进程空间之外的内存;
(3)未经授权读写文件。
6.体系结构中立
编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。精心设计的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。
7.可移植性
与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。
8.可解释性
Java解释器可以在任何移植了解释器的机器上执行Java字节码。
9.高性能
字节码可以(在运行时刻)动态的翻译成对应运行这个应用的特定cpu的机器码。
10.多线程
Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。
11.动态性
与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。
四、第一个JAVA程序
第一个程序,当然是要从"hello world"开始啦!
public class Test{
public static void main(String[] args){
System.out.println("Hello,world");
}
}
五、运行JAVA程序
1.所需工具
(1)JDK
Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包
含了编译器javac与自带的调试工具Jconsole、jstack等。
(2)IDEA
是java编程语言开发的集成环境。
IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。
2.两个阶段
Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
(1)编译
javac命令
(2)运行
java命令
总结
以上就是JAVA初识的内容,简单介绍了JAVA的相关知识及运行JAVA需要什么工具;希望大家多多支持,以后也会一直更新相关知识。