自学JAVA难不难?

甜帝


关于自学Java,我应该算是有故事可说,本人机械专业的,大学毕业在国企工厂干了几个月,不甘心过着混吃等死的无聊岁月,于是果断辞职回家自学Java,之前从未接触过Java,在大学时期也只修过2学期的VB编程语言,所以在刚开始的时候,和大家一样,非常迷茫!

但是,当我下定决心,准备开始做这个事的时候,什么都没想,每天8点起床,晚上12点睡觉,期间除了吃饭,喝水,没停止过看视频,跟着学,跟着敲,跟着总结,就这样渡过了快四个月吧!至于后续的发展,其实很悲催,但是这个忘我学习的岁月,让我充实了不少。

现实很残酷!我想很多人,对于软件行业,Java开发都有所憧憬,多多少少会听到或看到什么,高薪啊!好就业啊!前途无量啊!之类的,其实软件行业之所以高工资,就是用时间来堆,当然,除非你很有天赋,你只需花别人一半甚至更短的时间来完成代码,那么你可能就不需要那么辛苦,但是基本上的程序员都是随时加班!所以,当你有想要投身软件开发行业的时候,请认真思考一下,你是否会后悔自己的决定,是否能够勇敢面对现实!

此外,当你做好决定,从内心想要学习Java时,另外一件事也是你需要考量的!你是否对编程语言产生兴趣,或者说当你在学习Java过程中,你是否会产生兴趣并获得成就感与快乐!这一点尤其重要,如果你不喜欢,或者抗拒,那你学它干什么,就算你逼自己学了,也走不远,因为学习Java是一个不断累积的过程,你需要不断的学习更新,提升自己,才不会被淘汰。

当你已经思考好了上述问题后,你就可以开启Java之旅了,Java这门语言用途非常广泛,但是万事都是从javase基础开始,学好基础才有后续一切的可能!

首先,安装Jdk,配置环境变量,通过记事本和命令行完成"Hello world"吧,然后是有点枯燥的语法学习,基本所有的语言都是从语法开始,学习语法的过程也算是检验了你是否有兴趣继续学习,因为大多数人都是学语法的时候就放弃了!如果你完成了,那么你将开启新的篇章,这种感觉就像重生一般。

java是一步一步,循序渐进的,语法学完,学习最有深度的java核心思想——面向对象思想。

然后是异常,多线程等等就不一一细说了。

总的来说,Java带给了我很多,我最喜欢思考的就是面向对象与多线程了,我感觉非常的有意思!万事开头难,如果你想有一段不后悔的青春,那么还在犹豫什么,做就完事了,兴趣就是最好的老师!


风之刀塔观战笔记


答主本身也不是科班出身,除非你特别聪明或者有毅力,否则还是不建议自学Java。我也是毕业后培训了三个月才找到工作的,班里也有科班出身又去培训的,当然他们基础要比我好上很多,也有学过C语言的,也有重点大学理科毕业的。对于我来说还是很难的,我下边列出来认为的难点。

首先来看一下Java的学习路线

1 Java基础


面向对象是难点,也是重中之重,说整个Java围绕着面向对象作为核心也不为过。就我现在也不能说掌握了面向对象。

2 数据开发


“SQL”是数据库开发的前提,一定要牢牢掌握;“JDBC”是连接数据库的重要步骤,这点要融会贯通。

3 HTML

这是前端的一些东西,js需要多看看。


4 Javaweb



学到这里就可以进行简单的开发网站了。MVC模式也是重点,但是很好理解。

5 框架

三大框架是以后开发经常需要用到的,需要不断的练习,但是现在随着时代的发展,流行框架可能会发生改变,前几年用ssh的比较多,我认为作为入门还是可以的,现在普遍用springMVC比较多,但是几乎都从上图的三个框架开始学起的。

对于题主这种情况,可以参考我给你的学习路线在网上找些资源,毕竟都是免费的,推荐一个自学IT网站:慕课网。当然有什么不懂的也可以和我讨论。


千万年老魔


作为一个工作多年后跨行自学JAVA的过来人,我有必要将最真实的感受说下一下。

自学JAVA需要具备的条件和能力

1.对java编程的兴趣:兴趣才是最好的老师。

2.充足的学习时间:边工作边自学的一般很难学成,因为要工作,时间精力不够用,除非一天24小时不睡觉。

3.身体素质好,要有足够的体力支撑:有时候要熬夜学习。

4.学习的能力:并不是学历,而是学力,当然学历越高的人学力一般都比较强。

5.自我主动学习的能力:跟学习能力最大的区别是主动,既然是自学,学习不主动,干啥都不成。

6.具备一定的英语基础知识,最好能看懂一些简单的英文文档:有一定的英语基础总比用Google翻译效率高吧。

7.毅力+坚持+专注:没有坚持的毅力和专注力,劝你就别学了。

8.耐得住寂寞,经得起诱惑:漫长的孤独岁月,守住初心。

9.有不达目的不罢休的干劲:学成之前会有一百种想放弃的理由。

10.最好有一个在你学习过程中遇到困惑、困难、心情不佳、忧虑、想要放弃的时候能给你点拨、指导、给你信心、当头一喝的领路人,他总能在你需要的时候一针见血地解决你的问题。

自学周期:3~6个月

1.所给时间周期为大部分人学成的时间,耗时越短说明你越nb。

2.每个人自身的条件和能力不一样,导致有人用时长,有人用时短。

3.满足就业的知识就那么多,很多知识可以就业后边工作边学。

4.学习过程就像用一个小勺往一个空桶灌水,水满之日就是你学成之时。

5.还等什么,现在就开始学习吧。

送给你的最后一句话:

天下事有难易乎?为之,则难者亦易矣 不为,则易者亦难矣.

【无情怀,不编码。做一个有情怀的码农,虽千万人,吾往矣!】

关注java自学、java技术、求职领域,为你导航领路,指点迷津,分享学习感受和技能经验。欢迎点赞、转发、关注和留言,任何java技术或求职问题可以留言私信。


一个有情怀的码农


自学Java难不难?我觉得对我来说有一定难度!难在哪里?枯燥,时间久,注意力集中。。。。。



不知不觉已经学习了快5个月了。从JavaSE到JavaEE再到框架,中间知识点太多,因为我是化学专业毕业的,并且代码量比较少,所以比较吃力,知识点很零碎,很多,如果要每一项都做到如数家珍,真的很难,这点只能通过大量代码来实现。我是为了就业的啊,我不可能一开始就按着专业人士的标准去学习,那样我可能一年都无法学完。所以我选择培训班模式,每天看视频。跟着视频码代码,效率很低,自己的创造性不是很多。但是我不灰心,因为我每天都在努力,当然每天都在进步!下个月我就去找工作!


题主问难不难?我觉得这个问题还可以细化:学java难点在哪里?怎么克服?

1.毅力

2.动手&思考


毅力===这个当然是做任何事成功的前提。你是否能做到每天7点起床,晚上12点睡觉?每天耐心的看完4个小时的视频,看完视频,回顾一下,然后再动手码代码,测试几个案例,这个过程中一定会遇到很多bug。你是否有耐心慢慢调试,一个一个慢慢解决?当遇到解决不了的bug,无处询问,百度不出来的时候,你是否有耐心继续调试,继续寻找问题原因?这个过程对于急性子的人来说可不是一般的煎熬。如果你没有耐心,hold不住寂寞,单调,不建学Java。

动手&思考===这个是必须的,如果你光看视频,大部分内容你基本能理解。但是如果不付诸实践,手动去写代码,你不会有自己的体会,你不会形成自己的记忆,过两天你一定会忘记的一干二净,因为学习初期,很多东西记忆大于理解,就好比如你要在控制台打出 helloworld ,但是你连最基本的 System.out.println()都写不出来,你说你该如何进行下一步?其中学习到后面我们还要使用很多api,每一种都有对应的方法,而且很多,虽然日常简单使用不会用到很多的方法,但是知识点多了,即使是简单的功能实现,也是相当多的,你总不可能连最基本的功能都去翻阅文档吧?所以这种情况只能通过大量代码来记忆!




最后,如果你真的要入行,那么祝你好运!

Go

Go

Go

!


VALUES


学英语难吗?学java也一样,难不难是相对的,因人而异。

现在外面编程培训班辣么多,培训最多的就是java了,为什么?因为java能快速入门,可以说java已经烂大街了。招聘时什么职位最多?也是java,因为低端java程序猿多,高级java程序员少。由此可见,java入门容易,想精通就得花时间钻研,三年时间是最低标准了。

学习java通常是java入门——java进阶——java编程思想——java编程之道——java编程之禅——颈椎病康复指南,这么一整条学习路线。

入坑之前要问问自己为什么要学java,真的是因为喜欢编程吗,还是因为看起来钱多?

如果是喜欢,那就赶紧学吧,需要一点数学和英语的基础。相信我,学过后肯定能让你物有所值。即使资质一般的人,最差也能养家糊口了。再好一点,从此走上人生巅峰也是有可能滴。

如果是因为“钱”途,说实话,和建筑工地的民工差不多,这也是很多程序猿自称码农的一部分原因。还有就是公司要的是利润,要的是效率,怎么效率怎么来,能用现成的,绝不会从头开始,所以我们很少造轮子,我们只是代码的搬运工(自己造的轮子别人敢不敢用还另说,大神除外)。与其说是脑力活,还不如说是体力活。没有爱好,很难一直坚持下去。

题外话,程序猿对电脑要求不高,CPU好一点,内存大一点,屏幕大一点就可以愉快的码代码了。

希望对题主有所帮助,老鸟勿喷。


菜鸟01号


第1,难不难看人的技术基础底子厚不厚。

第2,java老司机是个实践堆出来的,多写代码多解决问题自然就感觉简单了。

第3,学习这事,需要持续坚持。

我it工作10年了,有能力回答好你的问题,具体细节问题我在文章里都讲到了,下图IT培训机构那篇文章,应该有你要的答案,加油我也会定期更新技术文章,欢迎来关注交流学习。




程序汪汪


答案是肯定的 难 ! 不是java有多难,是坚持真的很难很难

很多人觉得做码农需要英语 需要数据,其实对这些的要求很一般 , 比如你是高中学历,完全ok,

初中学历 多记忆一点,至少你想成为码农是完全可以的;

1 成年人的世界没有那么多兴趣,在没有兴趣的情况 , 学习java,就是靠硬撑。

2 自学java的话,需要的时间周期比较长,很多人能坚持2个月 但是坚持不到3个月。

3 孤独 ; 我会这么说的原因是我个人的体验,大学的时候学习java,也是看的一套视频学习,很多时候看着视频里面操作很容易,

自己上手问题接踵而至,实在是太多,我觉得孤独的原因 是没有任何人给你一点指点 , 有的时候你百度了N多次 还是出现你看过的页面,

你看了一整天也不一定能找到自己的答案。

4 要坚信自己能解决bug ; 学习程序最大的问题就是bug , 就比如刚开始配个环境就是bug一大堆的,看花了眼也有问题,我自己学的时候我甚至觉得是不是电脑的问题 。

5 要坚持学习 , 像java这种需要动手的东西,你学习几天不学习了,完了 你下次再敲代码的时候又生疏了 , 你又得去把之前学习的再敲一遍。

学习java我觉得英语 数学 兴趣 学习能力 都是次要的 , 难的的就是你能做一只打不死的小强。


跟我学excel


自学Java并不难,我就是自学的Java。我大学的专业是信息技术这块,平时用的最多的是汇编语言,不知道大家用过汇编没,其实还挺怀念当时拿着单片机敲汇编的时候。

我学Java纯粹是为了就业压力,自己也就学了3个月,考了一个没用的证书,然后就去应聘。幸运的是应聘我的主管是我的一个老乡,所以关系一下子近了很多(我是在天津工作的湖南人)。后来也是这位主管,教了我很多东西。有个人带你,还是比自己一个人闷头学好很多,至少少走很多弯路。

学Java最重要的就是要跟着项目走,多学多做,刚开始不要追求各种框架,比如什么Spring啊,Hibernate啊,这些都是浮云。基础扎实了学什么都快。我们公司有一个老程序员,什么框架都不会,就是写原始的JSP,就是页面里写Java代码的那种,作为新时代的程序员肯定觉得很Low。但有时候必须佩服的是,他的代码很少有BUG,而且做事非常快,思路清晰,代码结构清楚,运行起来速度杠杠的,人家设计的数据库那都是很优化的。

总之一句话,进一个好项目,跟一个好师傅,摆正心态,不急不躁,保持好奇心,多学习。


乱世闲人71380810


高考难不难?

英语难不难?

面试难不难?

考驾照难不难?

。。。

诸如此类的问题有好多好多,难还是不难,只有自己尝试过才知道。

罗列一些黑马程序员java基础知识点,有需要的小伙伴可以收藏一下。

Java基础

JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。

JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。

JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。

标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。

命名规则: 硬性要求

标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线) 。

标识符不能以数字开头。

标识符不能是关键字。

命名规范: 软性建议

类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。

方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。

变量名规范:全部小写。

关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。

常量:是指在Java程序中固定不变的数据。

注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。(强烈建议任何时候写的的代码都要写上注释,养成良好的开发习惯)

Java的数据类型分为两大类:

基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。

引用数据类型:包括 类 、 数组 、 接口 。

其余的全部都是引用类型。在JAVA代码中:Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

分为两种情况:自动转换:自动转换将 取值范围小的类型 自动提升为 取值范围大的类型 。(JAVA自动执行)

强制转换: 将取值范围大的类型 强制转换成 取值范围小的类型 。(手动执行)

强烈注意

浮点转成整数,直接取消小数点,可能造成数据损失精度。

int 强制转成 short 砍掉2个字节,可能造成数据丢失。

JAVA中的运算符:

算术运算符:+ - * / % ++ --

注意:

++ 运算,变量自己增长1。反之, -- 运算,变量自己减少1,用法与 ++ 一致。

独立运算时 前++和后++ 一样;

混合运算时,前++先加后用,后++先用后加

+ 符号在字符串中的操作:

+ 符号在遇到字符串的时候,表示连接、拼接的含义。

"a"+"b"的结果是“ab”,连接含义

赋值运算符:= += -= *= /= %=

注意 :

只有变量才能使用赋值运算符,

常量不能使用 符合赋值运算符中隐藏着一个强制类型转换

比较运算符:>= <= == != > <

注意:

== 比较的是地址值

比较运算符结果一定是boolean值 不是true就是false

比较运算符不能连载写: 比如我们数学中的【1<2<3】 在java中这是错误写法

逻辑运算符包括:

&& 短路与

1. 两边都是true,结果是true

2. 一边是false,结果是false

短路特点:符号左边是false,右边不再运算

|| 短路或

1. 两边都是false,结果是false

2. 一边是true,结果是true

短路特点: 符号左边是true,右边不再运算

! 取反

1. ! true 结果是false

2. ! false结果是true

逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false

三元运算符:数据类型 变量名 = 布尔类型表达式?结果1:结果2

布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。

布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。

三元运算有时可以代码更加简洁,优秀

方法就是对已有功能的抽取(切记方法必须是挨着不能进行嵌套,静态方法只能调用静态方法,不能直接调用非静态方法)

方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。

好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。

方法的三种调用格式:打印调用,赋值调用,单独调用

方法重载与下列因素相关:

1. 参数个数不同

2. 参数类型不同

3. 参数的多类型顺序不同

方法重载与下列因素无关:

1. 与参数的名称无关

2. 与方法的返回值类型无关

数组:是一种容器,可以同时存放多个数据值

特点:

1.是一种引用数据类型

2.数组当中的多个数据,类型必须统一

3.数组的长度在程序运行期间不可改变

两种常见的初始化方式:

1.动态初始化(指定长度) 数据类型 [] 数组名 = new 数据类型[数组长度];

2.静态初始化(指定内容,会根据元素个数来确定数组长度)

(标准格式)数据类型 [] 数组名 = new 数据类型[]{元素1,元素2,...};

(省略模式)数据类型 [] 数组名 = {元素1,元素2,...};

注意:1.静态初始化没有直接计算长度,但仍然会自动推算得到长度。

2.静态初始化标准格式可以拆分为两个步骤

3.动态初始化也可以拆分为两个步骤

4.静态初始化一旦使用省略格式,就不能拆分为两个步骤了。

建议:1.不确定数组中的具体内容用动态,否则用静态

直接打印数组名称,得到数组对应的:内存地址哈希值

动态初始化数组,元素会有一个默认值,规则如下:

整数类型 默认 0

引用类型 默认 null

布尔类型 默认 false

字符类型 默认 \\u0000

浮点类型 默认 0.0




程序猿运营喵


IT行业一直以来被认为是高薪行业,吸引了越来越多的人加入这个行业,其中不乏很多零基础想要学习的朋友。如何零基础学Java?是很多初学者都会面临的问题,大多数零基础想要学习Java的都是希望找一个高薪的工作,那么必然就要知道作为一名Java工程师需要达到什么标准所以你的首要方向就是在各种招聘网站上看一下招聘信息,这就是你学习的目标。其次就是要系统化的学习了,至于如何学习,可以参考千锋小编的方法。

第一,必须有一个老师给自己讲解,带着学习,这样首先是可以少走很多的弯路,不至于一个小小的问题,就困扰了一天的时间,可能明白人的一句话你就明白,但是自己想可能需要一天的时间,或许最后还是搞不懂。

第二,需要有一个明确而且系统的学习规划,比如你今天学习什么内容,而且今天学习的内容跟着什么案例练习,如果你学习Java只是看看免费视频,那我劝你还是不要浪费时间,必须跟着大量的案例,反复练习,对于一个知识点才可以真正的掌握。

第三,一个明确的Java学习路线图,分为四个大阶段,每一个阶段有相应的学习时间。千锋小编给大家的建议是学习半年的时间,半年的学习时间恰到好处,不多不少。对于Java的每一个阶段的知识点都可以掌握的不错。

第四,要不断的复习前面所学到的东西,比如在最开始的学习HTML+CSS,但是可能由于长时间的不练习,等你学到最后的时候就要忘记。子曰:温故而知新。

第五,无论是学什么东西,一定要有目标感。比如我们学习Java,为啥要学习Java非常重要;比如说我学习Java就是为了高薪;或者说我学习Java就是为了三年之后可以升级到项目主管,5年干到架构师,这点非常重要。

在学习的过程中有一个老师讲解,有大量的案例练习,还有明确的学习路线,这些自学是达不到的。想要在短时间内就学有所成,可以来千锋Java培训课程坚持稀有的全程面授课程,大牛讲师通过四大课程阶段,带领学员把Java语言学到不可思议的高度。并在毕业前夕为学员安排模拟面试环节,让学员在真正的面试过程中可以充分的发挥自身的优势,成为一名上岗即用的JAVA开发工程师。


分享到:


相關文章: