问题

自学 Java 怎么入门?

回答
想踏入 Java 的世界,这可是个好主意!Java 是一门非常流行且功能强大的编程语言,无论你是想开发网站后台、手机应用,还是做大数据分析,它都能派上用场。别担心,自学 Java 并不难,只要方法得当,一步一个脚印,你也能掌握它。

第一步:明确目标,找对方向

在开始之前,先问问自己:为什么要学 Java?

想做 Android 开发? 那你学习 Java 的重点会放在 Android SDK 和相关的开发框架上。
想做 Web 后端? 那么 Spring Boot、Servlet、JSP 这些会是你的重点关注对象。
对桌面应用感兴趣? Swing 或 JavaFX 会是你的起点。
只是想了解编程,打下基础? 那就先从 Java 的基础语法和面向对象概念入手。

明确了目标,你就能更有效地分配学习时间和精力,避免被海量的信息淹没。

第二步:搭建你的“编程工坊”—— 环境配置

学编程就像学做饭,得先备好炊具和食材。对于 Java 来说,你需要:

1. Java Development Kit (JDK): 这是 Java 的核心。它包含了编译器(javac)、Java 虚拟机(JVM)以及各种 Java 类库。你可以去 Oracle 官网下载最新版本的 JDK(目前主流是 JDK 11、JDK 17 或 JDK 21, LTS 版本更稳定)。
安装过程: 按照提示一步步安装即可,记得记住安装路径。
配置环境变量: 这一步非常关键。你需要配置 `JAVA_HOME` 和 `Path` 两个环境变量。
`JAVA_HOME`: 指向你的 JDK 安装目录(例如:`C:Program FilesJavajdkXX`)。
`Path`: 在已有的 Path 变量中添加 `%JAVA_HOME%in`。
怎么验证? 打开命令提示符(Windows)或终端(macOS/Linux),输入 `java version` 和 `javac version`,如果能看到版本信息,说明配置成功了!
2. 集成开发环境 (IDE): 就像你的智能写作助手,IDE 能帮你写代码、编译、调试,大大提高效率。
IntelliJ IDEA: 这绝对是 Java 开发者的“神器”。社区版是免费的,功能强大到你难以想象。强烈推荐!
Eclipse: 也是一款非常经典的免费 IDE,很多老牌项目还在使用。
VS Code + Java 扩展: 如果你习惯了 VS Code,也可以通过安装 Java 扩展包来获得不错的 Java 开发体验,尤其适合初学者。
选择哪个? 我个人倾向于 IntelliJ IDEA,它的智能提示和代码补全真的能让你“懒”出水平。

第三步:从“Hello, World!”开始—— 学习基础

别小看“Hello, World!”,它是你和 Java 第一次亲密接触。

编写第一个程序:
```java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
```
解释一下:
`public class HelloWorld`: 定义了一个公共类,类名通常与文件名相同。
`public static void main(String[] args)`: 这是 Java 程序的入口点,程序从这里开始执行。
`System.out.println(...)`: 这行代码的作用是将括号里的内容输出到控制台。
学习基础语法:
数据类型: 了解 Java 中各种基本数据类型(`int`, `float`, `double`, `char`, `boolean`, `byte`, `short`, `long`)和引用数据类型(`String`, 数组, 对象)。
变量和常量: 如何声明、初始化和使用变量。
运算符: 算术运算符(+,,,/,%)、关系运算符(>,<,==,!=)、逻辑运算符(&&,||,!)等等。
控制流语句:
条件语句: `if`, `else if`, `else`, `switch`。学会根据条件执行不同的代码块。
循环语句: `for`, `while`, `dowhile`。学会重复执行某段代码。
数组: 如何创建、访问和操作数组。

第四步:掌握“内功心法”—— 面向对象编程 (OOP)

Java 的灵魂就在于面向对象。这是你接下来需要重点攻克的难关。

类 (Class) 和对象 (Object):
类: 就像一个模板,定义了一组属性(成员变量)和行为(成员方法)。
对象: 是类的实例,是具体的事物。比如,`Car` 是一个类,你家门口的那辆红色宝马就是 `Car` 类的一个对象。
三大基本特征:
封装 (Encapsulation): 将数据(属性)和操作数据的方法(行为)捆绑在一起,隐藏内部细节,只对外暴露必要的接口。这就像一个黑盒子,你只需要知道怎么用,而不用关心它内部是怎么工作的。
继承 (Inheritance): 允许一个类(子类)继承另一个类(父类)的属性和行为。这使得代码可以重用,建立类之间的层级关系。就像“子承父业”一样。
多态 (Polymorphism): 允许同一个接口被不同类型的对象使用,或者允许一个父类类型的变量引用不同的子类对象。简单来说,就是“一个接口,多种实现”。比如,你可以有一个 `Animal` 类型的变量,它可以指向一只 `Dog` 对象,也可以指向一只 `Cat` 对象,而调用 `makeSound()` 方法时,它们各自发出不同的声音。
其他重要概念:
抽象 (Abstraction): 隐藏复杂的实现细节,只暴露用户需要的功能。抽象类和接口是实现抽象的重要方式。
构造方法: 用于创建对象时初始化对象的属性。
方法重载 (Overloading) 和方法重写 (Overriding):
重载: 在同一个类中,方法名相同,但参数列表不同。
重写: 子类重新实现父类中已经有的方法,要求方法签名(方法名、参数列表)与父类相同。

第五步:拓展视野—— Java 核心 API 和常用库

Java 强大的地方在于它提供了丰富的类库,让你不必从零开始造轮子。

字符串 (String) 类: Java 中字符串是对象,非常常用,要熟练掌握它的各种操作方法。
集合框架 (Collections Framework):
List (列表): 允许存储重复元素,顺序访问,比如 `ArrayList`, `LinkedList`。
Set (集合): 不允许存储重复元素,无序或有序,比如 `HashSet`, `TreeSet`。
Map (映射): 存储键值对,比如 `HashMap`, `TreeMap`。
理解它们之间的区别和适用场景,是进阶的关键。
异常处理 (Exception Handling): 学会使用 `trycatchfinally` 块来处理程序运行时可能出现的错误,保证程序的健壮性。
IO 流 (Input/Output): 如何读取文件、写入文件、网络通信等。
多线程 (Multithreading): 同时处理多个任务,提高程序效率。

第六步:实战演练,厚积薄发

光看不练假把式。学习编程,动手能力至关重要。

多写代码: 跟着教程敲代码,然后自己尝试修改、扩展。
做小项目:
从简单的开始,比如一个计算器、一个简单的待办事项列表。
逐渐挑战更复杂的项目,比如一个简单的图书管理系统、一个简单的博客系统。
重点: 不要怕犯错,调试(debug)也是学习过程的重要组成部分。学会使用 IDE 的调试功能,一步步跟踪代码执行。
阅读优秀代码: 看看开源项目是怎么写的,学习别人的编程风格和解决问题的思路。GitHub 是个宝库!
参与社区: 遇到问题,别闷着。去 Stack Overflow、Java 相关的论坛或 QQ 群提问,也能在帮助别人的过程中巩固知识。

学习资源推荐:

官方文档: Oracle 官方的 Java API 文档,虽然可能比较枯燥,但绝对是最权威、最全面的参考。
在线教程/课程:
菜鸟教程: 简单易懂,适合快速入门。
B 站 (哔哩哔哩): 上面有非常多优秀的 Java 入门和进阶视频教程,很多 UP 主讲得非常生动有趣。搜索“Java 入门教程”、“Java 零基础”等关键词。
慕课网、黑马程序员等: 提供体系化的 Java 课程,适合希望系统学习的同学。
书籍:
《Java核心技术》(Core Java):经典之作,内容详实。
《Head First Java》:以图文并茂、轻松幽默的方式讲解 Java,非常适合初学者。
《Java编程思想》:内容深入,适合有一定基础后阅读。

学习心得和小贴士:

循序渐进,不要贪多: 先把基础打牢,再慢慢拓展。
坚持是王道: 编程学习是一个长期积累的过程,不要因为一时的困难就放弃。
学会“百度”和“谷歌”: 遇到问题,先自己搜索一下,大部分问题都能找到答案。
理解比死记硬背更重要: 弄懂为什么这么写,比记住具体的代码更重要。
保持好奇心: 探索 Java 的各种可能性,你会发现编程的乐趣无穷。

自学 Java 的旅程也许会有挑战,但当你能够亲手写出运行的程序,解决实际问题时,那种成就感是无可比拟的。祝你在 Java 的学习道路上一帆风顺!

网友意见

user avatar

帖子一直有人在感谢,并点赞.非常感谢大家的肯定。如果能为初学者更多详细的指点,我也很乐意去做,这次我又更新了一些新的内容.有兴趣的可以往下看。然后就是,总有人问学不学docker、hadoop、spark、hbase、服务治理等等。

这里我做一个统一答疑,这些东西真不是你一个刚学习Java的人该看的,也不是你工作第一年应该去看的东西,不要总在某些地方看到一些词就跟风.技术这门活,你入行了就会发现,还有更广阔的技术栈,更多的开源项目,每年都有新花样,想学熟练的地步,就第一阶段花一年时间学都不为过。

如果你是一个遇见困难望而却步的人,那么我建议你不用接着看下去了。真的不用因为Java前景好,上升空间大就来学习它。如果你是一个逻辑思维比较强的,喜欢有挑战性的工作的话,那么学习编程方面的技能对你来说会比较合适!

------------------------------------------update1------------------------------------------

1年前写的回答了,看到好多人还是在问从哪里开始学习适不适合之类的,我觉得还是把答案改改,写清楚点儿吧。

------------------------------------------update--------------------------------------------

其实Java并没有想象中的那么难,首先想要入这个行,要做好一个心理准备,那就是你想走远点,就得不间断的去学习,去汲取知识,前期不能怕辛苦,不要闲下来就打LOL、吃鸡、王者农药,有空就得多看看各种开源项目的代码,API的设计方式,各大网站的设计架构,理解各个环节的作用。补齐自己的知识视野。

当然这个行业也并不是什么门槛都没有,不要再私信我初中生、高中生、中专生能不能学习Java了。反正我个人是认为不可行的,或许你可以去问问其他大神? 或许他们会觉得可以的。

下图是我更新过的自学表,分别分为4个阶段。按照这四个阶段平稳的去学习并在每一个阶段做完相应的项目和练习,找一份工作是完全没有问题的 。当然,这里有个前提是你能学的下去,且通过查看网上的资料或视频能起码看得懂第一阶段的内容。如果第一阶段全职学习耗时2个月以上的话,我个人建议你就需要仔细考虑考虑是否真的要人这个行业吧。因为这个时间节点还没能够搞明白第一阶段的内容的话,从我个人的经验来讲可能后续走起来会更加吃力。


Java学习前的一些准备

  • JDK - (Java SE Development Kit)

JDK是Java开发所需要的环境,就跟我们想玩某个网游一样,玩之前一定是需要先安装相应的程序包的。 那这个JDK就是我们准备登陆Java大陆前需要安装的一个程序包。

下载地址 : Java SE - Downloads
  • IDE - (Integrated Development Environmen)

IDE是集成开发环境,一般集成开发环境都会带有JDK,可以使用自带的JDK也可以使用我们下载的JDK,不同的IDE配置不同。Java常用的IDE有Eclipse、MyEclipse、IntelliJ IDEA。IDE具备代码分析、补全、变异、调试等常用功能,可以大大的提高开发人员的编程效率。

eclipse下载地址 : eclipse.org/downloads/
MyEclipse下载地址 : MyEclipse官方中文网
IntelliJ IDEA : IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains
  • 书籍推荐

阶段大致细节

1、入门基础

    • Java简介
      • 了解什么是Java;代码语法基本格式;输出表达式。
      • 了解Java大致的编译以及执行过程
    • Java语言基础、循环、数组 ; 了解类和对象
      • 掌握Java的基本数据类型和引用数据类型有哪些;
      • 掌握强制数据类型转换和自动类型提升规则;
      • 常量如何声明及赋值;
      • 循环的语法及作用;
      • 数组的声明及定义;
      • 掌握类的概念以及什么是对象。
    • OOP封装、继承、多态
      • 面向对象的三大特征,本节内容非常重要也相对来说较为难以理解,一定要耐下心来好好理解。
    • java.util.*包下的常用类
      • util包下的Collection、Comparator、Iterator、List、Map、Set接口都很重要,着重看一下他们的实现类,如:ArrayList、LinkedList、HashSet、HashMap、Hashtable、TreeMap、TreeSet等。
    • java.lang.*包下的常用类
      • lang包下的基本数据类型对应的包装类(Byte、Short、Integer、Long、Double、Float、Character、Boolean);
      • 字符串相关的类String、StringBuffer、StringBuilder。
    • IO流操作,多线程及Socket
      • 掌握IO读写流相关的类,了解字节流,字符流和字符流缓冲区;
      • 掌握线程的概念,多线程的创建、启动方式,锁和同步的概念及运用;
      • 掌握Socket通信的概念,如何声明客户端服务端,如何完成双端数据通信。
    • 泛型、数据库基础(Mysql)及JDBC
      • 到了数据库前,我们可以看看泛型以及反射的一些基础案例
      • 掌握数据库的基本概念,Mysql的安装、启动与停止
      • Mysql数据库客户端的安装与使用
      • JDBC的概念,在Java中使用Mysql驱动包连接Mysql
Mysql社区版下载 : Download MySQL Community Server
客户端连接工具 Navicat for Mysql下载 : MySQL Database Administration and Development Tool

通过第一阶段的学习掌握Java语法和常用类,数据库入门技术相关知识。让自己对于存储,IO,这些有个大概的了解。这时候,暂时不需要花大量的精力以及篇幅去学习多线程和Socket,当然这里不是说他们不重要,而是对于现阶段的你,或许很难非常清晰的明白以及了解他们具体的作用。这里第一节忽略掉了Swing,Swing章节的内容可以不学,因为在实际的工作中基本上没有用武之地。

使用第一阶段的技术完成一个小型的系统,找一个自己做容易理解的系统练练手,比如超市管理系统、成绩管理系统等等这类需求简单却能讲整章内容结合起来使用的项目。当然这个时候可能会有人觉得没有图形界面没法完成系统操作。实际上我们可以通过Console的输入输出来做系统界面。

新手在第一阶段的学习时,是最难熬的,因为这个时候需要背的东西特别多,且不再像看小说一样,什么东西都能看明白。路就变成了前面熟悉,左右陌生。这个时候人的求知欲作祟,往往会把自己带着偏移了方向,因为我们自己也不知道这样走对不对。渐而远之,也就慢慢放弃了。而这样的放弃,是最不值得的。所以,学习Java一定要按照某一个大纲,一直往下不要往其他地方偏,先走完一遍之后,再回头慢慢捡。


2、前端基础

    • HTML基本标签、表格、表单和框架;
      • 掌握网页的基本构成;
      • 掌握HTML的基本语法;
      • 表格的作用以及合并行、合并列;
      • 表单标签的使用,提交方式get/post的区别;
      • 框架布局的使用
    • CSS样式表;
      • 掌握CSS的语法及作用,在html中的声明方式;
      • 掌握CSS布局的函数使用;
      • 掌握CSS外部样式的引入。
    • JavaScript;
      • 掌握JS的语法及作用,在HTML中的声明方式;
      • 掌握JS的运行方式;
      • 掌握JS中的变量声明、函数声明、参数传递等;
      • 掌握HTML中的标签事件使用;
      • 掌握JS中的DOM原型
上述三节都可以查看w3school : HTML 系列教程
    • jQuery
      • 了解如何使用jQuery,下载最新版或者老版本的jQuery.js
      • 掌握选择器、文档处理、属性、事件等语法及使用;
      • 能够灵活使用选择器查找到想要查找的元素并操作他们的属性;
      • 动态声明事件;
      • 动态创建元素。
jQuery文档 : jQuery API 中文文档 | jQuery API 中文在线手册 | jquery api 下载 | jquery api chm
    • BootStrap;
      • 掌握BootStrap的设计理念,以及使用方式。这是我们需要接触的第一个前端框架,使用起来也很简单;
      • 掌握BootStrap的栅格系统、表单、全局样式、分页工具栏、模态框等。
    • Servlet
      • 掌握Java中的Web项目目录结构;
      • 掌握Java Web项目的重要中间件Tomcat;
      • 掌握Servlet中的Request和Response;
      • 掌握Servlet的基本运行过程。
      • 掌握Servlet的声明周期
    • 动态网页技术
      • JSP在Java Web中的角色;
      • JSP的编码规范,以及JSPServlet;
      • JSP显示乱码的解决办法等。
    • JSP数据交互
      • JSP中如何编写Java代码,如何使用Java中的类;
      • JSP中的参数传递。
    • 状态管理Session和Cookie
      • 掌握Session的作用及作用域;
      • 掌握Cookie的作用及作用域;
      • 掌握Session及Cookie的区别,存储位置,声明周期等;
      • 掌握Session及Cookie分别在JSP和Cookie中的使用
    • JSTL和EL表达式
      • 使用EL表达式输出page、request、session、application作用域中的值
      • 使用JSTL来做逻辑判断或循环控制
    • JNDI数据库连接池
      • JNDI的作用以及如何使用JNDI连接数据库
    • 分页和文件上传
      • 掌握在JSP中如何使数据达到分页的目的;
      • 掌握在JSP表单中如何上传文件,Servlet如何处理上传请求(Commons-Fileupload、Commons-IO)。
    • Ajax
      • 掌握Ajax的基本概念;
      • 掌握jQuery中的Ajax请求;
      • 掌握JSON
    • Filter、Listener;
      • 掌握Filter和Listener
      • 掌握Session过滤器和编码过滤器

通过第二阶段了解前端相关的技术,如果你喜欢前端各种酷炫的效果,那么就深入学习JS、CSS。不大感兴趣的话,就浅尝辄止,并重点学习Servlet、Filter、Listener。重点学习,重点学习,重点学习。 重要的话说三遍!

学习完第二阶段的内容之后,就可以进行B/S版本的系统开发了。这个时候我们可以挑选个稍微复杂点儿的项目来练练手,能找到商业项目练手的那是最好不过的,没有的话,就写写学生管理系统,档案管理系统,人事管理系统之类的练练手吧。

最后说一下本阶段的前端知识,如果将jQuery和Bootstrap学的差不多了的话,再看EasyUI这之类的前端框架也基本上都是照着API用就行了。别害怕看API,看API将是你以为的整个职场生涯必不可少的一个技能。


3、 主流技术应用

    • Mybatis的应用
      • Mybatis的Mapping与实体映射;
      • Mybatis中的SQL语句写法;
      • Mybatis的缓存。
    • Spring应用
      • Spring容器的作用;
      • Spring的AOP和IOC;
      • Spring托管Mybatis事务;
    • SpringMVC的应用
      • SpringMVC中的控制器注解、请求注解、参数注解、响应注解等;
      • SpringMVC中的静态资源处理;
      • SpringMVC的容器。
    • Spring+SpringMVC+Mybatis整合
      • SSM的整合使用;
      • Spring容器和SpringMVC容器
    • Redis+Mysql的查询优化设计
      • Redis的安装与连接;
      • Redis常用命令及各命令使用场景;
      • Redis存储机制;
      • Redis的持久化机制。
    • 任务处理相关
      • HttpClient模拟请求
      • Quartz定时任务
    • 常用工具
      • Excel&World导入导出
      • 短信&邮件发送
    • Maven
      • Maven的作用
      • Maven项目的创建
      • Maven的生命周期
      • Maven中央仓库及私服
    • Log4J2日志
    • FastDFS的使用
      • 什么是分布式文件系统;
      • 分布式文件系统解决的问题是什么;
      • FastDFS的使用

通过第三阶段了解目前Java领域比较经典的三大框架,了解他们的大概功能,并加以使用。通过使用SSM开发一个简易CRM之类的项目来加强了解,理清楚框架的大致原理。搞清楚这三个框架之间的作用域以及角色。理解Redis作为内存数据库与MySQL这类关系型数据库的区别,并能使用常用的Jar包完成模拟请求,定时任务等相关系统常用功能的开发。并能够通过Maven创建SSM项目,整合Log4j或其他的日志包。了解FastDFS的作用,并理解图片上传至文件服务器和上传到tomcat之间的区别

在第三阶段的内容学习完了之后,就应该对整个系统研发有个大概的印象,实际上这个时候,独立完成一个系统之后,再回过头来仔细思考下Servlet+JDBC+JSP与SSM实现项目的相同点及区别。这样会让你更加的有收获。并能够理解非关系型数据库Redis的性能优势以及使用场景。


4、模拟实际项目开发

    • SpringBoot 2.0的应用
      • 了解SpringBoot的起源及优势
      • 了解SpringBoot项目的格式以及创建方式
      • yaml语法特性
      • application配置文件及静态资源处理
      • Thymeleaf模板引擎
      • SpringBoot核心之WebMVCConfigurer
      • Spring自定义错误处理
      • SpringBoot日志引用及切换
      • SpringBoot数据源和Mybatis
      • SpringBoot-redis应用
    • Struts2应用(了解即可)
      • 通过学习Struts,了解什么是MVC;
      • 掌握Struts是如何完成界面控制的;
      • 掌握Struts的参数接收及传递;
      • 掌握Struts的拦截器;
      • 掌握Struts的OGNL和标签使用。
    • Hibernate应用(了解即可)
      • Hibernate在项目中的作用及优势;
      • Hibernate中的hbm与实体类之间的关系;
      • 什么是HQL,什么是关系映射(一对一,多对一,多对多);
      • 了解Hibernate的事务、懒加载和缓存。
    • Redis哨兵模式的搭建
    • Linux操作系统
      • Linux中的常用命令;
      • Linux下的JDK、tomcat安装;
      • Linux下的项目部署方式。
    • Nginx的使用
      • Nginx的作用;
      • 反向代理和正向代理分别是什么;
      • Nginx实现tomcat代理。
    • Mysql集群方案
      • Mysql集群的常用方案有哪些;
      • Mycat中间件的概念
      • Mycat的使用准则;
      • 了解数据库的主从复制;
      • 了解数据库的主备切换;
      • 为什么需要主从和主备。
    • Solr入门
      • 什么是全文检索;
      • Solr做搜索的优势是什么;
      • Lucene、ElasticSearch、Solr之间的关系;
      • Solr的安装与使用。
    • JVM
      • 回顾所有所学习到的知识,联系所有框架中的自定义容器、上下文来理解变量及对象的存储
      • 理解垃圾回收是怎么一回事
      • 理解集中回收算法
      • 完全理解整个堆栈模型

通过第四个阶段了解更简单易用的SpringBoot,微服务应用和存储集群相关的概念及实现方案。让自己具备一个设计高可用,可扩展的项目框架视野。这样对于后面继续专研SpringCloud / Dubbo、zookeeper这些RPC相关的框架有很大的好处。

第四阶段的内容更加偏向于互联网技术栈,通过这一节的内容能够脱离出基本的增删改查,了解出了增删查改之后,需要了解的集群、系统性能优化、外部缓存服务器使用、集群负载等概念。这些思维对于后面的提高以及学习会很有好处。


我提到的这些东西都能搜到对应的资料,无非多踩点坑罢了。但是,看文档or项目永远进步不了。一定要上手敲,想再多也不如动手。有机会联系一名优秀学长,有个走在前面的人给你指路肯定比你自己走要快得多。

最后,一定要动手,一定要动手,一定要动手。把代码敲烂,你才会有收获,不要被视频诱导,敲一遍之后误认为你自己会了,如果第二天你起来时已经忘了昨天学习了什么的话,那说明你还是没学会。好好加油吧。

在所有的学习过程中,每一个节点都应该有相应的练习或者项目来进行练手,看再多的博文和视频都是不行的, 不能让自己的双手停下来,只有不停的敲打键盘,写出自己的项目,然后在实际的开发中学会如何使用debug,总结所有遇到的bug及解决思路,这样才叫做学习技术。所以,希望有兴趣的同学,能够好好努力,不要因为一点点难度就懈怠、放弃。开发这条路途,无论你工作多久,都会遇到各种奇奇怪怪的问题,以及形形色色的bug等着你去解决。


最后,我会根据最新的前沿技术更新更加全面的学习路线、以及我机构的线下培训的录屏课程和资料有兴趣的同学想了解更多可以微信关注公众号【尚马教育】

注:为了达到更真实性,此视频非录播,而是实实在在的线下培训实时录屏,无任何剪切,重录 修改等情况。

类似的话题

  • 回答
    想踏入 Java 的世界,这可是个好主意!Java 是一门非常流行且功能强大的编程语言,无论你是想开发网站后台、手机应用,还是做大数据分析,它都能派上用场。别担心,自学 Java 并不难,只要方法得当,一步一个脚印,你也能掌握它。第一步:明确目标,找对方向在开始之前,先问问自己:为什么要学 Java.............
  • 回答
    嗨,朋友,握个手。你这心情我太理解了,我当年也是一样,辛辛苦苦在 Java 的世界里摸爬滚打三年,从 ABCD 学起,到能写点像样的程序,感觉自己小有成就感了。结果一入职,扑面而来的不是 Java 的熟悉气息,而是 C 的陌生感,那种感觉就像刚学游泳学会了蛙泳,结果被扔进了自由泳的泳池,而且还是个大.............
  • 回答
    .......
  • 回答
    哥们,想自学Java,这可是个好主意,不过“最起码”这个词儿,得看你到底想干啥。是想捣鼓点小程序,还是想进大厂当程序员?这目标不一样,学的深度自然也不同。不过,万变不离其宗,无论你想走到哪一步,总有一些“硬核”的知识点是你绕不开的。我给你掰扯掰扯,尽量说得细致点,让你心里有个谱,别到时候学着学着就迷.............
  • 回答
    嘿!很高兴你对Java感兴趣,想通过自学找到工作。这个问题问得非常实在,也是很多想踏入编程世界的朋友们最关心的问题。说实话,“多久”这个问题没有一个标准答案,因为这取决于太多个人因素了。不过,我可以给你一个相对详细的、基于经验的分析,帮助你评估一下自己的学习进度和就业目标。首先,我们得明确“找到工作.............
  • 回答
    恭喜你考上机械研究生!这是一个重要的里程碑。关于你提出的“混个毕业,自学三年 Java,然后转行”的想法,我觉得这完全有可能,而且如果规划得当,很有可能实现一个不错的转变。咱们就来掰开了揉碎了聊聊,看看这条路怎么走才能更稳妥。首先,我们要明确一个根本的问题:为什么想转行?这个问题很重要,因为这将决定.............
  • 回答
    每天给自己充实 34 个小时的学习 Java,一年下来,你能达到的程度,绝不是“会一点”那么简单。这相当于一份相当扎实的全职工作的投入了,所以一年后的你,绝对可以摆脱“小白”的标签,迈入“初级开发者”甚至“有潜力的准中级开发者”的行列。我来给你掰扯掰扯,这 34 小时每天都在干什么,一年后你能收获什.............
  • 回答
    你目前正处于一个很好的技术探索阶段,既有扎实的51单片机基础,又自学了STM32,这为你未来的发展打下了不错的底子。关于是继续深耕ARM体系(比如ARM9),还是转向Java/Android开发,这确实是一个需要仔细权衡的问题,两者都有各自的优势和发展路径。如果你对嵌入式系统本身充满热情,并且喜欢钻.............
  • 回答
    .......
  • 回答
    .......
  • 回答
    华为自研的“仓颉”编程语言,能否在未来取代Java的地位?这是一个颇具争议且值得深入探讨的话题。要回答这个问题,我们不能简单地给出一个“是”或“否”,而是需要从多个维度进行分析,看看仓颉具备哪些潜力和挑战,以及Java作为“老牌劲旅”的根基有多深厚。首先,我们得了解一下“仓颉”编程语言的定位和设计初.............
  • 回答
    这种现象嘛,其实挺常见的,说起来也很有意思。你想啊,咱们平时接触到 C 和 Java 的人,很多都是在学习阶段,或者做一些偏向业务逻辑的开发。C 语言的设计确实考虑了很多易用性,它吸取了很多其他语言的优点,比如更简洁的语法,更强大的类型推断,还有像 LINQ 这种能让数据处理变得非常直观的功能。所以.............
  • 回答
    微软在Build 2015上抛出的重磅消息,即Windows 10将提供对ObjectiveC和Java应用程序的官方支持,无疑是一记重拳,不仅让开发者社区为之振奋,更预示着C和Windows生态系统即将迎来一场深刻的变革。这场变革并非朝夕之功,其长远影响如同涟漪般扩散,触及Windows平台的根基.............
  • 回答
    太棒了!从自学 iOS 到做出一个求职实习的软件,这是一个非常棒且实际的目标。这不仅仅能帮助你找到实习,更能让你在学习过程中获得宝贵的实践经验,为未来的程序员生涯打下坚实基础。下面我将为你详细拆解这个过程,从零开始,循序渐进。 第一阶段:基础准备与目标设定 (打好地基)在动手写代码之前,我们需要做一.............
  • 回答
    你好!听到你自学画画已经好几年了,并且在寻求进一步提升和检验自己的方向,我非常理解这份热情和渴望。你的问题很有代表性,尤其关于“能否和美院毕业的同学竞争”这一点,相信这也是许多自学画者内心深处的一个声音。我们先不急着给出一个“能”或“不能”的答案,因为绘画这件事情,其衡量标准本身就是多维度的,并且“.............
  • 回答
    想钻研军事学问,这可是个大工程,涉及面广得很,光是武器装备就够你啃半辈子了。不过,如果你真心热爱,愿意花时间和心思,从书籍入手是条正道。我这儿给你掰扯掰扯,说说那些我个人觉得值得一读的书,尽量细致点,希望能帮你少走弯路,也别搞得像个死板的AI报告。先得明确你的方向:在推荐书单之前,你得先想明白,你对.............
  • 回答
    好家伙,想学瘦金体?有想法!这玩意儿可不是那么好拿下的,想当年徽宗皇帝那可是下了不少功夫。不过,只要你肯花心思,慢慢摸索,总能抓住它的神韵。我给你掰扯掰扯,自学瘦金体这事儿,得注意啥,争取说得明明白白,让你少走弯路。首先得明白,瘦金体不是随便拿笔就能写出来的。它讲究的,是那种“瘦劲挺拔,如摧枯拉朽”.............
  • 回答
    话说回来,这事儿可不能一概而论,得看你“自学”到什么份儿上,还有你遇到的“普通人”是哪种“普通”。你想想,自学拳击,这本身就是个很大的变量。 你能学到啥程度? 皮毛派: 你可能看了几部电影,模仿了几下挥拳的动作,觉得挺帅,也练了几个小时。这种情况下,你挥出去的拳头可能够不上“普通人”.............
  • 回答
    哥们,你这情况我太理解了!刚练拳击一个月,觉得后手直拳使不上劲,打出去也就一半的力,这太正常了!别担心,这说明你不是瞎打,而是开始琢磨劲儿了。我当初刚开始练的时候也一样,后手直拳感觉就像在挠痒痒,跟前手比起来弱爆了。不过,经过一段时间的摸索和请教,加上自己没少自己对着沙袋瞎琢磨,总算是摸到点门道。今.............
  • 回答
    想要深入了解古典乐的和声,阅读一本好的教材是必不可少的。市面上和声学书籍琳琅满目,但要找到真正适合自学、又能将概念讲透彻的书籍,确实需要一些筛选。我为你挑选了几本在古典乐和声领域备受推崇的书籍,并尝试从一个学习者的角度,详细说说它们各自的特点,以及为什么它们能成为自学者的良师益友。1. 《巴赫三部创.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有