• 学习Java编程入门书籍

    2019-04-05 10:48:58
    分享几本java编程入门书籍,文章转自知乎路人甲 《Head First Java》 《Head First Java》被亚马逊评为十大好书之一。在京东计算机类书籍中热度排名第16位,在Java类书籍中排名第2位。豆瓣评分为8.8分,有百分之54.4...

    分享几本java编程入门书籍,文章转自知乎路人甲

    《Head First Java》

    《Head First Java》被亚马逊评为十大好书之一。在京东计算机类书籍中热度排名第16位,在Java类书籍中排名第2位。豆瓣评分为8.8分,有百分之54.4%的读者给出了五星评价。在知乎社区中有来自无数位的大神做推荐。哪本书适合推荐给 Java 初学者? - 书籍推荐
    在这里插入图片描述
    《Head First Java》详情链接
    《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序 语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。
    Head First系列的图文并茂学习方式能让你快速地在脑海中掌握住知识。敞开心胸准备好学习这些关键性的主题:

    *Java程序语言
    
    *面向对象程序开发
    
    *Swing图形化接口
    
    *使用Java API函数库
    
    *编写、测试与布署应用程序
    
    *处理异常
    
    *多线程
    
    *网络程序设计
    
    *集合与泛型
    

    《疯狂Java讲义》

    在这里插入图片描述
    《疯狂Java讲义》详情链接
    《疯狂Java讲义》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、 Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。共覆盖了 java.awt、java.lang、http://java.io和java.nio、java.sql、java.text、java.util、 javax.swing包下绝大部分类和接口。

    《Thinking in Java》汉译版:java编程思想

    在这里插入图片描述
    《Thinking in Java汉译版:java编程思想》详情链接
    对于这本书,大家并不陌生。 《Thinking in Java》在京东平台有超过4.5w+的评论,在京东计算机类书籍中热度排名第9位,在Java类书籍中排名第1位。在豆瓣,总评分达到9.1分,有61.1%的读者给出了五星的评价。在知乎社区也是一本被极力推荐的书籍,当然这本书希望你可以在读完上面两本之一之后再开始拿起这本书。

    很多人学习Java是从《Thinking in Java》这本书入手的,但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java的整个体系,而是一种跳跃式的写作方法,是一种类似tips的方法来对Java很多知识点进行了深入的分析和解释。

    《Java 核心技术》

    在这里插入图片描述
    《Java 核心技术》详情链接
    《Java 核心技术》在京东平台有超过1.5w+的评论,在京东计算机类书籍中热度排名第37位,在Java类书籍中排名第5位。在豆瓣,总评分达到8.9分,有53.4%的读者给出了五星的评价。作为入门之后的书籍值得咀嚼一番。

    《JAVA核心技术(卷1):基础知识(原书第 8版)》是《Java核心技术》的最新版,《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展 的步伐,而且每一版都重新改写了的部分内容,以便适应Java的最新特性。本版也不例外,它反遇了Java SE6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用 程序和Applet、异常日志断言和调试、叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类型库的相关特性。

    图书的一个基本大纲:

    1-6章:概述和基本语法,为便于C++程序员迁移,附有大量C++对比注释,还有各种“注意”“警告”的tips,这编排很好。
    
    7-9章:Java基于awt和swing包的界面开发由于缺少良好的IDE支持,界面设计和布局问题让习惯了VS的初学者很烦躁,789可跳读,核心机制是事件驱动-监听-方法回调的机制。书中很多相关示例代码。
    
    10-11 章:应用部署和applet,先了解一下,要发布时再仔细看也来得及,至于applet,据说现在用的比较少了。如果你熟悉C++或C++++的话,异常 几乎没新内容,但是建议读第4章之前先读一下异常这章,因为java中所有可能的非运行时异常都需要人工捕获处理。
    
    12-13章:虚拟机的泛型系统实现特点及使用注意是第一卷的进阶精华,也是MetaPrograming的第一步,和C++的template的实现很不一样,C++的程序员要注意比较区别。至于集合,要注意分类,因为历史遗留和兼容性问题,java这块比较乱。
    
    14章:先有多线程的概念在看书要好些,包里有一大堆过时的API,小心尽量不使用。书里的配图很好。
    

    《深入理解Java虚拟机:JVM高级特性与最佳实践》

    在这里插入图片描述
    《深入理解Java虚拟机:JVM高级特性与最佳实践》详情链接
    如果你想学好Java,想知道Java的原理吗?这本书会是你的不二选择。 《深入理解Java虚拟机:JVM高级特性与最佳实践》在京东平台有超过3.5w+的评论,在京东计算机类书籍中热度排名第24位,在Java类书籍中排名第3位。在豆瓣,总评分达到8.6分,有43.6%的读者给出了五星的评价。作为入门之后的书籍值得咀嚼一番。
    玩java不懂JVM那岂能行,此书乃java进阶必看的书籍,对java内存模型,JVM工作原理,基本JVM调优和内存溢出排查有很大的帮助

    全书共分为五大部分。
    第一部分:从宏观的角 度介绍了整个Java技术体系的过去、现在和未来,以及如何独立地编译一个OpenJDK7,这对理解后面的内容很有帮助。

    第二部分:讲解了JVM的自动内 存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见的虚拟机的监控与调试工 具的原理和使用方法。

    第三部分:分析了虚拟机的执行子系统,包括Class的文件结构以及如何存储和访问Class中的数据;虚拟机的类创建机制以及类加载 器的工作原理和它对虚拟机的意义;虚拟机字节码的执行引擎以及它在实行代码时涉及的内存结构。

    第四部分:讲解了程序的编译与代码的优化,阐述了泛型、自动装 箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的 数据和结果。

    第五部分:探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生 原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。

    本书适合所有Java程序员、系统调优师和系统架构师阅读。

    展开全文
  • 这是Java学习指南系列课程的第1篇,介绍Java语言的入门语法,引领希望学习Java语言编程的初学者进入Java大门。 本课程不需要其他语言作为基础,可以直接学习。 课程从Java开发平台的下载和安装开始,从...
  • 借名人名言给大家推荐一些对java学习有用的经典书籍,对程序员来说,我觉得最佳学习方式还是看书,看视频花费时间太长,而阅读博客则不够系统。 对java初学者最好的方式就是找到一本经典的好书,然后啃完它。当然,...

    书是人类不可或缺的精神食粮。正如高尔基所言:书是人类进步的阶梯。借名人名言给大家推荐一些对java学习有用的经典书籍,对程序员来说,我觉得最佳学习方式还是看书,看视频花费时间太长,而阅读博客则不够系统。

    对java初学者最好的方式就是找到一本经典的好书,然后啃完它。当然,我还是推荐大家有时间写写博客,毕竟好记性不如烂笔头,许多的工作经验,不记录会随着时间的推移也终究会被遗忘,看书也一样,看到重点动手去实践,动脑去思考,动手记录下来!

    好了,下面开始介绍书籍了!

    学生,职场新人必备书籍

    《Java核心技术·卷1 基础知识(原书第10版)》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:入门看妥妥的,基础讲的通俗易懂。比《Java编程思想》更容易啃下来。建议人手一本。已经到第10版了,覆盖最新技术,平时经常翻阅。

    如果你不是职场新人了,你想提示个人能力,那么我推荐以下书籍:

    《Java8 实战》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    不得不说这本书是把Java8的新特性讲得最全最仔细的

    《Spring实战(第4版)》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    《精通Spring 4.x ――企业应用开发实战》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:SpinrgMVC干货系列的书籍,绝壁值得看看! 

    下面推荐 SpringBoot 相关的书籍

    《JavaEE开发的颠覆者:Spring Boot实战》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    《Spring Boot实战》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    《SpringBoot揭秘:快速构建微服务体系》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:springboot 就不用多说了,很多公司都在用,值得看的!

    redis相关

    《Redis实战》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用 Redis 来说不可多得的参考书籍。

    工具类相关书籍

    《Maven实战》 

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:从基础到应用,很全,适合初学者,当然有一点经验的人也挺适合的,读完这本平时工作够用了。

    其他的进阶书籍推荐

    性能优化相关书籍

    《Java性能权威指南》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:讲得深入,也更加贴近现在的JDK。

    《实战Java高并发程序设计》

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:国人新作,流畅易读

    《Head First 设计模式》 

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:设计模式,面试经常问的,你觉得重要不。

    《深入理解 Java 虚拟机 第2版》 

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:系统的介绍了Java虚拟机和相关工具,并给出了一些调优建议,值得一看!

    其他的书籍推荐

    《代码整洁之道》 

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    《程序员的职业素养》 

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:老书了,值得看看

    最后介绍一本必备书籍

    《程序员健康指南》 

    那些对java学习有用的经典书籍你看过几本_www.cnitedu.cn

    推荐理由:身体是革命的本钱,健康第一!!!

    小小的总结

    作为程序员的我们,不要吝啬对自己的投资,只有自己强大了才能赚更多的钱。每年都买几本书好好的学习一下。

    展开全文
  • JAVA入门学习资料

    2006-11-03 00:24:00
    一、入门Java 2从入门到精通》- 推荐 《Thinking in Java》- 强烈推荐* O’reilly的Java编程基础系列 - 参考* 二、进阶 《Java Cook Book》- 非常推荐* (包含了Java编程的Tips,适合当做手册来查阅) 《O’...

    一、入门
    《Java 2从入门到精通》- 推荐
    《Thinking in Java》- 强烈推荐*
    O’reilly的Java编程基础系列 - 参考*

    二、进阶
    《Java Cook Book》- 非常推荐* (包含了Java编程的Tips,适合当做手册来查阅)
    《O’reilly-Java IO》- 推荐* (包含Java IO编程的各个方面)
    《O’reilly-Database Programming with JDBC》- 推荐* (JDBC编程)
    《O’reilly-Java Programming with Oracle JDBC》- 参考*

    三、Java Web编程
    《O’reilly-Java Server Pages》- 强烈推荐*
    《O’reilly-Java Servlet Programming》- 非常推荐*
    《O’reilly-Jakarta Struts》- 推荐* (Java Web编程的一个MVC实现框架Struts的书)

    四、EJB编程
    《J2EE应用与BEA Weblogic Server》- 强烈推荐
    《Mastering EJB 2.0》- 非常推荐*
    《Enterprise Java Bean》- 推荐*

    五、Java XML编程
    《O’reilly-Java and XML》- 推荐*
    《O’reilly-Java and SOAP》- 参考* (Java的SOAP编程)

    六、设计模式
    《Core J2EE Patterns》- 强烈推荐* (J2EE设计模式,设计企业应用软件必备参考书)
    《EJB Design Patterns》- 推荐*

    七、其它
    《O’reilly Ant - The Definitive Guide》- 推荐* (Ant是一种功能非常强大的Java工具)

    Note:
    强烈推荐书籍:建议购买,重点学习
    非常推荐书籍:建议花时间学习
    推荐书籍:在学有余力的情况下,建议学习
    参考书籍:有兴趣的情况下学习

    标明*号的书籍有电子版本
    可以去http://www.china-pub.com 看看 

    展开全文
  • java基础入门(一)

    2020-03-15 00:28:28
    1. 笔者的java没有经过真正系统的学习过,只是跟着书上自学的。所以有些地方难免会理解错误之类的,如果看到错误的地方,请指出来,或者有什么不理解的地方也可以提出来,大家一起进步。 2. 这篇教程是一个学习方向...

    前言:

    1. 笔者的java没有经过真正系统的学习过,只是跟着书上自学的。所以有些地方难免会理解错误之类的,如果看到错误的地方,请指出来,或者有什么不理解的地方也可以提出来,大家一起进步。

    2. 这篇教程是一个学习方向的引导,且只针对基础入门(更加进阶的知识笔者也还在学习)。

    3. java的基础入门知识网上有很多,很多大神的博客里也有总结,笔者不认为自己能比大神总结的好。所以在这篇教程里,很多基础知识笔者会直接引用一些大神的博客和网上的一些资料,做一个汇总。当然,同时也会加入笔者自己的理解,说一些笔者学习时踩过的坑,分享一些心得。

     

    话不多说,进入正题:

    java 简介

    简单的说,java是一门面向对象编程语言,吸收了C/C++的优点,摒弃了C/C++复杂的指针等内容,也不需要用户手动释放内存空间。java本身还具备了很强的可移植性,通过将源代码编译成二进制字节码,然后通过不同平台的java虚拟机来解释执行字节码,从而实行了“一次编译,到处执行”的跨平台特性。

    Java的应用领域非常广泛。可以做应用系统、互联网网站、以及移动端的安卓等。

    想了解更多的java的发展历史和语言特性,可以点击这里

     

    java 环境配置

    "工欲善其事,必先利其器",学习java首先要配置java运行所需要的java环境,这个网上也有很多教程了,我也不详细讲了。

    java环境配置教程:

    window环境:win7win10

    linux环境:通用教程云服务器(centos7)

    Mac环境:Mac

     

    集成开发环境安装:

    初学者推荐eclipse,安装和使用都比较简单,网上也有很多教程,如window用户可以看这篇教程。下文的例子都是基于eclipse环境,但如果你使用其他IDE也完全不影响代码运行。

    笔者现在用的是IntelliJ IDEA,功能相比eclipse更强大,更智能,尤其在代码提示和补全方面做得很好。笔者一开始学java的时候,也是用的eclipse,后面学java web的时候,就慢慢转用IntelliJ IDEA了,然后再回不来了。简单说说两者的优缺点。

    IntelliJ IDEA:功能强大、各类炫酷实用插件,智能化代码提示与补全,debug也很方便智能,适合开发大型项目。但是安装包很大,运行内存占用比较高,完整版收费(几百美元一年,但学生可以用教育邮箱免费申请使用资格),社区版虽然免费但是阉割了很多功能

    eclipse:免费!!安装包小(几百兆),解压即可使用,简单易上手。不足之处是代码提示和补全不够智能,插件很多但实用性不足。但是作为一款免费软件,eclipse已经非常棒了,对于初学者来说也完全够用。

    很多初学者配置环境时都会遇到一些莫名的问题,大部分都是因为jdk的路径问题引起。所以大家配置环境的一定不能照搬教程里的路径,要根据自己电脑里的jdk路径来配置。如果配置环境出现问题,这时候可以根据报错信息等百度看下原因。实在不行,可以 根据教程“重新配置环境”,这个方法可以解决大部分问题。(eclipse 不能正常运行也可以试试卸载重装。。)。其次也可能和jdk的版本及eclipe版本有关,下载的时候一定要根据你所使用的系统的版本来选择jdk版本和eclipse的版本,否则就会出错.

    这里我还要补充的是 有关java专业的一些术语:

    JRE(Java Runtime Environment):运行Java程序的用户使用的软件,包含了java虚拟机却不包含编译器。

    JDK(Java Development Kit):编写java程序的程序员所使用的开发工具包,JDK里包含了JRE。

    Server JRE :在服务器上运行java环境的软件

    SE (Standard Edition):用于桌面或简单服务器应用的java平台。(我们现在正在学习的)

    EE(Enterprise Edition):用于复杂服务器应用的java平台。

    ME(Micro Edition): 用于手机和其他小型设备的java平台。

    J2(Java 2):一个过时的术语,用于描述1998~2006之间的java版本。

    SDK(Software Development kit):一个过时的术语,用于描述1998~2006之间的JDK。

     

    到这里,默认你已经成功配置好了环境,成功运行了eclipse。

    (备注:1、eclipse默认是英文的,但也提供了中文语言包,下面有些教程的eclipse界面是中文的,但是笔者建议读者使用英文版,毕竟使用英文版软件、系统是一个程序员必须要学会习惯的

                 2、如果你不想用eclipse,完全可以选择其他你喜欢开发环境,如NetBeans和IntelliJ IDEA都是很棒的开发环境。)

    java 第一个程序

    下面开始练习用eclipse来写出你的第一个java程序,通过这个小程序你可以了解java最基础的语法,以便我们后续的学习。不要小看这个程序,几乎所有java程序都有这样的声明格式。

    相关教程:java 第一个程序

    java 数据类型

     

    java 是一门强类型的语言。这意味着必须为每一个变量声明一种类型。在java中一个有8种基本类型,四种整型(byte,short,int,long),两种浮点(float,double),一种字符类型char,一种用于表示真值的boolean型。

    相关教程 java 数据类型

    要注意的是:

    1. 读者后面会接触到一个字符串类型String,每个用双引号括起来的字符串都是String类型的实例,如:

     String e = "";//一个空字符串
     String hi= "hello";

    但是,String不是基本类型, 是标准java类库提供的一个预定类(类和对象的概念后续会讲到)。两个String类型相加的效果为两个字符串的拼接:

    String m = "abc";
    String n = "def";
    String p = a+b;//p = "abcdef";
    int i=13;
    String p = "abcdef"+i;// p="abcdef13"; 13被自动转换成字符串处理

    关于String的用法先简单了解下,后面等学习了对象和类的概念,我们再回头来了解下String类型。

    2. 在C语言里,可以用整数1和0代表代表布尔值true和false,但是,在java里,整数值和布尔值不能进行相互转换。

    3. 在java中,所有的数值类型所占据的字节数量与平台无关(int 永远占4个字节,long永远占8个字节)。

     

    java 变量

    学完了数据类型,我们来学变量。

    在java中,每个变量都有一个类型。声明变量类型时,变量的类型位于变量名之前,如:

    double salary;
    int days;
    long population;
    boolean done;

    相关教程:java 变量

    由于读者没有学习到修饰符及对象和类的相关知识,上面的教程可能会有些看不懂,但不必担心,我们这个小节学习的是变量,后面会讲到其他相关的知识。

    这里还想做几点补充:

    1. 变量的类型除了前面所讲八大基本类型,还可以是类名(如String 就是标准包里的一个类的名称)。

    2. 变量的命名规则:

      (1)变量名必须是一个以字母开头并由字母或数字构成的序列,且不能包含空格和java保留关键字

      (2)尽量使你的变量名有意义,容易一眼看出它本身所表达的意义,避免使用a,b,c等无意义的变量名。推荐使用驼峰命名            法来规范变量名。

    3.在C/C++里区别变量的声明和定义,但是在java中,不区分变量的声明与定义。

    int i=10;//是一个定义
    extern int i;//是一个声明

     

    java 运算符

     

    学习了数据类型及变量,下面我们就来了解下数据之间是怎么进行运算的.

    相关教程:java 运算符

    补充:

    任何数除以0,在运行过程中会抛出一个异常(java异常机制后面也会讲到,这里可以先理解成报错),负数的平方根的结果为NaN(不是一个数字)。

    java 输入输出

    为了增加后面示例程序的互动性,需要程序能够从控制台接收输入(标准输入流),并在控制台中以适当的形式输出(标准输出流)。

    这里要补充一个知识点:在java里,点号( . )用于调用方法(在C语言中被称为的函数)。通用的语法为:

    obeject.method(parameters);//这里表示的是调用了名为object对象的method方法,括号里是方法的参数

    注意,对于一个方法,即使是没有参数也需要使用空括号

    标准输出流:

         打印输出到“标准输出流”(即控制台窗口)是一件非常简单的事情。 

         在我们学习的java的第一个程序时,我们已经接触了标准输出流,并在控制台中输出了“Hello World!”。

    {
          System.out.println("Hello World!");
    }

         在这里,使用了System.out对象并调用了它的println方法并传递给他一个字符串参数(“hello world”)。println方法可以将传递给它的参数显示在控制台上。每次调用println都会在新的一行显示输出(如果想在输出后不换行,可以使用println,如System.out.print("hello");)。

         补充:

                 1.调用println方法也可以不传递参数,此时,将打印一个空行。

                 2.括号内可以使用“+”拼接字符串,实际上我们经常这么使用。     

    	System.out.println("Hello"+"World!");//在控制台中输出Hello world!
    	System.out.println("H"+"e"+"l"+"l"+"o");//在控制台中输出Hello

     

    标准输入流:

     

        标准输出流很简单,但是读取“标准输入流”System.in就没有那么简单了。

        首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。(构造函数和 new操作符在下一篇教程讲到)

    Scanner in = new Scanner(System.in);

        其次,你还要在程序的最开始添加上一行:

        import  java.util.Scanner; 

        这句话的作用是:引入java.util包下的Scanner类。这句话现在不理解完全没没关系,你可以暂时理解成“类似C/C++调用函数时需要声明的头文件”。现在你只需要套用模板就可以了。下面我给出个例子:

    import java.util.Scanner;
    
    /**
     *标准输入输出流的简单实例
     */
    public class Test {
    	public static void main(String[] args) {
    		//构造一个Scanner对象,命名为 in (你完全可以选择其他名字),并与System.in关联
    		Scanner in = new Scanner(System.in);
    		//标准输出流
    		System.out.println("what is your name?");
    		//调用nextLine方法,从控制台读取一个字符串,并赋值给name;
            //值得说明的是,从方法名上看,nextLine可以读取一行内容,实际上也是这样的,你可以输入一个很长很长的字符串,直到你敲下回车键。
    		String name = in.nextLine();
    		//同样,读取一个整数,并赋值给age
    		System.out.println("How old are you");
    		int age = in.nextInt();
    		//打印刚刚输入的信息
    		System.out.println("your name:"+name+"  your age:"+age);
    	}
    }

    运行示例:

    补充:想要读取不同的数据类型,需要调用不同的方法,

               nextLine() 读取输入的下一行字符串,可以包含空格(遇到Enter键视为结束符)

               next()        读取输入的下一个字符串(遇到空格键、Tab键或Enter键视为分隔符或结束符)

               nextInt()        读取输入的下一个整数

               nextDouble() 读取并转换下一个表示整数或浮点数的字符序列

              类似的,还有next.Byte(), nextFloat , nextLong(), nextShot()方法,可以根据名字得出用途

    java 控制流程

    和任何其他程序设计语言一样,java使用条件语句和循环语句确定控制流程。

    教程循环结构分支结构

    拓展: 

    带标签的break语句

    与C/C++不同,java提供了一种带标签的break语句,用于跳出多重嵌套的循环语句。有时候在嵌套很深的循环语句中会发生一些不可预料的事情。此时可能会更加希望跳到嵌套的所有语句之外,但是添加一些额外的条件判断实现各层循环的检测很不方便,这是使用带标签额break语句就很方便了。

    注意:标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号(:)

    下面是一个伪代码示例

    Scanner in =new Scanner(System.in);
    int n;
    read_data:               //该标签标记的整个while语句块(即从while的大括号开始,到大括号结束)
    while(...){
    ...
      for(...){
         n=in.nextInt();
         if(n<0)
            break read_data; // 通过执行带标签的break跳转到带标签的语句块的末尾
       }
    }
    //break后,程序跳到这里并向下继续运行
    if(...){
    ....
    }
    

     

    注意:

     

           1. 带标签的break语句很容易让人想起C语言的goto语句,但是java虽然把goto当成保留字符,但却没有提供任何用法。

           2. 这个方法只能跳出语句块,而不能跳入语句块。

           3.可以将标签应用到任何语句中,甚至可以应用到if语句或者块语句中。

             (块是指由一对大括号括起来的若干条简单java语句)

    java 方法(Method)

    java里的"方法"(method)可能在其他语言(如C语言)里被称为"函数"(function)。简单的说,比如你为了求两个数的最大公因数,写了好多行代码,但如果需要求好多组数的最大公因数,你可以把这些代码用一个 "{}"括起来,并起一个名字,这样当需要用的时候,按照方法名字调用即可。

    教程java 方法

    上述的教程看到"方法调用"的内容即可,后续的 构造方法、java值传递、以及可变参数的内容后面的教程会讲到。

    方法的重载:

    简单的说,方法重载就是同一个方法名,不同的参数类型以及参数个数。有时候,会出现这样一种情况,你要设计一个方法,但是这个方法的形参类型和个数是不确定的,在C语言里,你可能就要设计多个不同的函数,且函数名不能一样,这样就会出现一个问题,调用函数的时候,非常麻烦,要针对参数的不同做出判断和处理;但是在Java里,由于有了方法的重载,你可以把方法名设置成一样的,只需要改变方法的形参列表,这样的好处,调用该方法的时候,Java虚拟机会根据你调用方法时传入的具体参数类型及个数选择相应的方法调用。

    教程:方法重载

    注意:

    1. java允许重载任何方法,而不只是构造方法。

    2. 方法的签名:方法名及参数类型。 值得注意的是方法的返回类型不是方法签名的的一部分,即,不能有两个名字形同、参数类型也相同,返回类型却不同的方法。

     

     

     

    这篇教程只是讲了java的一些基础语法,下一篇我们将开始讲java面向对象编程的思想。。。

    下一篇博客地址:Java基础入门(二)

    展开全文
  • 当然,这里我只是说Java学习路线,因为自己就是学Java的,对Java理当很熟悉,对于其它方面,我也不是很了解。 基础阶段 首先是基础阶段,在基础阶段,我们必须掌握Java基础,Mysql数据库,Ora...

    引言

    最近也有很多人来向我"请教",他们大都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的时候非常迷茫,实在是每天回复很多人也很麻烦,所以在这里统一作个回复吧。

    Java学习路线

    当然,这里我只是说Java学习路线,因为自己就是学Java的,对Java理当很熟悉,对于其它方面,我也不是很了解。

    基础阶段

    首先是基础阶段,在基础阶段,我们必须掌握Java基础,Mysql数据库,Oracle数据库,JDBC,Linux基础,Java8新特性,数据结构和算法,设计模式。
    对于基础阶段,我们所要掌握的就是基础,虽然是基础,但学起来也够呛。因为是初学者,所以基础阶段会有一点难度,但只要肯坚持,这些也没什么难的。对于Linux、数据结构、算法和设计模式我们掌握一些基础就行了,也没必要学得非常透彻。

    Web基础

    基础阶段过后,我们还必须要掌握一些Web方面的知识,Html,JavaScript,JQuery和AJax,同样的,对于这些知识,我们只需掌握基础,而不需要深究,否则,你将耗费大量的时间。

    JavaWeb

    Web阶段过后,当然就是JavaWeb了,对于JavaWeb,我们需要掌握的知识有:Servlet,JSP,MVC设计模式,Cookie,Session,JavBean组件技术,EL表达式,JSTL表达式,过滤器Filter,监听器Listener,文件的上传下载,国际化。

    JavaEE

    最后是JavaEE阶段,当你学到这个阶段,你对Java的程序开发已经了如指掌。然而,自己开发的过程是艰难而复杂的,所以JavaEE阶段我们需要去学习一些非常优秀的框架,来帮助我们进行程序开发。
    对于框架,我们需要学习Struts2,Hibernate,Spring,SpringMVC,JPA,SpringData,MyBatis,Spring Boot,Spring Cloud,Dubbo。要学习的框架其实非常多,有些框架也十分有难度,我们在学习阶段只要能够熟练使用它们即可,有能力的话可以研究一下源码,看看框架的底层实现。当然,除了框架,我们还需要学习Maven,Git,Github,ActiveMQ,Jenkins等。
    在JavaEE阶段学习的东西是最多的,但如果你经历了JavaEE阶段的学习,你的编程水平将会有质的飞跃。

    其它

    这里是我在写了这篇文章几天后才加上的,有人向我反映,说数据结构和算法不学好就只能当个码农,说我在文章中指出"只需学习数据结构和算法的基础即可"是误导别人。确实,这句话是没说错,我在之前的文章中也强调过数据结构和算法的重要性,它们是程序的灵魂。然而,数据结构和算法是具有一定难度的,对于新手可能非常地不友好,新手要想彻底掌握它们是很困难的,所以我只是说在基础阶段掌握基础即可,而不需要去深究。而随着学习的深入,你的知识体系将会越来越庞大,这个时候,对于数据结构和算法可不能仅仅停留在表面了,我们应该去更加深入地研究这些东西。
    在这里也感谢大家给我提出的意见,只要大家说的在理,说的是对的,我都会去及时改正。金无足赤,人无完人,在写文章的过程中,难免会有一些不太严谨的地方,这里也欢迎大家批评指正。

    学习资源

    我知道,对于有些名词,你们可能都没有听过。没关系,按照这个路线一点一点地往下学,相信你会感受到编程的魅力所在。
    下面对整条知识路线进行一个梳理,并附上对应的学习资源,需要的小伙伴们下载就好了。

    1. 基础阶段
      Java基础——链接:链接:https://pan.baidu.com/s/17yh-M7LYSRsXmFeQKSrAww 提取码:mqf4

      Mysql数据库——链接:https://pan.baidu.com/s/1NfS6Q9fb_OMna608w9GYeg 提取码:94ns

      Oracle数据库——链接:https://pan.baidu.com/s/12uVSvaY4pbXRWy2DtIIf8w 提取码:5r8p

      JDBC——链接:https://pan.baidu.com/s/1QF9S_GpucFvoLSrQqV6d0Q 提取码:ltnh

      Linux基础——链接:https://pan.baidu.com/s/1e0ekEVjmtfNWAEO0123wDw 提取码:pwxz

      Java8新特性——链接:https://pan.baidu.com/s/103nPGgEEjbxzuy1rHRJepg 提取码:6omt

      Java数据结构和算法——链接:https://pan.baidu.com/s/1LQ__Hp7i-TR7gRa4YJQXJg 提取码:zwwd

      Java设计模式——链接:https://pan.baidu.com/s/1ik7PRwlAVgJzhSCdthdu1A 提取码:nr5e
    2. Web阶段
      JavaScript DOM——链接:https://pan.baidu.com/s/1_HtKFXeRm5xF7p2vYk_c7w 提取码:ks6g

      JQuery——链接:https://pan.baidu.com/s/1IPPNu2qsJ-MgLX7mGcVYbQ 提取码:umdr
      AJAX——链接:https://pan.baidu.com/s/1MC1iryOq9_SSV1qWYk5P5Q 提取码:78hu
    3. JavaWeb
      JavaWeb阶段——链接:https://pan.baidu.com/s/1EJYIgAuAHhaJLv8Pp-QjgA 提取码:584f
    4. JavaEE
      JavaEE阶段全套视频——链接:https://pan.baidu.com/s/1rJ5MyvFMuN_cbDVbw-2B3A 提取码:mdlf

    课件及源代码

    文章发布过后,有很多人来问我有没有源码和课件,这里当然是有的,为了方便大家,我就把源码和课件链接放在这里,也不用劳烦大家一直问了。
    链接:https://pan.baidu.com/s/18fr2-Hy-0aoRr9wDIl1zbg 提取码:2zxp

    关于Java学习路线上的所有资源都在这里了,欢迎大家下载!

    马上就要到中秋佳节了,在这里也提前祝贺各位中秋节快乐,身体健康,阖家欢乐!

    2020年5月14日更新

    因为百度网盘自身的一些原因,导致这些资源经常出现失效的现象,而且资源数目比较多,维护起来比较麻烦,所以我特地将所有资源进行了一个整合,上面的所有学习资源都在这个链接里面:

    链接:https://pan.baidu.com/s/12SnRLQnt8xf8taE1Km893A
    提取码:hrey

    展开全文
  • 目前Java在许多行业的客户端方面的应用非常多,比如OA、邮箱、投票、金融、考试、物流、医疗、矿山等信息...对于java学习,一套专业系统的java学习路线图是不可少的,让你从入门到精通实现系统化!   第一阶段...
  • java 入门学习

    2018-04-24 00:03:48
    1.java 平台无关 2.代码风格ALLMANS风格,(大括号独占一行)、kernighan 风格(左括号在上一行的行尾,有括号独占一行)。 3.标识符和关键字  3.1 标识符  3.1.1 标识符 :由字母、下划线、美元符号、数字组成长度...
  • 不管你是Java小白,还是Java初级, 没关系,学完我们的教程,你会对Java的核心知识体系有清晰的理解,你将会站在高处鸟瞰Java,为接下来的学习打下坚实的基础。 本教程的每一个细节都经过精心专研,完全针对Java初学...
  • 不管是出于兴趣还是出去java的热门高薪资,想要入门java是很辛苦的,零基础的更辛苦,想要零基础自学入门更更辛苦,所以选择了就请坚持。只要你学习能力和自制能力强,坚持就是胜利。下面整理一些java的书籍给大家...
  • 在博主认为,对于入门学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是...
  • 你好,欢迎来到C语言中文网阅读“Java 教程”,你将享受到免费的 Java 学习资料,以及良好的阅读体验。 这套教程适用于没有任何 Java 基础,或者基础薄弱的学员,它通俗易懂,并且非常全面,30 天从入门到精通不是...
  • Java多线程学习(一)Java多线程入门 Java多线程学习(二)synchronized关键字(1) Java多线程学习(二)synchronized关键字(2) Java多线程学习(三)volatile关键字 Java多线程学习(...
  • JAVA 入门教程 2

    2018-03-31 20:13:15
    1 Java语言基础 :循环结构和for语句的格式及其使用) A:循环结构 初始化 判断 循环体 控制条件 *循环结构for语句的格式: for(初始化表达式;条件表达式;增量表达式) { 循环体; } *执行流程: a:执行初始化...
  • 很多大学生或者正在自学的程序员问我:“二哥,能否提供一个 Java 入门学习路线?”刚好我之前花了 7 周多的时间写了 25 篇 Java 入门的技术博文,于是我想不妨把这些整理成一个系列分享出来,给大家作为一个参考...
  • 一、Java基础 Java基础-继承 Java基础-抽象 Java基础-接口 Java基础-多态 Java基础-重写 Java基础-匿名对象 Java基础-内部类 Java基础-final、static关键字 Java基础-ArrayList集合 ...
  • 不管是出于兴趣还是...下面整理一些java的书籍给大家分享,1,《Head First Javajava入门书籍 《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java学习指导。此书是根据学习理论所...
  • Java入门学习PPT课件

    2020-07-01 17:14:45
    本课件主要讲解了java的一些入门知识,比较基础,适合初学java的朋友。刚开始看书可能会觉得枯燥,不防先看看简单的课件。浅显易懂。
  • Java 入门学习路线

    2020-02-27 12:29:36
    文章目录前言学习路线以及方法推荐1. Java 基础2. 使用 Git3. 文件IO的简单使用一些好的文档项目推荐公众号 前言 大一的时候,我开始接触 C 语言,对 C 语言的掌握程度仅仅停留在指针这层面。 到了大二我才接触到 ...
  • 我的Java学习之路

    2017-12-24 16:37:56
    我认为,作为一名合格的程序员,精通一门语言只是最最基本的要求,除此之外,具备扎实的基础知识、了解主流的技术框架、具备快速学习的能力也都非常重要。语言是帮助你实现想法的工具,而作为程序员来说最为重要的...
1 2 3 4 5 ... 20
收藏数 180,478
精华内容 72,191