初探Java世界:从雏鸟起飞之Java篇

发表时间: 2023-12-05 08:08

Java 是一种基于类、面向对象的编程语言,其设计目的是尽可能减少实现依赖性。它的目的是让应用程序开发人员编写一次,到处运行,这意味着编译后的 Java 代码可以在所有支持 Java 的平台上运行,而无需重新编译。Java 于 1995 年首次发布,广泛用于开发桌面、Web 和移动设备的应用程序。Java 以其简单性、健壮性和安全性而闻名,使其成为企业级应用程序的流行选择。

JAVA由Sun Microsystems 公司的James Gosling于1995年开发 ,后来被Oracle公司收购。它是一种简单的编程语言。Java 使编写、编译和调试编程变得容易。它有助于创建可重用的代码和模块化程序。Java设计目的是尽可能减少实现依赖性。一种通用编程语言,供开发人员编写一次运行在任何地方的编译后的 Java 代码可以在所有支持 Java 的平台上运行。Java 应用程序被编译为可以在任何 Java 虚拟机上运行的字节代码。Java的语法与c/c++类似。

历史: Java 的历史非常有趣。它是一种创建于 1991 年的编程语言。James Gosling、Mike Sheridan 和 Patrick Naughton 组成的 Sun 工程师团队(被称为Green 团队)于 1991 年发起了 Java 语言。Sun Microsystems于 1996 年发布了其第一个公开实现,称为Java 1.0。它在流行平台上提供免费运行时间。Java1.0编译器由Arthur Van Hoff用Java重写,以严格遵守其规范。随着 Java 2 的到来,新版本具有针对不同类型平台构建的多种配置。

1997 年,Sun Microsystems 接触了 ISO 标准机构,并随后将 Java 正式化,但很快就退出了这一进程。曾经,Sun 免费提供大部分 Java 实现,尽管它们是专有软件。Sun 通过销售 Java Enterprise System 等专用产品的许可证来获得 Java 收入。

2006 年 11 月 13 日,Sun 将其大部分 Java 虚拟机作为免费的开源软件发布。2007 年 5 月 8 日,Sun 完成了这一过程,使其所有 JVM 的核心代码都可以在开源分发条款下使用。

创建java的原则是简单、健壮、安全、高性能、可移植、多线程、解释性、动态等。1995年,Java由被誉为Java之父的James Gosling开发。目前,Java应用于移动设备、互联网编程、游戏、电子商务等领域。

Java 应用程序的实现涉及以下步骤。包括:
1. 创建程序
2. 编译程序
3. 运行程序

请记住,在开始创建程序之前,必须在我们的系统上正确安装 Java 开发工具包 (JDK) 并且设置路径。
• 创建程序
我们可以使用文本编辑器(记事本)或 IDE (NetBeans) 创建程序
class Test
{
public static void main(String []args)
{
System.out.println(“My First Java Program.”); }
}
};

文件 -> 保存 -> d:\Test.java

• 编译程序
要编译程序,我们必须运行Java 编译器(javac),“命令提示符”上的源文件名称如下

如果一切正常,“javac”编译器将创建一个名为“Test.class”的文件,其中包含程序的字节代码。

• 运行程序
我们需要使用Java 解释器来运行程序。

Java编程语言被命名为JAVA。为什么?

在OAK这个名字之后,团队决定给它起一个新的名字,建议的词语是Silk、Jolt、revolutionary、DNA、dynamic等。这些名字都很容易拼写,说起来也很有趣,但他们都想要名称要体现技术的本质。根据 James Gosling 的说法,Java与Silk一起属于顶级名称,并且由于 java 是一个独特的名称,因此大多数人更喜欢它。

Java是印度尼西亚一个岛屿的名称,那里生产了第一种咖啡(称为Java咖啡)。这个名字是詹姆斯·高斯林在他办公室附近喝咖啡时选择的。请注意,Java 只是一个名称,而不是缩写词。

Java 术语

在学习Java之前,必须熟悉这些Java常用术语。

1、Java虚拟机(JVM): 这就是一般所说的JVM。程序的执行分为三个阶段。他们编写、编译和运行程序。

· 编写程序是由像你我这样的java程序员完成的。

· 编译由JAVAC编译器完成, JAVAC编译器是 Java 开发工具包 (JDK) 中包含的主要 Java 编译器。它将 Java 程序作为输入并生成字节码作为输出。

· 在程序的运行阶段, JVM执行编译器生成的字节码。

现在,我们明白了Java虚拟机的作用就是执行编译器生成的字节码。每个操作系统都有不同的 JVM,但它们在执行字节码后产生的输出在所有操作系统中都是相同的。这就是为什么 Java 被称为独立于平台的语言。

2、开发过程中的字节码: 正如前面所讨论的,JDK的Javac编译器将java源代码编译为字节码,以便JVM可以执行。它被编译器保存为.class文件。要查看字节码,可以使用像javap这样的反汇编器。

3. Java开发工具包(JDK):当我们学习字节码和JVM时,我们会使用JDK这个术语。所以,顾名思义,它是一个完整的 Java 开发工具包,包括编译器、Java 运行时环境 (JRE)、java 调试器、java 文档等。为了让程序在 java 中执行,我们需要在我们的计算机上安装 JDK。计算机来创建、编译和运行java程序。

4. Java运行时环境(JRE): JDK包括JRE。我们的计算机上安装了JRE可以让java程序运行,但是我们无法编译它。JRE 包括浏览器、JVM、applet 支持和插件。为了运行java程序,计算机需要JRE。

5.垃圾收集器:在Java中,程序员无法删除对象。为了删除或重新回收该内存,JVM 有一个名为垃圾收集器的程序。垃圾收集器可以重新收集未被引用的对象。因此,Java 通过处理内存管理使程序员的生活变得轻松。然而,程序员应该小心他们的代码是否使用了已经使用了很长时间的对象。因为垃圾无法回收被引用对象的内存。

6. ClassPath:路径是java运行时和Java编译器寻找要加载的.class文件的文件路径。默认情况下,JDK提供了许多库。如果您想包含外部库,则应将它们添加到类路径中。

Java 的主要/主要特性

1.平台无关:编译器将源代码转换为字节码,然后JVM执行编译器生成的字节码。该字节码可以在任何平台上运行,无论是 Windows、Linux 还是 macOS,这意味着如果我们在 Windows 上编译程序,那么我们可以在 Linux 上运行它,反之亦然。每个操作系统都有不同的JVM,但是所有操作系统在执行字节码后产生的输出都是相同的。这就是为什么我们称java为平台无关语言。

2.面向对象的编程语言:以对象的集合来组织程序是面向对象编程的一种方式,每个对象代表类的一个实例。

面向对象编程的四个主要概念是:

· 抽象

· 封装

· 继承

· 多态性

3. 简单: Java是简单语言之一,因为它没有指针、运算符重载、多重继承和显式内存分配等复杂功能。

4. 健壮: Java语言的健壮意味着可靠。它的开发方式是在尽早检查错误方面投入大量精力,这就是为什么 java 编译器甚至能够检测到其他编程语言不易检测到的错误。java 使其健壮的主要特性是垃圾收集、异常处理和内存分配。

5. 安全: 在java中,我们没有指针,因此我们无法访问越界数组,即如果我们尝试这样做,它会显示ArrayIndexOutOfBound Exception 。这就是为什么在 Java 中无法利用堆栈损坏或缓冲区溢出等多个安全缺陷的原因。而且,java程序运行在独立于os(操作系统)环境的环境中,这使得java程序更加安全。

6. 分布式: 我们可以使用java编程语言创建分布式应用程序。远程方法调用和 Enterprise Java Bean 用于在 Java 中创建分布式应用程序。Java 程序可以轻松地分布在一个或多个通过互联网连接相互连接的系统上。

7. 多线程: Java支持多线程。它是一项 Java 功能,允许并发执行程序的两个或多个部分,以最大限度地利用 CPU。

8. 可移植性: 众所周知,在一台机器上编写的java代码可以在另一台机器上运行。java的平台无关特性使得其与平台无关的字节码可以带到任何平台上执行,使得java具有可移植性。

9. 高性能: Java 体系结构的定义方式是减少运行时的开销,有时 Java 使用即时 (JIT) 编译器,编译器按需编译代码,只编译那些需要的方法。称为使应用程序执行得更快。

10.动态灵活性: Java完全面向对象,使我们能够灵活地向现有类添加类、新方法,甚至通过子类创建新类。Java 甚至支持用其他语言(例如 C、C++)编写的函数,这些函数被称为本机方法。

11. 沙箱执行: Java 程序在单独的空间中运行,允许用户在字节码验证器的帮助下执行其应用程序,而不会影响底层系统。字节码验证器还提供额外的安全性,因为它的作用是检查代码是否存在任何访问违规。

12.一次编写,随处运行:如上所述,java应用程序生成一个“.class”文件,该文件与我们的应用程序(程序)相对应,但包含二进制格式的代码。它提供了与体系结构无关的易用性,因为字节码不依赖于任何机器体系结构。这是java在全球范围内进取的IT行业中使用的主要原因。

13. 编译和解释的能力:大多数语言的设计目的要么是编译语言,要么是解释语言。但是,当 Java 编译器将源代码编译为字节码并且 JVM 执行该字节码以机器依赖于操作系统的可执行代码时,java 集成了巨大的能力。


class :class 关键字用于声明 Java 中的类
public :它是一个访问说明符。公开意味着该功能对所有人可见。
static :static 又是一个用于使函数静态的关键字。要执行静态函数,您不必创建该类的对象。这里的main()方法是由JVM调用的,没有为类创建任何对象。
void :它是返回类型,意味着该函数不会返回任何内容。
main :main()方法是Java程序中最重要的方法。这是要执行的方法,因此所有逻辑都必须位于 main() 方法内。如果 java 类没有 main() 方法,则会导致编译错误。
String[] args :这用于表示用户可以选择在命令行中向 Java 程序输入参数。我们可以使用 String[] args 或 String args[]。Java 编译器会接受这两种形式。
System.out.println :用于在控制台上打印任何内容,如 C 语言中的“printf”。


例子

// Importing classes from packages

import java.io.*;


// Main class

public class GFG {


// Main driver method

public static void main(String[] args)

{


// Print statement

System.out.println("Welcome to GeeksforGeeks");

}

}

输出

Welcome to GeeksforGeeks

// Q: Write a Java program to calculate the sum and product of two given number.


class Sample {

public static void main(String args[])

{

int a,b,sum=0,product=0;

a=10;

b=20;

sum=a+b;

product=a*b;

System.out.println("Sum="+sum);

System.out.println("Product="+product);

}

};

// Q: Write a Java program to accept two numbers from the user and calculate sum and product.


import java.util.*;

class Sample {

public static void main(String args[])

{

int a,b,sum=0,product=0;

Scanner scan=new Scanner(System.in);

System.out.println("Enter the First No:");

a=scan.nextInt();

System.out.println("Enter the Second No:");

b=scan.nextInt();

sum=a+b;

product=a*b;

System.out.println("Sum="+sum);

System.out.println("Product="+product);

}

}


// Q: Write a Java program to accept two number from the user and calculate the average.


import java.util.*;

public class Sample {

public static void main(String args[])

{

double a,b,sum=0,avg=0;

Scanner scan=new Scanner(System.in);

System.out.println("Enter the First No:");

a=scan.nextDouble();

System.out.println("Enter the Second No:")

b=scan.nextDouble();

sum=a+b;

avg=sum/2;

System.out.println("Average="+avg);

}

}


// Q: Write a java program to convert fahrenheit to celsius and celsius to Fahrenheit using formula c = (5.0/9.0)*(f-32).


import java.util.Scanner;

public class Fahrenheit_Celsius

{

public static void main(String[] args)

{

double c, f;

Scanner s = new Scanner(System.in);

System.out.print("Enter temperature in Fahrenheit:");

f = s.nextDouble();

c = (5.0/9.0)*(f-32);

System.out.println("Temperature in Celsius:"+c);

}

}


// Q: Write a Java program to calculate the area of triangle using three sides.


import java.lang.*;

import java.util.Scanner;

public class Area

{

public static void main(String[] args)

{


int a,b,c;

double s,area;

Scanner scan = new Scanner(System.in);

System.out.print("Enter the three sides:");

a=scan.nextInt();

b=scan.nextInt();

c=scan.nextInt();

s=(a+b+c)/2;

area=Math.sqrt(s*(s-a)*(s-b)*(s-c));

System.err.println("Area of Triangle:"+area);

}

}


解释:

1. 注释:注释用于解释代码,其使用方式与Java或C或C++中类似。编译器会忽略注释条目并且不执行它们。注释可以是单行或多行。

单行评论:

句法:

// 单行注释

多行注释:

句法:

/* 多行注释*/

2. import java.io.*:表示可以导入io包的所有类。Java io包提供了一组输入和输出流,用于将数据读取和写入文件或其他输入或输出源。

3.类:类包含程序中要使用的数据和方法。方法定义类的行为。JAVA中GFG类只有一个Main方法。

4. static void main(): static关键字告诉我们无需实例化类即可访问该方法。

5. void:关键字告诉该方法不会返回任何内容。main ()方法是我们应用程序的入口点。

6. System.in:这是标准输入流,用于从键盘或任何其他标准输入设备读取字符。

7. System.out:这是标准输出流,用于在计算机屏幕等输出设备上生成程序结果。

8. println(): Java中的该方法也用于在控制台上显示文本。它在控制台上打印文本,并且光标移动到控制台下一行的开头。下一次打印从下一行开始。

9. String []args:这是传递给 main 函数的参数,它是一个数组名称为 args 的字符串数组。人们可以选择自己的灵活名称,但这个名称已被许多开发人员使用。

java 中的所有内容都在 Class 中表示为对象,包括 main 函数。

JAVA的要点:

以下是有关 Java 的一些要点:

1. Java 是一种高级、面向对象的编程语言,于 1995 年首次发布。

2. Java 是平台无关的,这意味着用 Java 编写的代码可以在任何安装了 Java 虚拟机 (JVM) 的平台上运行。

3. Java 代码被编译为字节码,然后可由 JVM 执行。

4. Java 以其“一次编写,随处运行”的理念而闻名,这使其成为跨平台开发的流行选择。

5. Java 通过垃圾收集提供自动内存管理,这使得编写和维护代码变得更加容易。

6. Java 拥有庞大的标准库,为常见的编程任务提供了广泛的工具。

7. Java 广泛应用于企业应用程序、Web 开发和 Android 应用程序开发。

8. Java 是一种强类型语言,这意味着每个变量和表达式都有特定的类型,必须在使用前声明。

9. Java 具有强大的异常处理机制,可以更轻松地处理代码中的错误和意外行为。

10. Java 支持多线程,这使得编写可以同时执行多个任务的程序成为可能。

Java的优点:

1. 平台无关:Java 代码可以在任何安装了 Java 虚拟机 (JVM) 的平台上运行,这意味着应用程序可以编写一次并在任何设备上运行。

2. 面向对象:Java是一种面向对象的编程语言,这意味着它遵循封装、继承和多态性原则。

3. 安全性:Java 具有内置的安全功能,使其成为开发应用程序的安全平台,例如自动内存管理和类型检查。

4. 大型社区:Java 拥有大型且活跃的开发人员社区,这意味着学习和使用该语言可以获得大量支持。

5. 企业级应用程序:Java广泛用于开发企业级应用程序,例如Web应用程序、电子商务系统和数据库系统。

Java的缺点:

1. 性能:由于 Java 使用虚拟机和自动内存管理,因此与其他编程语言(例如 C++)相比,Java 可能会慢一些。

2. 内存管理:Java 的自动内存管理可能会导致性能下降和内存使用量增加,这对于某些应用程序来说可能是一个缺点。