最近很多新手小白在学Java前都会问这个问题:Java到底难不难学?
今天就和大家唠唠这个事。
74%的人认为不难
有人曾经做过统计,询问500多已经参加工作的 Java开发者,“学习java是否困难?”有74%的人认为不难,说难学的仅占26%,那么这74%全部都是聪明人,智商比普通人高吗?显然不是的。
说到底Java,它只是一种语言,仅此而已。跟我们平时学习母语,英语并无不同,只是他的适用对象是计算机,手机等非生物,但基本的控制结构什么的,所有的语言都差不多。
Java前途光明
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。具有卓越的通用性、高效性、和安全性。广泛应用于PC,移动电话和互联网,拥有全球最大的开发者社群。在全球云计算和互联网的背景下,java具备更显著的优势就业前景。
广阔的市场,光明的前景总会让人向往,很多人立志要学习java,从事开发,走上高端大气的IT道路。
只有聪明人才能学?
但是,在学习之前,看到各种代码如看天书,又总会听到很多外行人宣扬着java有多难,绝不是平庸者的选择。很多人就会因此打退堂鼓,认为自己不够聪明,肯定学不来。那么,java编程真的是聪明人才能玩的游戏吗?
要抓住Java的本质
学习java只要你掌握了编程的本质和逻辑关系,那么编程语言,开发平台,编译工具都不是问题。真正评判你的专业水平的还是你的程序设计思想,语言的机制本身并不会给程序带来多大的影响。
而且,每个人的难易标准并不相同,习惯说不的人,总会放大困难,给自己设置障碍。
不要活在别人的标准里
李嘉诚说:“当我骑自行车时,别人说路途太远,根本不可能达到目的地,我没理,半道上我换成小轿车;当我开小轿车时,别人说,不要再往前开,前面就是悬崖峭壁没路了,我没理,继续往前开,开到悬崖峭壁我换飞机了,结果我去到了任何我想去的地方“。
说到底,修行还是要靠自己,难不难何必让别人给你设立标准?只要你想做,下一秒就能开始。不要让你的梦想毁在别人的嘴里,因为别人不会对你的梦想负责。
零基础学习Java,需要掌握那些Java基础知识
这部分内容是你必须要掌握的内容,在入门阶段你需要把这些基础打扎实,以便于在学习后面的内容时可以更上一层楼。如何把基础打扎实呢,最好的办法就是在IDE上把书上或者视频上的每个例子都实现一遍,当然有的时候你也可以自己写一些有意思的例子。如果大家在学习Java的时候有遇到疑问的地方,可以申请加入我的交流学习裙:686827638,群里有相关学习资料,还有一群志同道合的小伙伴可以一起交流分享。
1、基本数据类型
比如int,double,char,以及其包装类。
熟悉基本数据类型的使用,了解每种类型所占的字节数,以及它们和包装类之间的相互转换。
2 、流程控制
比如for循环,if else,while循环等等
如果是学过c语言的同学,这部分可以跳过了。
3 、字符串类型String的使用
字符串类型是Java中很重要的类型,它不是基本数据类型,但却很常用,熟悉和实践String相关的api,开始你对字符串的学习吧。
4 、数组
数组的初始化方式有哪些,二维数组应该怎么写,把数组当成方法参数又该怎么处理?
5 、类和对象
Java中最重要的两个概念:类和对象,它们有什么用呢,有什么区别和联系呢,请在代码中实践它们吧。
Java核心技术
对于这部分内容,我相信很多小白只能了解它们的基本使用方法,但是并不明白其背后的一些原理:比如为什么接口和抽象类有这些区别,多态的意义是什么,为什么要有反射。
新手在学习这部分内容时,只需要知道怎么用就可以了。当然,你最好把这些特性都实现一遍,以加深印象。
至于为什么有这些特性,这些特性背后的原理是什么,不是我们现在讨论的内容,这些内容我们将在初级和中级篇中讲述。因为,要了解这些原理,你得了解JVM,了解并发技术的基础,了解网络基础,甚至更多。显然,这不是你现在能做到的。
1 、接口和抽象类
写一些接口,同时写一些实现类去实现这些接口,并且了解一下为什么我们需要接口,为什么子类需要实现接口里的方法。
同理,去实现一些抽象类吧。然后,看看它和接口有什么不同。
2、继承,封装和多态
如何理解继承,子类和父类之间有什么联系呢。
封装是一种保护代码的方式,有哪些方式可以实现封装呢。
多态一般分为重载和重写,它们分别怎么使用?
3 、异常处理
Java中的异常处理主要用于捕获和处理错误,请你写一些try catch代码块去捕获错误吧。
4 、集合类
集合类是我们经常需要打交道的东西,List,Map,Set等等,赶快去熟悉API,然后写一些测试例子吧。
5、 IO输入流和输出流
IO输入流和输出流可以操作文件,网络数据等内容,如何在Java代码中完成这么复杂的操作呢,其实只需要简单的几个api就可以了。
6 、多线程
为了让系统资源最合理地分配和调度,我们需要多线程,多线程会让程序变得有趣,也会带来很多问题,使用Thread和相关API,去尝试这些有趣的事情吧。
可选内容:
1 反射(了解即可,不是入门必须)
2 枚举类型和泛型(了解即可,不是入门必须)
3 网络通信(了解基本的socket使用即可,需要网络基础)
4 数据库操作(了解基本的JDBC即可,需要数据库基础)
有些东西你只要用心学习去做,其实并不像你想象那么难。不要怕这怕那,要敢于去尝试,给自己一点点压力。取得的效果是你自己难以想象的。喷泉之所以漂亮是因为她有了压力;瀑布之所以壮观是因为她没有了退路;水之所以能穿石是因为永远在坚持。
领取专属 10元无门槛券
私享最新 技术干货