Java是Sun Microsystems在1995年开发的一种编程语言,后来被Oracle收购。它现在是一个完整的平台,具有许多标准API,开源API,工具,庞大的开发人员社区,并且被大大小小的公司用来构建最受信任的企业解决方案。Android应用程序开发完全使用Java及其生态系统完成。
最新版本是Java 11,该版本于2018年发布,对先前版本Java 10进行了各种改进。但是出于所有意图和目的,我们将在所有教程中使用Java 8。
Java也分为几个“版本”:
SE-标准版-适用于台式机和独立服务器应用程序
EE-企业版-用于开发和执行运行在Java服务器中的Java组件
ME -Micro Edition-用于在手机和嵌入式设备上开发和执行Java应用程序
从官方网站下载最新的Java二进制文件。在这里,您可能会遇到一个问题,要下载的是JDK还是JRE?
JRE代表Java运行时环境,它是运行Java代码的依赖于平台的Java虚拟机。JDK代表Java Development Kit,它由大多数开发工具(最重要的是编译器javac
)和JRE组成。
因此,对于普通用户而言,JRE就足够了。但是由于我们将使用Java进行开发,因此我们将下载JDK。
下载相关的.msi文件(x86 / i586为32位,x64为64位)
运行.msi文件。这是一个自解压的可执行文件,它将在您的系统中安装Java!
下载适合您系统的tar.gz文件并安装:
bash $ tar zxvf jdk-8uversion-linux-x64.tar.gz
基于RPM的Linux平台下载相关的.rpm文件并安装:
bash $ rpm -ivh jdk-8uversion-linux-x64.rpm
用户可以选择安装Java,OpenJDK或Oracle JDK的开源版本。尽管OpenJDK正在积极开发中并与Oracle JDK同步,但它们在许可方面有所不同。但是,很少有开发人员抱怨Open JDK的稳定性。
有关Ubuntu的说明:
打开JDK安装:bash sudo apt-get install openjdk-8-jdk
Oracle JDK安装:bash sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
从Oracle下载中心下载Mac OSX .dmg可执行文件
或者使用自制软件来安装:
brew tap caskroom/caskbrew install brew-caskbrew cask install java
通过打开命令提示符(Windows)/ Windows Powershell / Terminal(Mac OS和* Unix)并检查Java运行时和编译器的版本,验证Java是否已正确安装在系统中。
$ java -versionjava version "1.8.0_66"Java(TM) SE Runtime Environment (build 1.8.0_66-b17)Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)$ javac -versionjavac 1.8.0_66
提示:如果你得到一个错误,如“找不到命令”在任java
或javac
或两者兼而有之,不要惊慌-它只是你的系统路径设置不正确。
好了,既然我们已经完成了安装,那么让我们首先开始了解Java生态系统的本质。
Java是一种解释和编译的语言,即我们编写的代码被编译为字节码并解释为运行。我们将代码写入.java文件,然后Java将它们编译为字节码,然后在Java虚拟机或JVM上运行以执行该字节码。这些字节码通常具有.class扩展名。
Java是一种非常安全的语言,因为它不允许您的程序直接在计算机上运行。而是,您的程序在称为JVM的虚拟机上运行。该虚拟机公开了几个API,用于您可以进行的低级机器交互,但除此之外,您不能显式地使用机器指令。这增加了巨大的安全性。
同样,一旦编译完字节码,它就可以在任何Java VM上运行。该虚拟机取决于计算机,也就是说,对于Windows,Linux和Mac具有不同的实现。但是由于有了此VM,您的程序可以保证在任何系统上运行。这种哲学称为“一次编写,随处运行”。
让我们编写一个示例Hello World应用程序。打开您选择的任何编辑器/ IDE并创建一个文件HelloWorld.java
。
public class HelloWorld { public static void main(String[] args) { // Prints "Hello, World" to the terminal window. System.out.println("Hello, World"); }}
请记住,在Java中,文件名应与public类完全相同,以便进行编译!
现在打开终端/命令提示符。在终端/命令提示符中将当前目录更改为文件所在的目录。并编译文件:
$ javac HelloWorld.java
现在使用java
命令运行文件!
$ java HelloWorldHello, World
Java已有大量文献记录,因为它支持大量的API。如果您使用的是任何主要的IDE(例如Eclipse或IntelliJ IDEA),您都可以找到其中包含的Java文档。
另外,这是用于Java编码的免费IDE的列表:
NetBeans
Eclipse
IntelliJ IDEA
Android Studio
BlueJ
jEdit
Oracle JDeveloper
Java支持对变量执行以下操作:
算术:Addition (+)
,Subtraction (-)
,Multiplication (*)
,Division (/)
,Modulus (%)
,Increment (++)
,Decrement (--)
。
字符串串联:+
可以用于字符串串联,但是-
对字符串进行减法不是有效的操作。
关系:Equal to (==)
,Not Equal to (!=)
,Greater than (>)
,Less than (<)
,Greater than or equal to (>=)
,Less than or equal to (<=)
按位:Bitwise And (&)
,Bitwise Or (|)
,Bitwise XOR (^)
,Bitwise Compliment (~)
,Left shift (<<)
,Right Shift (>>)
,Zero fill right shift (>>>)
逻辑:Logical And (&&)
,Logical Or (||)
,Logical Not (!)
分配:=
,+=
,-=
,*=
,/=
,%=
,<<=
,>>=
,&=
,^=
,|=
其他:Conditional/Ternary(?:)
,instanceof
尽管大多数操作是不言自明的,但条件(三元)运算符的工作方式如下:
expression that results in boolean output ? return this value if true : return this value if false;
示例:真实条件:
int x = 10; int y = (x == 10) ? 5 : 9; // y will equal 5 since the expression x == 10 evaluates to true
错误条件:
int x = 25; int y = (x == 10) ? 5 : 9; // y will equal 9 since the expression x == 10 evaluates to false
运算符的实例用于类型检查。它可用于测试对象是类,子类还是接口的实例。通用格式:* 类/子类/接口的对象实例 *
这是一个用于说明运算符实例的程序:
Person obj1 = new Person(); Person obj2 = new Boy(); // As obj is of type person, it is not an // instance of Boy or interface System.out.println("obj1 instanceof Person: " +(obj1 instanceof Person)); /*it returns true since obj1 is an instance of person */