Java 初学者教程——Java 编程变得简单!

举报
Donglian Lin 发表于 2021/12/25 22:08:10 2021/12/25
【摘要】 Java 是一种面向对象的编程语言。它现在是世界上广泛使用的计算机编程语言,用于构建 Web 和桌面应用程序。它是满足许多组织的企业编程要求的首选语言,也已成为实现基于 Internet 的应用程序和设备软件的首选语言。

在使用中,今天有相当多的通用计算机和 10 亿多台支持 Java 的手机、智能手机和手持设备(如平板电脑)。借此,我们可以了解到java程序语言是当今世界范围内巨大的新兴语言。由我们的Java 培训专家撰写的本 Java 教程系列中的其他博客将深入涵盖 Java 和 J2EE 的所有重要主题。

现在,让我们继续阅读这篇 Java 教程博客,我们将按照以下顺序了解 Java 的各个方面。

什么是Java?

Java 是一种面向对象的编程语言。它现在是世界上广泛使用的计算机编程语言,用于构建 Web 和桌面应用程序。它是满足许多组织的企业编程要求的首选语言,也已成为实现基于 Internet 的应用程序和设备软件的首选语言。

Java 应用程序的类型1)独立应用程序
也称为桌面应用程序或基于窗口的应用程序。这些是我们需要在每台机器上安装的传统软件。媒体播放器、防病毒软件等。AWT 和 Swing 是一些需要 Java 来创建独立应用程序的独立应用程序示例。
2) Web Application
Web 应用程序运行在服务器端并创建一个动态页面。许多技术需要 Java 编程语言来使用 Java 创建 Web 应用程序。

3)企业应用
企业应用本质上是分布式的,例如银行应用。它在许多方面都具有优势,例如高级安全性、负载平衡和集群。

4)移动应用
程序为移动设备创建的移动应用程序称为 . 目前,Android 和 Java ME 满足创建移动应用程序的要求。

Java 平台/版本

Java编程语言的平台如下:

  1. Java 平台,标准版 (Java SE)
  2. Java 平台企业版 (Java EE)
  3. Java 平台,微型版 (Java ME)
  4. 爪哇外汇。

Java的历史


Java是由发明了詹姆斯·高斯林,俗称为Java之父,在1995年带领一个研究小组在Sun Microsystems的,詹姆斯·高斯林努力创建一个新的编程语言,可以让消费者通过电子设备相互通信。 
有趣的事实:Java 的旧名称是 Oak。Oak 是 James Gosling 在 1989 年创建的一种编程语言,后来演变为 Java。

Java的特点


Java 的显着特点如下:

面向对象:

Java 是一种面向对象的编程语言,因为它允许将面向对象的设计实现为一个工作系统。

平台独立:

与其他编程语言不同,java 不会被编译到特定的机器中,而是被编译为独立于平台的字节码,然后在网络上分发并由 Java 虚拟机 (JVM) 解释。

安全的:

Java 的安全特性使开发无病毒、无篡改的系统成为可能。像Macafee、Norton这样的软件都是用Java编程构建的。

健壮:
Java 努力专注于处理意外终止和意外操作错误检查和运行时。检查。

多线程:
Java 的多线程特性允许编写可以同时执行多个任务的程序。此功能允许开发人员构建可以流畅运行的交互式应用程序。

为什么要学习 Java 编程?


学习Java编程语言的好处:

  1. Java非常容易学习。
  2. Java 开发人员需求旺盛
  3. 很容易找到一份 Java 程序员的工作。
  4. 它有一个很好的开源库集合。
  5. Java是免费的。

Java – 对象和类

目的:

对象是类的实例。它是一个具有物理或逻辑状态和行为的实体。

class:

类是具有共同属性的对象的集合。它是创建对象的模板或蓝图。它是一个逻辑实体,不能是物理实体。它包括:

  • 字段
  • 方法
  • 构造函数
  • 嵌套类和接口

Java 程序有哪些类型?

Java小程序:

Java 小程序是一个图形用户界面,您可以在其上放置 GUI 组件或使用技术进行绘图。它嵌入在 HTML 页面中,并通过使用支持 Java 的 Web 浏览器执行。

句法:

  • import java.awt.Graphics;

使小程序能够绘制图形

  • import javax.swing.JApplet;

用于创建小程序。

安装Java

学习 Java 的第一步是安装和设置 Java 环境。我会将您重定向到Java下载链接进入下载网页后,您将能够看到如下所示的内容。

安装Java

下载所需的 JDK 文件后,请继续为 Java 设置环境。转到 Windows 高级设置并选择环境变量。您应该能够看到如下所示的对话框。

定位环境变量的步骤。

  • 转到开始并搜索“系统”
  • 点击“系统”
  • 点击“高级系统设置”
  • 单击“高级”选项卡下的“环境变量”,如下所示

System-Properties-java-installation-How-to-Install-Selenium-in-Java-Edureka Java教程

接下来,在系统变量下选择 new 并输入变量名称为“JAVA_HOME”,并根据您的系统输入 Java 安装目录的完整路径,如下所示

下图描述了环境变量名称和值的配置。

Java 教程:New-System-Variable-java-installation-How-to-Install-Selenium-Edureka

接下来你要做的就是配置你的环境变量。让我们看看如何做到这一点。 在这里,您必须编辑系统变量的路径,如下所示。

Java 教程:Environment-Variable-path-java-installation-How-to-Install-Selenium-Edureka

在“变量值”下,在行尾输入以下路径 –   %JAVA_HOME%bin;
现在,您可以单击“确定”并完成。

现在要交叉检查安装,只需在 cmd 中运行以下命令 –  java -version。它应该显示您系统中已安装的 Java 版本。

Java 教程

现在您已成功将 Java 安装到本地系统中。

Java 示例

让我们用其中的一个编程代码来理解java:

下面的例子说明了 Java 编程语言及其一些特性:

   public class Edureka
          { 
   public static void main(String args[])
   { 
System.out.println("Welcome to Edureka!!");
   } 
   }

输出:欢迎来到 Edureka!

解释:

第 1 行:我们声明一个类。class 关键字引入了一个类声明,并紧跟在类名之后。

第 2 行:声明类声明的主体

第 3 行:它是 java 应用程序的起点

第 4 行:开始方法声明的主体

第5行:指示计算机执行一个动作,即打印包含在双引号之间的字符串。

第 6&7 行:表示 main 方法和类声明的结束'

Java的特点

开源

Java 从诞生到今天,都是一个开源产品,它拥有所有公共访问权限。程序员可以自由发布完整的源代码供任何人下载、复制、重新分发,这通常是 GPL(通用公共许可证)的一部分,该许可证通常随开源软件一起提供。

高性能

Java 是一种解释型语言,因此它永远不会像 C 或 C++ 这样的编译型语言一样快。但是,Java 通过使用即时编译器实现了高性能。

多线程

Java 多线程特性使得编写可以同时执行多个任务的程序成为可能。多线程的好处是它利用相同的内存和其他资源同时执行多个线程,就像打字时一样,会检查语法错误。

安全的

在安全方面,Java 始终是首选。凭借java安全特性,它使我们能够开发无病毒、无脾气的系统。Java程序始终运行在Java运行环境中,与系统操作系统的交互几乎为零,因此更加安全。

平台无关

不像其他编程语言,如 C、C++ 等,它们被编译成特定于平台的机器。Java 保证是一次编写、随处运行的语言。在编译时,Java 程序被编译成字节码。这种字节码是平台无关的,可以在任何机器上运行,而且这种字节码格式还提供了安全性。任何具有 Java 运行时环境的机器都可以运行 Java 程序。

可移植性

跨平台特性使 Java 代码具有高度的可移植性。程序员可以在 Windows 中编写代码并在 Linux 操作系统中执行相同的代码。

面向对象

在 Java 中,一切都是具有某些数据和行为的对象。Java 可以很容易地扩展,因为它基于对象模型。

强大的

Java 通过主要强调编译时错误检查和运行时检查来努力消除容易出错的代码。但是 Java 改进的主要领域是内存管理和通过引入自动垃圾收集器和异常处理来错误处理的异常。

让我们从 Java 教程博客中的第一个主题开始,即 Hello World 程序。

你好世界计划

我将向您简要概述 Java 程序的外观。在下面的代码中,我创建了一个类 – MyFirstJavaProgram 并打印了“Hello World”。继续并尝试在您的 Eclipse IDE 中执行以下示例。别着急,我们稍后会讨论 Java 类。

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

//输出:

Hello World

接下来,让我们了解一下Java中的不同成员变量。 

Java – 基本语法

区分大小写- Java是区分大小写

类名- 对于所有类名,第一个字母应为大写。

方法名称- 所有方法名称都应以小写字母开头。

程序文件名-程序文件的名称应与类名完全匹配。

public static void main(String args[]) - Java 程序处理从 main() 方法开始,它是每个 Java 程序的必需部分。

Java 教程:成员变量

成员变量在类中起着重要作用,因为它用于存储数据值。当我们定义一个类时,我们可以声明一个成员变量。这些变量是类的成员。
成员变量进一步分为三类:

  • 局部变量
  • 实例变量
  • 类/静态变量

让我逐一讨论:

局部变量:这些是在类的方法中声明的变量。让我们通过一个编程示例来理解这一点:

public class Car {
      public void display(int m){ // Method
           int model=m; // Created a local variable model
           System.out.println("Model of the car is" +model);
     }
}

在上面的代码中,我的局部变量是 'model',我在一个方法 'display' 中声明了它,它有一个参数 -'m'。 

实例变量 实例变量在类中声明,但在方法、构造函数或任何块之外。让我们通过一个程序化的例子来理解这一点。 

public class Car {
      public String color;    // Created an instance variable color
      Car(String c){
            color=c;
      }
      public void display() { // Method
            System.out.println("color of the car is"+color);
      }
public static void main(String args[]){
           Car obj=new Car("black");
                  obj.display();
      }
}

在上面的代码中,'colour' 是我的实例变量,它有一个与之关联的值“black”。

类变量:类变量也称为静态变量。这些变量只有一个副本,由一个类中的所有不同对象共享。让我们通过一个程序化的例子来理解这一点。 

public class Car {
      public static int tyres;  // Created a class variable tyres
      public static void main(String args[]){
           tyres=4;
           System.out.println("Number of tyres are"+tyres);
      }
}

所有汽车都必须有 4 个轮胎,对吗?因此,在我上面的代码中,我将一个静态变量声明为“tyre”,其值在整个类中保持不变。

让我们继续这个 Java 教程博客,看看我们的下一个主题,即 Java 中的数据类型和运算符。

Java 教程:数据类型 

数据类型用于表示存储在变量中的不同值。它们 主要分为 4 个不同的方面——整数、浮点数、字符和布尔值。您可以参考下图以了解 与分配给它们的内存相关的不同数据类型。

数据类型 - Java 教程 - Edureka

如上图所示,数据类型有 4 种主要类型。

  • 第一种数据类型是存储数值的 整数
  • 现在,如果一个数值包含小数部分,它将被称为浮点数据类型。
  • 接下来,如果您希望存储字符,则使用第三种数据类型,即char。在 char 中,您可以存储任何字母字符以及特殊字符。
  • 最后一个数据类型是 仅存储“真”或“假”值的布尔值。

让我们继续前进,看看您可以在 Java 中执行的各种数据操作。

Java 教程:数据运算符

主要有4种不同类型的运算符,如下所示:

  • 算术运算符:执行加法、减法、乘法、除法和取模等算术运算。
  • 一元运算符:一元运算符用于递增或递减特定值。例如:++代表增量,--代表减量。
  • 关系运算符:它定义了两个实体之间的某种关系。例如:<、>、<=、>=、!=、==。
  • 逻辑运算符: 逻辑运算符通常与布尔(逻辑)值一起使用。

要了解有关 Java 中的运算符的更多信息,请访问此文章链接

同时,您可以观看此 Java 教程视频,其中使用示例清楚地解释了与 Java 相关的所有概念:

Java 教程:控制语句

控制语句是定义程序流程的语句。Java中有以下几种控制语句

循环 Java 条件语句类型-Edureka

他们建议计算机执行特定的代码段,前提是所陈述的条件为有效。条件语句分类如下    

如果条件

If Statement 是一个编程条件语句,它根据条件执行代码段,前提是它为真且有效。下面是一个 If 语句的示例。

//判断数字是正数还是负数。

Package ifloop;
public class ifloop {
public static void main(String[] args) {
        int number = -10;
        if (number &amp;gt; 0) {
              System.out.println("Number is positive.");
        }
        System.out.println("The number is negative.");
    }
}

//输出:

The number is negative.

其他条件

Else If 条件语句 用于执行两个语句中的一个。条件语句执行所提供的代码段是真实有效的。下面是一个 If 语句的示例。 

//判断数字是偶数还是奇数

package Esleifloop;
import java.util.Scanner;
public class elseifloop {
     public static void main(String[] args) {
          Scanner kb = new Scanner(System.in);
          System.out.println("Enter any integer value");
          int a=kb.nextInt();
          if(a%2==0){
                System.out.println("even number");
         } 
         else{
                System.out.println("odd number");
         }
     }
}

//输出:

Enter any integer value
21
odd number

Else-If 阶梯

Else if Ladder 是一组连续的 Else-If 语句,用于从给定语句的集合中执行一个真实有效的语句。以下是 Else-If 梯形图的示例。

C++-Tutorial-else-if-ladder-C-Edureka.jpg

//选择您选择的车辆。

package elseifladder;
import java.util.Scanner;
public class ladder {
public static void main(String[] args) {
      Scanner kb = new Scanner(System.in);
      System.out.println("Enter your chioce, 1 for the Sedan, 2 for SUV, 3 for Sports, 4 Cross Breed");
      int choice=kb.nextInt();
      if(choice==1){
            System.out.println("Sedan Class");
      }
      else if(choice==2){
            System.out.println("SUV Class");
      }
      else if(choice==3){
            System.out.println("Sports Class");
      }
      else if(choice==4){
            System.out.println("Cross-Breed Segment");
      }  
      else {
            System.out.println("Invalid Choice");
      }
   }
}

//输出:

Enter your choice, 1 for the Sedan, 2 for SUV, 3 for Sports, 4 Cross-Breed

3
Sports Class

嵌套条件

Nested-If 是一种条件语句,其中一个 Else-If 语句嵌入到另一个 If 语句中。以下程序是嵌套 If 条件的示例。

C#-Tutorial-nested-if-C-Edureka.jpg

//从给定的三个数中找出最大的数

package nestedif;
public class nested {
      public static void main(String[] args) {
            int n1 = 20, n2 = 30, n3 = 10, greatest;
            if (n1 &amp;gt;= n2) {
                 if (n1 &amp;gt;= n3) {
                      greatest = n1;
                 }  
                 else {
                      greatest = n3;
                 }
            } 
            else {
                 if (n2 &amp;gt;= n3) {
                     greatest = n2;
                 } 
                 else {
                     greatest = n3;
                 }
            }
            System.out.println("Largest number is " + greatest);
      }
}

//输出:

Largest number is 30

rnary操作

三元运算符 是一个有三个参数的条件语句。第一个是条件参数,第二个是 真比较 的结果,第三个是 假比较的结果   

//找出两个数中最大的一个

package Ternary;
import java.util.Scanner;
public class Ternaryoperators {
     public static void main(String[] args) {
          Scanner kb = new Scanner(System.in);
          System.out.println("Enter any integer value to a");
          int a=kb.nextInt();
          System.out.println("Enter any integer value to b");
          int b=kb.nextInt();
          int greater = (a &amp;lt; b) ? a : b;
          System.out.println(greater);
     }
}

//输出:

Enter any integer value to a
10
Enter any integer value to b
25
25

现在,我们将了解 Java 中的迭代。Java中有3个迭代循环

循环 Java 类型-Edureka

For循环

For 循环 是一个控制流语句,它允许您为有限次数的迭代执行特定的代码段。for 循环具有三个参数,即初始化变量、计数器变量递增/递减变量。   

下面是与 For 循环相关的流程图。

以下代码是 For 循环的示例。

//使用普通的For循环打印数组中的元素

package forloop;
public class forloop {
      public static void main(String[] args) {
            String[] arrData = {"JOHN", "JERRY", "RALPH", "JIM", "TOM"};
            System.out.println("Using normal For Loop:");
            for(int i=0; i&amp;lt; arrData.length; i++){
                    System.out.println(arrData[i]);
             }
      }
}

//输出:

Using normal For Loop:
JOHN
JERRY
RALPH
JIM
TOM

增强的 For 循环

增强/高级For循环 类似于for循环中,但是,它 最大限度地减少了代码的长度 不包括计数器变量初始化变量。控制直接流入数组/集合并通过访问它们的索引对元素执行操作。   

下面是与增强的 For 循环相关的流程图。

以下代码是增强型 For 循环的示例。

//使用增强/高级For循环打印数组中的元素

package advforloop;
public class advforloop {
       public static void main(String[] args) {
             String[] arrData = {"JOHN", "JERRY", "RALPH", "JIM", "TOM"};
             System.out.println("Using Enhanced For Loop:");
             for (String strTemp : arrData){
                    System.out.println(strTemp);
             }
        }
}

//输出:

Using Enhanced for loop:
JOHN
JERRY
RALPH
JIM
TOM

嵌套 For 循环

嵌套 for 循环 在其自身内嵌入了另一个 For 循环。 外循环触发内循环。内循环完全执行,然后触发外循环更新迭代。这个过程一直持续到外循环完全执行。

下面是与嵌套 For 循环相关的流程图。

Loops-in-Java-Nested-for-loop-Edureka

以下代码是嵌套 For 循环的示例。

//使用普通的For循环打印二维数组中的元素

package nestedforloop;
public class nested {
      public static void main(String[] args){
            int[][] arr = { { 1, 2 }, { 3, 4 } };
                   for (int i = 0; i &amp;lt; 2; i++)
                         System.out.println("Row" + i + " - ");
                         for (int j = 0; j &amp;lt; 2; j++)
                               System.out.println(arr[i][j]);
                         }
                   System.out.println("");
                   }
           }
}

//输出:

Row 0 - 12
Row 1 - 34

While 循环

While 循环 是一个控制流语句,它重复执行自身直到满足给定的布尔条件。While 循环可以看作是一个重复的 If 语句。 

下面是 While 循环的流程图。

C++-教程-While-loop-Edureka

以下代码是 While 循环的示例。

//使用While循环查找数字是否为质数

package whileloop;
import java.util.Scanner;
public class whiledemo {
      public static void main(String[] args) {
           Scanner kb = new Scanner(System.in);
           System.out.println("Enter any number");
           int num=kb.nextInt();
           int i = 2;
           boolean flag = false;
           while(i &amp;lt;= num/2)
          {
                if(num % i == 0)
                {
                      flag = true;
                      break;
                }
               ++i;
          }
          if (!flag)
               System.out.println(num + " is a prime number.");
          else
               System.out.println(num + " is not a prime number.");
          }
}

//输出:

Enter any number
5
5 is a prime number.

做 While 循环

Do While 循环 被认为是一个与普通 While 循环完全相似的条件语句。唯一的区别是 Do While 循环将布尔/条件语句放在循环的末尾。这使得 Do While 循环至少执行一次。

下面是 Do While 循环的流程图。

C++教程-做while循环

以下代码是 Do While 循环的示例。

//在数组中插入元素并使用普通的While循环添加它们

package dowhileloop;
import java.util.Scanner;
public class dowhile {
    public static void main(String[] args) {
        Double a, Summation = 0.0;
        Scanner kb = new Scanner(System.in);
        do {
                   System.out.print("Enter a number to perform addition and zero to exit: ");
                   a = kb.nextDouble();
                   Summation += a;
       } 
       while (a != 0.0);
       System.out.println("Sum of the numbers = " + Summation);
    }
}

//输出:

Enter a number to perform addition and zero to exit: 10
Enter a number to perform addition and zero to exit: 20
Enter a number to perform addition and zero to exit: 30
Enter a number to perform addition and zero to exit: 40
Enter a number to perform addition and zero to exit: 0
Sum of the numbers = 100.0

无限循环

无限循环 实际上并不是一个实际设计的循环。相反,这是一种循环条件失败并且执行持续到您手动停止它的情况。

以下代码是无限循环的示例。

//生成无限循环

package infiniteloop; 
public class infinity { 
       public static void main(String[] args) { 
             int i=0; 
             while(true) { 
                     System.out.println("Edureka"); 
                     i++;
             } 
        } 
}

//输出:

Edureka
Edureka
Edureka
.............

接下来,让我们看看Java中的类和对象是什么。

Java 教程:类和对象

Java 中的类是包含所有数据的蓝图。类包含描述对象行为的字段(变量)和方法。让我们来看看类的语法。

class Abc {
      member variables // class body
        methods
 }

但是如何访问这些成员变量和方法呢?这里是Object的概念。

对象是具有状态和行为的类中的主要元素。它是一个可以访问您的数据的类的实例。让我们看看在Java 中创建对象的语法 

对象 - Java 教程 - Edureka

在这里,Student 是您的类名,后跟对象的名称。然后是一个“new”关键字,用于分配内存。最后,有一个对构造函数的调用。此调用初始化新对象。
现在让我们看看如何使用 Java 中的对象调用方法:

class Student()
      void display(); {                      // Method
     ------                                         // logic of method
}
public static void main(String args[]){
      Student obj=new Student();    // Created an object
      obj.display();                           // Method called
}   

想了解更多关于他们的信息吗?我建议您观看此 Java 类视频,它将带您深入了解 Java 类和 Java 中的不同关键组件。来吧,享受视频,告诉我你的想法。

接下来,让我们在 Java 教程博客中继续讨论另一个关键概念,即数组。

Java 教程:数组

Java 中的数组类似于 C++ 或任何其他编程语言中的数组。数组是一种数据结构,其中包含相同类型的顺序元素。

假设您要存储 50 个数字。而不是声明各个变量,如产品数,数字1的,...... 依此类推。您可以声明一个数组变量——“数字”,并使用数字0],数字1] 来表示单个变量。这将减轻您的任务并最大限度地减少冗余。

每个数组都有两个组件:索引和值。请参阅下图以更好地理解

数组 - Java 教程 - Edureka

这里 索引从零开始直到 (n-1) w这里 n= 数组的大小。假设您要存储 10 个数字,然后索引从零开始一直到 9。

Java中有两种类型的数组:

  • 一维 数组
  • MUL TI-维阵列

单维数组:在单维数组中,可以通过通用名称访问相同类型的变量列表。您可以使用以下语法初始化数组:

int a[] = new int[12];

你可以参考下面的图片,我已经相对于给定的数据存储 DEX。

单维 - Java 教程

ul ti 十分钱联盟数组:在多维数组中,您的数据以矩阵形式存储。在这里,您可以使用以下语法初始化数组:

int table[][]= new int[4][5];

它与我们在数学中使用的矩阵非常相似。请参阅下图,其中我存储了不同维度的数据。

MultiDimensionArray - Java 教程 - Edureka

因此,数组可帮助您优化可以在任何位置插入数据的代码。 

让我们看下面的代码来理解Java中数组的概念。

import java.util.*;
public class ArrayExample {
      public static void main( String args[])
     {
     double invoice[][]= new double[10][2];  // Initializing array
          Scanner obj= new Scanner(System.in);    // creating a scanner object to take input from user
          for(i=0;i<10;i++){                       // nested for loops
              for(j=0;j<2;j++);
               {
               System.out.println("Enter the value");
               invoice[i][j]=obj.nextDouble();         // store values to array    
          for(i=0;i<10;i++){
              for(j=0;j<2;j++)
               {
                System.out.println(invoice[i][j]);
               }
         }
     }
}

在上面的代码中,我已经解释了如何获取数组的输入并打印相同的内容。
我希望你们清楚数组的外观以及如何初始化数组。 现在,让我们总结一下上述主题,看看 Java 程序的整个结构。

Java 教程:程序的结构

到目前为止,我们已经了解了成员变量、数据类型、控制语句、类和对象。让我们看看它们是如何在 Java 中的一个类中组合在一起的。

public class Car{                    // Class creation
       String color;                        // Member variables   
       String model;
       public void SpeedCheck(int s)        // Method 
         {
         int speed=s;
           if(speed>100)                        // Control statement
           {
           System.out.println(" You are driving very fast");
           }
           else
           {
            System.out.println("You are driving at normal speed");
           }
public static void main ( String args[]) 
         {
         Car obj= new Car();                  // Object creation
         obj.speed(60);
         }

最后,我们来到 Java 教程博客中的最​​后一个主题,即面向对象的编程概念。

文件输入/输出处理

Java 有一个专门的库来处理它的所有输入和输出功能。处理 Java 中所有输入/输出流的是 java.io 包/库。Java有两种类型的流,它们是:

  • 输入流
  • 输出流

输入流

它负责从所有来源读取数据。

输出流

它负责将数据写入目的地。

//例子:

package edureka;
 
import java.io.*;
public class fileStreamTest {
         public static void main(String args[]) {
                try {
                      byte bWrite[] = { 1, 2, 3, 4, 5 };
                      OutputStream os = new FileOutputStream("Edureka.txt");
                      for (int x = 0; x < bWrite.length; x++) {
                            os.write(bWrite[x]);
                      }
                      os.close();
                      InputStream is = new FileInputStream("Edureka.txt");
                      int size = is.available();
                      for (int i = 0; i < size; i++) {
                            System.out.print((char) is.read() + " ");
                      }
                      is.close();
                      } 
                catch (IOException e) {
                       System.out.print("Exception");
                 }
         }
}

现在,我们将进入 Java 中面向对象的编程概念。

Java 教程:OOP 概念

我们已经讨论了 Java 中的类和对象。让我们讨论面向对象编程的 4 个主要概念——继承、封装、多态和抽象。

让我们从第一个概念开始,即继承。

继承: 中号的你OST必须熟悉继承。继承是一个类获取另一个类的属性的过程。 但是继承了谁的属性呢?在这里,我们有两个类,一个 七仁d类 ,其继承的特性基类
继承属性的类称为 子类。它也被称为派生类或子类。接下来,其属性被继承的类称为 父类或基类。让我们通过查看这个真实的动物示例来理解这些类。

继承 - Java 教程 - Edureka

在上图中,Animal 是超类,而两栖动物、爬行动物、哺乳动物和鸟类是您的子类,它们继承了“Animal”类的属性。

在 Java 中,继承用于避免代码冗余。另外,继承有很多类型,别担心,我们将在下一篇关于面向对象编程的博客中更深入地介绍。

封装:Java 中的封装是一种将数据和代码包装在一起作为一个单元的机制。请参阅下图,其中所有方法、变量都绑定在一个类中。

封装 - Java 教程 - Edureka

在封装中,一个类的变量将对其他类隐藏,只能通过其当前类的方法访问。

多态性:多态性是变量、函数或对象采取多种形式的能力。当使用父类引用子类对象时,OOP 中多态性的最常见用途发生。多态也是通过函数重载来实现的。别担心!我将在下一篇博客中解释整个概念。现在,让我们假设一个真实的场景,老师告诉学生绘制具有不同功能的不同形状/图形。

多态 - Java 教程 - Edureka

假设我想绘制一个特定的形状,该形状已经作为程序的一部分提供了多个功能。所以处理形状的函数,我将它们称为 draw()。现在根据我传递给这些函数的值,它将绘制不同的形状。假设在矩形的情况下,我传递两个值 - 长度和宽度。同样,对于一个圆,我正在传递一个半径。根据您传递的值,将调用用于不同目的的不同函数。所以这可以通过函数重载来实现。请继续关注,函数重载的概念将在我的下一篇博客中详细介绍。

抽象: 基本上是处理想法而不是事件的质量。抽象是向用户隐藏实现细节并只向用户提供功能的方法。让我们看看这个现实生活中的汽车示例,我将帮助您理解抽象到底是什么。

抽象 - Java 教程 - Edureka

如果你考虑这辆车的情况,这里的机械师正在修理汽车的某个功能。但是用户或者你可以说司机不想知道这些事情,他只是想让他的车恢复工作状态。所以在这里,你基本上隔离了实现并向其他人展示了他真正想要看到的,这正是抽象的

这是 Java 教程博客系列的第二篇博客的结尾。我希望你们清楚我上面讨论的每个方面。在我的下一篇博客中,我将通过示例详细解释 Java 的面向对象编程概念。

要以更好的方式学习 Java 中的面向对象编程,请访问本文 链接。

异常处理

异常可以定义为在程序执行过程中出现的意外问题。异常中断了程序的顺序和正常流程。因此,必须解决这些异常以避免任何问题。

异常可以是任何类型,例如,

  • 用户提供的无效数据
  • 无法访问的文件位置
  • 网络丢失或其他硬件问题

让我们检查数组索引越界异常示例。

package edureka;
public class Edureka {
    public static void main(String args[]) {
          try {
                 int a[] = new int[21];
                 System.out.println("Accessing element:" + a[22]);
          } 
          catch (ArrayIndexOutOfBoundsException e) {
                 System.out.println("Exception thrown :" + e);
          }
          System.out.println("Out of the block");
    }
}

//输出:

Exception thrown :java.lang.ArrayIndexOutOfBoundsException: 22
Out of the block

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。