很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识。本文小千总结了入门Java你需要知道的几个基础知识要点,希望能够对刚入门的Java新手有帮助。

一、先了解什么是Java的四个方面

初学者先弄清这些Java的基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有哪些应用。想想这些代码中用到了哪些知识点。不要一味地照着书本敲代码。而不去理解。

1.Java编程语言,即语法。

2.Java文件格式,即各种文件夹、文件的后缀。

3.Java虚拟机(JVM),即处理*.class文件的解释器。

4.Java应用程序接口(Java API)。

二、掌握静态方法和属性

静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。

理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和C++是不同的。

三、Java三个技术平台的关系

Java分为三个体系,分别为Java SE(J2SE,Java2 Platform Standard Edition,标准版)。JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版)。Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。

要知道Java是分两部分的:一个是编译,一个是运行。

Javac:负责的是编译的部分,当执行Javac时,会启动Java的编译器程序。对指定扩展名的.Java文件进行编译。生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。

Java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数。

四、掌握Java代码的基本格式

1、Java注释尽可能全面

对于方法的注释应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述:类的注释应该包含类的功能说明、作者和修改者。

2、多次使用的相同变量应该归纳成常量

多处使用的相同值的变量应该尽量归纳为一个常量,方便日后的维护。

3、尽量少的在循环中执行方法调用

尽量在循环中少做一些可避免的方法调用,这样可以节省方法栈的创建。例如:

for(int i=0;i<list.size();i++){

System.out.println(i);

}

可以修改为:

for(int i=0,size=list.size();i<size;i++){

System.out.println(i);

}

4、常量的定义可以放到接口中

在Java中,接口里只允许存在常量,因此把常量放到接口中声明就可以省去public static final这几个关键词。

5、ArrayList和LinkedList的选择

这个问题比较常见。通常程序员能够对list的使用场景做出评估,然后根据特性作出选择。ArrayList底层是使用数组实现的,因此随机读取数据会比LinkedList快很多,而LinkedList是使用链表实现的,新增和删除数据的速度比ArrayList快不少。

6、String,StringBuffer和StringBuilder

这个问题也比较常见。在进行字符串拼接处理的时候,String通常会产生多个对象,而且将多个值缓存到常量池中。例如:

String a=“a”;

String b=“b”;

a=a+b;

这种情况下jvm会产生“a”,“b”,“ab”三个对象。而且字符串拼接的性能也很低。因此通常需要做字符串处理的时候尽量采用StringBuffer和StringBuilder来。

7、包装类和基本类型的选择

在代码中,如果可以使用基本数据类型来做局部变量类型的话尽量使用基本数据类型,因为基本类型的变量是存放在栈中的,包装类的变量是在堆中,栈的操作速度比堆快很多。

8、尽早的将不再使用的变量引用赋给null

这样做可以帮助jvm更快的进行内存回收。当然很多人其实对这种做法并不感冒。

9、在finally块中对资源进行释放

典型的场景是使用io流的时候,不论是否出现异常最后都应该在finally中对流进行关闭。

10、在HashMap中使用一个Object作为key时要注意如何区分Object是否相同

在jdk的HashMap实现中,判断两个Object类型的key是否相同的标准是hashcode是否相同和equals方法的返回值。如果业务上需要对两个数据相同的内存对象当作不同的key存储到hashmap中就要对hashcode和equals方法进行覆盖。

Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。

学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。

由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。

以上就是小千总结的零基础入门Java,你需要知道的几个知识要点!希望能帮到大家!想了解更多Java知识,可以关注小千,后期会继续分享Java知识。

本文来自千锋教育,转载请注明出处。

入门Java你需要了解的几个知识要点!相关推荐

  1. 假赋值java_Java十四天零基础入门-Java赋值运算符

    不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货 Java赋值运算符 赋值运算符目前也是只需要掌握=.+=.-=.*=./=.%=,其它和二进制相关的内容也是到后面遇到的时候再详细学习.赋值 ...

  2. Java从键盘输入n行字符串_Java十四天零基础入门-Java布尔类型

    不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货 Java布尔类型 在Java语言中布尔类型的值只包括true和false,没有其他值,不包括1和0,布尔类型的数据在开发中主要使用在逻辑判断 ...

  3. 入门Java要学习的一些基本和高级工具

    Java作为编程语言,一直被模仿从未被超越.Java的简单性和应用广泛性也是众多人吹捧的原因之一.本文小千主要介绍入门Java要学习的一些基本和高级工具,希望能帮到大家. 1. JIRA Atlass ...

  4. java学习_Java编程学习难不难 怎样才能快速入门Java

    Java编程学习难不难?怎样才能快速入门Java?对于想要加入IT行业的人来说,Java是一个不错的选择,不仅人才需求大,就业薪资也非常不错.许多人都非常看好Java发展前景,接下来千锋小编就给大家介 ...

  5. java freemarker 分页_10小时入门java开发04 springboot+freemarker+bootstrap快速实现分页功能...

    本节是建立在上节的基础上,上一节给大家讲了管理后台表格如何展示数据,但是当我们的数据比较多的时候我们就需要做分页处理了.这一节给大家讲解如何实现表格数据的分页显示. 准备工作 还是老规矩,看效果图 可 ...

  6. java短除法获取二进制_Java十四天零基础入门-Java的数据类型介绍

    不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货 本章节目标: 理解数据类型的作用.Java中包括哪些数据类型?常见的八种基本数据类型都有哪些?会用八种基本数据类型声明变量?什么是二进制?原 ...

  7. Java好学吗?Java能做什么?如何快速入门Java?

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,Java具有简单性.面向对象.分布式.健壮性.安全性.平台独立与可移植性.多线程.动态性等 ...

  8. Java入门-Java学习路线课程面试篇:取商 / 和取余(模) % 符号的使用

    本博客地址 | GitHub | 更多资源免费下载 取商 / 和取余(模) % 符号的使用 文章目录 1. / % 最容易出错的演示案例 2. 运行结果: 1. / % 最容易出错的演示案例 pack ...

  9. Java入门-Java执行语句

    Java入门--Java执行语句 1.顺序语句 ​ 顺序语句:方法里的代码从上往下执行 2.分支语句if 和 switch ​ 分支语句:根据某个条件执行不同的功能 2.1 if 1.简单if分支语句 ...

最新文章

  1. Javascript创建select 以及获取select的值、文本;获取radio,check的值
  2. python鼠标键盘操作 PyUserInput
  3. 双12来了!揭秘秒杀剁手背后的云数据库PolarDB!
  4. Spring DefaultListableBeanFactory
  5. 一天一模式:Decorator模式
  6. 一个项目三个坑,我懵了
  7. C#静态方法与非静态方法的比较 <转载>
  8. Vue 中播放帧动画(抽离方法)
  9. python windows开发环境_windows10下搭建Python3.6开发环境
  10. No Bootable Device 问题解决(由于误删ESP分区导致)
  11. 营收、净利双收,贝壳找房稳了?
  12. Excel巧做项目管理
  13. 第11章 角色页的删除、批量删除
  14. 日语自我介绍 自己紹介・自己PR
  15. 【深入理解计算机系统】第三章重点汇总
  16. Latex写文章时插入单栏图片和双栏图片方法
  17. 弹性云服务器由虚拟私有云组成,弹性云服务器组成
  18. 写专门针对ios设备的css
  19. 读《重构:改善既有代码的设计》的思考
  20. 如何选择终端桌面管理软件?

热门文章

  1. 半价秒杀,最后一天!戴尔i7高配电脑低至2750元!
  2. 免费报名 | 智源论坛:智能处理器探索,AI技术前沿精粹尽览
  3. nutz ajax ie8,版本升级
  4. 回归分析残差不满足正态分布_线性回归思路梳理!精华必看!
  5. 插入排序 php,直接插入排序,PHP实现
  6. @RequestParam和@RequestBody
  7. JavaScript——jQuery AJAX链式编程(流式编程)DEMO
  8. JetBrains —— JetBrains系列IDE优化配置(提高启动和运行速度)
  9. 单片机和java_java和单片机哪个难学?
  10. Puppy Linux U盘 Linux