如何学习Java基础
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关键字。
什么是数据类型?
在编程语言中,数据类型指定变量的值,以及可以将什么类型的操作应用于变量。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学习者或者使用者,请多和他们多交流,相互分享学习经验。如果没有,可以在各个学习群或者论坛寻找一位学伴,共同进步!如果有兴趣的可以留言中写下你们的社交账号,不限于微信、QQ,遇到有缘的就加个好友,做个学友。
- 郑重声明:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。
技术类文章精选
- java一行代码打印心形
- Linux性能监控软件netdata中文汉化版
- 性能测试框架第二版
- 如何在Linux命令行界面愉快进行性能测试
- 图解HTTP脑图
- 将swagger文档自动变成测试代码
- 五行代码构建静态博客
- 基于java的直线型接口测试框架初探
- Selenium 4.0 Alpha更新日志
- Selenium 4.0 Alpha更新实践
非技术文章精选
- 为什么选择软件测试作为职业道路?
- 写给所有人的编程思维
- 成为自动化测试的7种技能
- 如何在DevOps引入自动化测试
- Web端自动化测试失败原因汇总
- 如何在DevOps引入自动化测试
- 测试人员常用借口
- 2019年浏览器市场份额排行榜
- API测试基础
- API自动化测试指南
如何学习Java基础的更多相关文章
- 经典面试题回答——学习Java基础的目的
本系列知识解释:相信每个学习Java的人都是从JavaSE開始的,也就是Java基础開始. 可是却并不清楚学习Java基础究竟有什么用? 首先我来回答这个问题,学习Java基础是有两个目 ...
- Java基础知识学习(一)
部门接了新项目,后台使用Java框架play framework,前端是html,前后台通过rest交互,能够支持多端的互联网架构. 因为之前没有Java基础,前端使用的也很少,决定深入学习一下Jav ...
- 如何学习java?Java基础知识点分享
面对未知的行业,人们的第一反应应该是:拒绝踏入.因为学习真的是一个痛苦的过程.想要真正了解一个行业,熟知一个行业,并熟练掌握某一技术,是真的需要时间和精力的.在学习Java基础知识期间,千锋小编疯狂为 ...
- java基础学习总结——开篇
java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...
- 零基础的人怎么学习Java
编程语言Java,已经21岁了.从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的.Java应用的广泛已 ...
- Java学习路线-基础篇!
下面以黑马程序员Java学院的学习路线为例,进行一次史无前例的剖析,我会采取连载的形式,细致的讲解零基础的人怎么学习Java.先看下Java在基础阶段的知识点路线图. 内容多吗?不要被吓到了,知识点剖 ...
- 推荐五个java基础学习网站,小白必备
不知道去哪找java基础资料?推荐几个学习网站,小白必备 Java经过20多年的发展,仍然是世界上最受欢迎的编程语言之一,有无限多种方法使用Java.拥有庞大的客户群.并且java应用范围很广,基本只 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
随机推荐
- qt 利用Qtimer 定时器实现定时消息发送
为了实现给控制器按周期发送控制指令,利用qt中的Qtimer 实现消息的定时发送. 需要进行三步处理: 1.在mainwindow.h文件中对timerEvent进行声明 public virtual ...
- @atcoder - AGC036F@ Square Constraints
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个整数 N,统计有多少个 0~2N-1 的排列 \(P_0 ...
- shell去掉最后一个字符
实测过第一种写法,可正常删除 sed 's/.$//' awk '{sub(/.$/,"")}1' awk '{printf $0"\b \n"}' ufile ...
- mongodb Helper
/// <summary> /// mongoDBHelper访问助手 /// </summary> public class mongoDBHelper { /// < ...
- uni-app学习记录02-属性绑定.for循环
<template> <view class="content"> <text> 我是首页 </text> <!-- 输出纯字 ...
- Flex AIR自定义Mobile的弹出框组件
做Flex Mobile开发的人应该知道,Flex为手机应用并没有提供弹出框组件,需要自定义. 通过查找文档.资料,我做出一个效果还算不错的弹出框组件,可以适用于手机设备上,不多讲,直接贴源码,相信对 ...
- Bi-LSTM-CRF for Sequence Labeling
做了一段时间的Sequence Labeling的工作,发现在NER任务上面,很多论文都采用LSTM-CRFs的结构.CRF在最后一层应用进来可以考虑到概率最大的最优label路径,可以提高指标. 一 ...
- java多异常处理
声明异常时尽可能声明具体异常类型,方便更好的处理; 方法声明几个异常就对应有几个catch块; 若多个catch块中的异常出现继承关系,父类异常catch块放在最后; 在catch语句块使用Excep ...
- 【codeforces 789A】Anastasia and pebbles
[题目链接]:http://codeforces.com/contest/789/problem/A [题意] 有n种物品,每种物品有wi个; 你有两个口袋,每个口袋最多装k个物品; 且口袋里面只能装 ...
- P1090 后缀表达式
题目描述 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级). 如:3(5–2)+7对应的 ...