编程新手(一):Java认知及初学者指南

编程新手(一):Java认知及初学者指南

本文主要为新手或小白而写的Java入门认知和学习指南。初步计划写三四篇,以便初学Java编程的同学能更好的认知Java、掌握Java编程中核心备忘清单以及进阶学习中应该了解的热门应用框架。有经验的Java人员可略过此篇。也欢迎各位新同学留言咨询。

关于2022年Java的预测和假设,请参考:Java 2022:值得一看的价值预测和假设

何为Java?

Java就是基于面向对象编程系统 (- ,OOPS) 概念的面向对象编程语言(- )。

Java 中的一切都与对象有关。如果你掌握了对象的本质,Java 就像吃你最喜欢的食物一样简单和讨人喜欢。

问题来了,既然就像食物,那就有很多的编程语言好的,但是为什么要学习 Java呢?

1.为什么是Java?

简单来讲,因为Java 就像您最喜欢的各种美味(易于编码)和健康(安全且健壮)的食物!

除了 Java 是 2021 年的顶级热门编程语言之一,并且可能至少还会保持十年这样的事实之外,Java 几乎在您能想到的每个领域都取得了成功!

由于 Java 是安全的和多线程的,因此非常适合银行和交易管理服务。电子商务商店和计费软件的逻辑是在基于 Core Java 的框架中编写的。比如 这样的移动操作系统也是使用 Java API的;股票市场算法基于 Java;最近以来的所有大数据——海量数据都用 Java 处理得轻而易举。实际上, 的 框架是用 Java 编写的。 Java 与 等其他框架形成了强大的组合,可以对金融和 IT 领域的实现依赖项进行有序化处理,并编写相应的服务器端应用程序。

2.何为Java编程?

Java 是由 Sun 开发的“一次编写、随处运行”的编程语言。它类似于 C 和 C++,但要容易得多。您可以将 Java 与许多技术(如 、node js、、、J2EE 等)结合起来,构建健壮、可扩展、可移植和分布式的成熟应用程序。 Java 还使用 等工具促进持续集成和测试。

3.Java简史

Java 最初是由 James 和他在 Sun 的同事在 1990 年代初期开发的。最初,它被称为“Oak”项目,其实现类似于 C 和 C++。 Java 这个名字是经过充分的头脑风暴后选定的,它是来自咖啡豆的名称。 Java 1.0,第一个版本于 1995 年发布,标语是“一次编写,随处运行”(write once, run )。后来,Sun 被甲骨文收购。从那以后,再也没有回头。 Java 的最新版本是 2021 年 9 月发布的 Java 17(一个长期支持版)。

4.Java的特点

Java 提供了许多吸引人的特性—

要了解有关 Java 功能特性的更多信息,请查阅官网的文章。

5.何为Java平台?

您一定听说过很多关于 Java 作为编程语言的信息。但是,你知道它也是一个“平台”吗? Java 平台是一个纯软件平台,与 、Mac、Linux 或 等传统平台截然不同。前者运行在后者平台的硬件之上。 Java 程序通过 Java 虚拟机,将字节码转换为本地代码,从而使程序可以在任何设备上运行!这意味着您不需要单独的特定于机器的编译器来运行 Java 代码。这就是 Java 也被称为平台的原因。 Java 编程语言不同于 Java 平台。 Java 编程语言可帮助您构建应用程序。您用 Java 编程语言编写的内容是在现有的程序和工具集合(统称为 Java 平台)的帮助下开发和运行的。 Java平台由JDK、JVM和JRE组成。

Java 编程语言有四种 Java 平台——

虽然可以在 Java SE 平台上构建独立应用程序,但大多数万维网(互联网)都依赖于 Java EE。 Java ME 适用于小型设备(如手机)上的应用程序。

Java 有三个主要架构性组件 – JVM、JDK 和 JRE。

JDK( Java Kit) 即Java 开发工具包,是开发人员编写代码并通过 JRE(Java ,即 Java 运行时环境)来运行它的地方。

代码是如何转译或翻译的?那是通过 Java 虚拟机 (JVM)来完成的。使用 JVM,任何用 Java(或任何其他语言——支持字节码的)编写的代码都可以转换为 Java 字节码。任何机器都可以基于操作系统实现此代码。 JVM 与 Java 包(库)一起驻留在 JRE 中以为Java程序服务。

简而言之:

如果有电脑j2ee 设计开发编程指南,可以在阅读本文时尝试一些事情以为练习:在本地系统上安装 JDK(Java 开发工具包)和 JRE(Java 运行时环境)。要下载最新版本j2ee 设计开发编程指南,请到Java官网。

然后,您可在系统上安装一个 IDE 以处理我们将学习的概念。 是我使用的一个很好的 IDE,它很容易设置并且不会让你感到麻烦。您可以下载 或 Easy 。 Easy 是 的轻量级版本,功能较少,适合初学者。还有其他更多 IDE,如,、 IDEA、BlueJ等——从Java 9开始,可以在中开始初步的java编程学习了,为初学者提供了便捷的学习支持。

如果您现在不想做任何这些,而只想阅读 一下关于Java,那很好!只需继续阅读,掌握概念,然后随时开始编码!

哦,这里有个很好的 初学者的Java 课程,您在学习了基础知识后会喜欢上它!@牛旦IT课堂 专栏内有,如《Java从入门到实战(极速版)》

6.术语和编程认知

在我们开始编码之前,让我们熟悉一些术语——

每个 Java 程序都是由类或接口定义的不同类型对象的集合构成。这是基本结构——

class School {
//由好几个其它对象和实例变量组成
public String schoolName;
public int ID;
Teacher[] teachers;
Student[] students;
…..
// 以及其它一些方法
public int getSchoolName(){
}
}

逻辑都在方法内部,可以像类的 和 方法一样简单,也可以像基于多个条件从数据库中获取某些内容一样复杂!

我们来写一个简单的程序,当我们学习更多 Java 概念时,我们会添加扩展它。

请注意,就像任何其他编程语言一样,Java 中的每个独立程序都应该由一个 main 方法来执行。

创建一个 Test 类,并向其添加一些简单的代码,示例如下:

class Test{
  public static void main(String args[]){
     int rollNumber = 36;
     String name = “Solo”;
     System.out.println(“My name is ” + name + “ and my roll number is ” + rollNumber);
  }
}

这段代码的每一行都会陆续学习,简要介绍如下:

让我们稍微修改一下这个程序,以获取用户输入的名称和卷号。有很多方法可以做到这一点。对于这段代码,让我们使用最常用的方法—— 类。要使用这个类,我们需要先将类进行导入: java.util.;

在之前的代码中,在 .out. (…) 之前,让我们添加以下几行代码——

Scanner scanInput = new Scanner(System.in);
System.out.println("Enter name: ");
name = scanInput.nextLine();
System.out.println("Enter roll number: ");
rollNumber = scanInput.nextInt();

运行此程序时,系统会提示您”Enter name:”,然后”Enter roll :”。

另一种方法是通过 ,这是传统的方法,但它有太多难以记住的包装。

我们来了解更多学生的信息——他们的姓名、登记号和科目。科目将在数组中,对于该程序,假设一名学生将修读 3 个科目。

将数组定义为 :

String[] subjects = new String[3];
//获取学生的所有科目信息
for(int j=0; j<subjects.length;j++){
	subjects[j] = scanInput.next();
}

这里我们使用 for 循环从用户那里获取科目并将其存储在 数组中。最新的java版本中for循环的语法已经改变,但这种语法更容易使用。 ‘j’是一个从0开始的临时计数器。注意j的变化。

. 获取数组的长度,在本例中为 3。

要查看数组的内容,可通过 .()来查看,或输出到控制台。

如我们所见,我们有三个变量 name、 和 ,它们都属于一个公共实体 。那么,为什么不创建一个类并将所有 3 个变量作为该类的成员呢?当我们将它们用作对象时,添加、修改和删除数据会更容易!所以,我们来创建一个类 .java,如下所示:

public class Student {
	int rollNumber = 0;
	String name = "";
	String[] subjects = new String[3];
}

我们将不得不更改代码以创建此类的对象,并通过 和 方法访问变量。 和 方法的一个例子如下:

public int getRollNumber() {
	return rollNumber;
}
public void setRollNumber(int rollNumber) {
	this.rollNumber = rollNumber;
}

在使用IDE时 ,IDE可以为您创建所有这些内容提供快捷方式,但对于初学练习来讲,最好还是自己完成。

现在,让我们回到我们的主程序。

我们已经拥有一个学生的所有数据,为什么不获取更多学生的详细信息!我们可以创建一个 对象数组j2ee 设计开发编程指南编程新手(一):Java认知及初学者指南,并将每个学生的详细信息存储在该数组中的一个对象中。

让我们从用户那里得到学生的数量:

int numberOfStudents = scanInput.nextInt();

现在,让我们开始另一个 for 循环,它将从所有学生那里获取详细信息——

for(int i=0;i<numberOfStudents;i++){
	//获取详细信息
}

我们现在要做的就是将数据设置为学生对象。为此,创建一个大小与 相同的 对象数组。代码如下:

Student[] student = new Student[numberOfStudents];
for(int i=0;i<numberOfStudents;i++){
	student[i] = new Student();
	name = scanInput.next();
	student[i].setName(name);
	rollNumber = scanInput.nextInt();
	student[i].setRollNumber(rollNumber);
	// 跟前面写的一样
	for(int j=0; j<subjects.length;j++){
		subjects[j] = scanInput.next();
	}
	student[i].setSubjects(subjects);
}

现在,我们拥有 数组中的所有数据。我们可以使用 Java 构造函数来改进代码,这是一种比 方法更有效的在对象中存储事物的方法。当你有很多数据时,你可以一次设置构造函数中的所有值,而不是使用 10 次 set 方法。让我们在 类中创建一个构造函数。如下所示:

public Student(String name, int rollNumber, String[] subjects){
	this.name = name;
	this.rollNumber = rollNumber;
	this.subjects = subjects;
}

现在,让我们修改我们的 Test 类以使用这个构造函数。请注意,现在该行:

student[i] = new Student();

此行不会起作用,因为我们没有在我们的类中创建一个无参数的构造函数。当没有定义其他构造函数时,java编译器默认创建no-arg构造函数,否则,我们应该使用我们在代码中创建的构造函数。

我们的代码现在将变成——

System.out.println("Enter name and roll number: ");
student[i] = new Student(scanInput.next(), scanInput.nextInt(), subjects);

这为我们减少了大约 3-4 行代码。想象一下,当有更多的对象和成员变量时,它会有多有用。请注意, 数组是空的,因为我们正在获取科目的 name 和 之后才轮到的值。

下一个问题是我们在哪里存储这些学生对象,以便我们以后可以检索它们并进行一些修改或显示列表的内容?简单的答案是 。创建一个 并向其添加对象非常简单。

的一些重要特性须知:

回到我们的代码,来创建为 :

ArrayList studentList = new ArrayList();

要将对象添加到列表中,在获取所有详细信息后,只需将完整对象添加到列表中。这样添加:

studentList.add(student[i]);

与其混淆数组循环并将每个对象寻址为 、 等……让我们使用 来获取和显示数据。

可将迭代器视为一个游标,它遍历集合的元素。您可以使用迭代器从集合中获取或删除任何元素。类似如下:

Iterator itr = studentList.iterator();
System.out.println("所有学生的输入信息为---");
while(itr.hasNext()){
	System.out.println(itr.next().toString());
}

您希望输出的应该是整洁的输入信息。不对头啊?Java 给的类似下面的东西——

@

因为要单独打印对象的成员,我们还需要覆盖 类中的 () 方法。

public String toString(){
	String studentDetails = null;
	studentDetails = "Student name: " + this.name 
    + ", Student roll number: " 
    + this.rollNumber + " , Chosen subjects: " 
    + Arrays.toString(this.subjects) + "n";
	return studentDetails;
}

看见没,现在会得到你想要的结果了!

但是,有一个问题……

我们没有处理用户输入错误的场景!例如,如果有人为 输入一个字符串会怎样?我们不会向用户抛出异常的整个堆栈跟踪。相反,我们可以向用户发送一条好消息。

尝试为 输入一个字符串,您将在线程“main”中得到异常

java.util.on。

try{
	rollNumber = scanInput.nextInt();
}catch (InputMismatchException ime){
	System.out.println("Please enter a valid number");
}

为了确保不会发生这种情况,我们需要确保用户输入正确的值。但是,怎样实现?让我们放置一个 try/catch 块来捕获异常并在出现错误时向用户显示一条友好的消息。

我们也可以对 应用相同的方法。最好的做法是将整个代码放在 try 块中,这样任何异常都可以在 catch 块中捕获。

这在 Java 中称为异常处理。在实际应用程序中,类可以抛出异常,最后某个类将捕获并向用户显示适当的消息。 Java 中有更多的运行时异常,最常见的是 、、、tion、

等……

7.快速回顾

在本文中,我接触了 Java 的基础知识,只是让您知道什么是编程语言,若之前使用过其他语言,就可以很快开始使用 Java 进行编码。通过本文,要了解以下基本概念——

这里只是通过一个简单的程序来认知这些。还有许多高级概念不在本文的范围内,但请继续关注本头条号编程新手(一):Java认知及初学者指南,这里将或已经推出更多关于线程、内部类、接口、垃圾收集等高级概念的文章。

赶快从@牛旦IT课堂的专栏开始学Java编程吧:

新手福音:极速入门Java编程

Java语法快速参考手册(2020版)

Java从入门到实战(极速版)

下一篇,将为Java编程学习的同学提供一份核心基础知识备忘清单,以供随时翻阅。本篇就到这里了,分享出去吧。再见!

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » 编程新手(一):Java认知及初学者指南

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们