Java是用于软件开发的最流行的编程语言,无论做自动化测试或者测试开发,Java依然是最重要的选项之一。
为什么要学习Java?
Java很容易学习
Java是通用的,面向对象的,高性能,解释型,安全性和多线程语言。基本上,Java简化了建立网络连接所需的过程。它的安全模型可以防御很多攻击。许多繁琐的过程会在框架中自动运行,从而节省的时间。Java是静态类型的,因此在编译器中代码查找错误更加容易。Java是绝对初学者的绝佳第一语言。
Java很流行
Java是世界上最常用的编程语言之一。实际上,它在拥有开发人员,这意味着有一个庞大而成熟的社区,为Java程序员和学习者提供支持。如果遇到困难,可以确定有人在网上解决了你的问题。
Java处理现实问题
Java以“write once, run anywhere”功能而闻名。这意味着用Java编译的代码可以在任何平台上运行,而无需重新编译。这就是Java在各种分布式环境中使用的原因。就软件测试来讲,几乎所有的流行框架UiAutomator、Selenium、appium、airtest、robotframework等等都提供了Java语言的支持。
Java将促进您的职业发展
由于Java语言的流行,Java项目的应用,因此Java程序员有很多工作机会。对于各种规模和规模的公司来说,这都是一种需求的语言。Java仍然是企业最受追捧的编程语言之一。根据行业估计,大约90%的500强公司以某种能力使用Java。
Java技能通用性高
Java是一种面向对象的编程(OOP)语言,其语法是从C派生的。这些概念在许多其他编程语言中也很普遍,因此,在学习和掌握Java的同时,您也在准备应对其他语言。在将来学习Python、JavaScript、C#和C ++变得非常容易。
开始学习Java
让我们分解学习Java的六个步骤:
1.明确学习目标
Java可能更容易学习其他语言,但这并不意味着它不会具有挑战性。为了掌握Java,必须要每天学习和不断练习。如果整个学习过程中没有明确的目标,这将更加困难。
拥有明确的目标将推动克服挑战,并使你专注于学习。在过程中中尽早设定这些目标将使你的注意力在减弱时重新集中。
2.制定学习计划
自律是好朋友。为了学习制定计划将使你成为新的Java学习者。有了计划,将知道何时以及要学习什么。
从基础开始设置每周课程。许多人问到掌握Java需要花费多长时间,当然,没有确定的答案。但是,一个有明确目标,有条理的学习者肯定会比没有计划学习的人更快,更有效率地学习。如果你认真学习Java,我建议抛开诸如:每工作日2小时、周末每天4小时这样的学习。以Java基础知识模块为单元的学习计划是效果最好的
这是学习的主题的一般进度:
- Java语法 (编写程序的规则)
- 面向对象的编程概念
- 核心Java (如何开发Java应用程序)
- Java集合 (用于存储对象组的体系结构)
- 库和框架 (大量的预写代码)
- API (用于构建应用程序的协议和工具)
- Git (广泛使用的控制系统)
制定贯穿这些主题的学习计划。你的学习时间将取决于您对其他编程语言的了解以及您的个人学习风格。
3.下载Java开发工具包(JDK)
Java Development Kit是一个开发环境,您可以在其中编写和编译Java应用程序。它包括编写和开发Java所需的所有基本工具。该软件包包括Java运行时环境(JRE)和Java虚拟机(JVM)。JRE提供库和组件来实际执行您的代码和应用程序。JVM是运行Java字节码并在任何平台上实现代码的工具。您可以从Oracle官网下载JDK 。
4.从基础开始
即使您熟悉其他编程语言,对Java的基础的学习也至关重要。一旦了解了如何编译代码并修复错误,便可以进入下一阶段的学习。因此,让我们先从些关键术语和概念来开始。
什么是Java语法?
像任何一种语言一样,编程语言也具有一组术语和规则来表达含义和顺序。Java具有自己的语法,您将需要学习编写代码。Java区分大小写,因此大写字母很重要。例如:endLoop并且Endloop具有不同的用途和含义。声明数据类型,声明变量以及使用运算符的所有内容都将使用语法。
什么是标识符?
标识是我们用来创建所有Java元素的名称。您可以在以后的程序中使用标识符来引用项目。以下是所有标识符的语法规则:
- 标识符区分大小写
- 标识符以字母(A到Z或a到z),下划线(_)或货币字符($)开头
- 标识符不能是关键字
例如:age, _number,_1_value
什么是运算符?
- 运算符是执行特定操作或功能的符号。可以将它们视为句子的标点符号或代数公式的符号。Java中有几种类型的运算符。
- 算术运算符:这些在数学表达式中使用。它们的功能与代数相同。示例包括:+,-,*,/。
- 关系运算符:有六个关系运算符,用于比较两个数字并返回布尔值。六个运算符为:<,>,<=,> =,!=,==。
- 逻辑运算符:这些运算符基于其他表达式的布尔结果返回布尔结果。示例包括:&&,||,!。
- 位运算符:这些执行数的个别位的操作,并且可以被应用到整数类型 long, int, short, char,和 byte。
- 赋值运算符:这些将其右侧的值分配给其左侧的变量。例如, age = 5 将值定义 5 为变量 age。
- 杂类运算符:这些不属于任何这些类别,例如条件运算符和instanceof运算符。
什么是关键字?
关键字是保留用于预定义含义或功能的单词。有一个已建立的关键字列表,您需要学习。例如,关键字 new 创建一个新对象。看看下面的Java关键字。
其他修饰符关键字:native , strictfp ,transient , volatile , assert .
什么是数据类型?
在编程语言中,数据类型指定变量的值,以及可以将什么类型的操作应用于变量。Java编程语言中有两种数据分类:
原始数据:这些数据类型内置于Java语言中,并保留有关键字。有 8种原始数据类型:布尔值,字节,字符,短型,整数,长型,浮点型,双精度型。
int myNum = 5; // Integer
float myFloatNum = 5.99f; // Float
char myLetter = 'D'; // Character
boolean myBool = true; // Boolean
String myText = "Hello"; // String
对象数据:这些数据类型内置于Java语言中,但是程序员可以创建自己的类。这些包括类,接口和数组。
什么是对象?
对象是具有状态(属性)和行为(方法)的数据的组合。使用标识符为对象命名。Java非常面向对象,因此程序围绕对象而不是函数或逻辑进行组织。一旦组织了对象,就可以对其进行操作。
- 状态:对象的数据
- 行为:对象的行为或动作
- 身份:对象的唯一名称
例如,如果我们的对象是猫,则可以这样定义:
- 状态:年龄,颜色,大小
- 行为:睡觉,喵喵吃
- 身份:猫的名字
我们可以使用new关键字创建该对象 。
Fun object = new Fun(cat);
什么是类?
类是我们用来创建对象并描述其行为的蓝图。它们由字段和方法的集合组成。按照我们的猫示例,我们可以将猫分类为将多只猫归为一组。
一个类包括三个部分:
- 可见性修改器(例如公共)
- 关键词 class
- 类名称
什么是方法?
方法在您的代码中执行操作并显示对象的行为。它们由语句的集合组成,必须被调用以返回值或不返回任何内容。
方法在类中声明。您使用方法名称声明方法,后跟()。
该main()方法对于每个Java程序都是必需的。将此方法视为应用程序的入口点。它是这样写的:public static void main(String args[])。看一下下面的代码,看看它的作用。
public class Fun {
public static void main(String[] args) throws IOException {
System.out.println("Hello World");
}
}
什么是变量?
变量就像一个存储数据的容器。Java是静态类型的,因此我们必须先声明一个变量,然后才能使用它。Java中有三种类型的变量。
- 局部变量是在方法主体中定义的,其范围仅限于该变量。
- 实例变量在类中定义,并且在任何方法或块之外。实例变量是在对象中创建的。
- 静态变量(也称为类变量)的定义方式与实例变量相同,但其关键字是静态的。这些是在程序开始时创建的。
5.平衡理论和实践
一旦掌握了基础知识,学习Java的最佳方法就是开始实践。仅学习理论不会走得太远。如果实际进行动手项目练习,将更快地掌握该语言,练习对学习很有帮助,并有助于树立信心。编写自己的代码。设计自己的项目。从错误中学习。掌握Java的最聪明方法是实际使用它。
理论与实践是相互联系的,因此需要一个良好的平衡。不能仅仅完全放弃理论,否则将无法为实际的编码技能奠定良好的基础。因此,建议您将20%的时间花在理论上,而将80%的时间花在实际动手实践上。
6.与他人一起学习
不要以为学习必须是孤立的才是正确的。网络上有一个真正协作和活跃的社区。除了论坛和文章外,还 为各个级别的开发人员举办了数百次聚会活动。
很多高级开发人员希望分享他们的知识和经验。当别人的知识经验随时可用且免费时,同样可以避免别人的错误!当熟悉该语言时,甚至可以尝试结伴编程。这使你有机会向他人学习,并在他们提出问题时学习解决问题。
立即上手
如果你身边有同样的Java学习者或者使用者,请多和他们多交流,相互分享学习经验。
如果没有,可以加入我的Java技术交流圈:766328863,里面有很多在学习Java的小伙伴;或者论坛寻找一位学伴,共同进步!