首页游戏游戏攻略java 菜鸟教程,java基础菜鸟教程

java 菜鸟教程,java基础菜鸟教程

编程之家2026-05-15609次浏览

其实java 菜鸟教程的问题并不复杂,但是又很多的朋友都不太了解java基础菜鸟教程,因此呢,今天小编就来为大家分享java 菜鸟教程的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

java 菜鸟教程,java基础菜鸟教程

java的问题

这里直接把s赋值给readContent是有问题的,问题点如下:

假设文件有两行

第一行

第二行

则读取循环两次,第一次s赋值给readContent,readContent的值为"第一行",然后又循环,读取第二行,再次赋值,则readContent就会变成"第二行",第一行的值就丢失了;

这里StringBuff的作用是把读取到的内容连接起来成为一个字符串;

java 菜鸟教程,java基础菜鸟教程

不过这里的例子的确有问题,问题却不在StringBuffer上,而在 s变量上,s中间两步是不必要的,循环内直接改成如下形式:

删除s.getBytes()和new String

另外,除了以上问题,来总结下这段代码的问题吧:

1、文件资源没有释放

2、在不涉及多线程的情况下,应使用StringBuilder类进行字符串拼接,而不是StringBuffer,因为StringBuilder更快(但是StringBuilder线程不安全,StringBuffer线程安全);

3、异常处理有问题,如果出现IO异常,就返回异常信息的字符串?那么如何区分这个字符串是发生了异常还是从文件中读取到的内容呢?这里不应该返回字符串,而是直接声明异常,有异常就向外抛,直到能处理的顶层程序处理。

java 菜鸟教程,java基础菜鸟教程

基于以上几点,修改代码如下:

注意第27行,声明本方法可能抛出 IOException异常,稍后主程序将进行处理。另外注意第30行,创建InputStreamReader的时候指定了文件编码为utf8,以避免乱码,你的文件如果存储的是其他编码类型,则会出现乱码。

调用代码如下:

getContent函数调用主程序

注意18行和21行,是分别处理正常情况和异常情况,当读取异常时,将会调用第21行,打印异常信息;

整体代码如下:

全部代码

接下来我们看看代码执行情况。

1、当我们要读的文件不存在时,执行结果如下:

我们要读的文件不存在时,抛出异常

看,当文件不存在时,抛出异常,并由异常处理程序捕获和打印,你可以看到具体哪一行代码出错[getContent(App.java:29)],说明在App.java文件中的getContent方法,文件的29行出错。

2、那么正常情况下呢?当然是输出文件内容了,我们放一个有如下内容的文件在"D:\\file.txt"处:

要读取的文件内容

执行结果如下:

正常情况下,输出文件内容

最后,我不知道你看的是什么书,是不是课本,但感觉质量不高,这里给你推荐几本,可以买来看看:

1、Head First java

2、菜鸟教程 Java

3、最权威的,自然是The Java® Language Specificati了

祝你学习之路顺利

Java问题

这里直接把s赋值给readContent是有问题的,问题点如下:

假设文件有两行

第一行

第二行

则读取循环两次,第一次s赋值给readContent,readContent的值为"第一行",然后又循环,读取第二行,再次赋值,则readContent就会变成"第二行",第一行的值就丢失了;

这里StringBuff的作用是把读取到的内容连接起来成为一个字符串;

不过这里的例子的确有问题,问题却不在StringBuffer上,而在 s变量上,s中间两步是不必要的,循环内直接改成如下形式:

删除s.getBytes()和new String

另外,除了以上问题,来总结下这段代码的问题吧:

1、文件资源没有释放

2、在不涉及多线程的情况下,应使用StringBuilder类进行字符串拼接,而不是StringBuffer,因为StringBuilder更快(但是StringBuilder线程不安全,StringBuffer线程安全);

3、异常处理有问题,如果出现IO异常,就返回异常信息的字符串?那么如何区分这个字符串是发生了异常还是从文件中读取到的内容呢?这里不应该返回字符串,而是直接声明异常,有异常就向外抛,直到能处理的顶层程序处理。

基于以上几点,修改代码如下:

注意第27行,声明本方法可能抛出 IOException异常,稍后主程序将进行处理。另外注意第30行,创建InputStreamReader的时候指定了文件编码为utf8,以避免乱码,你的文件如果存储的是其他编码类型,则会出现乱码。

调用代码如下:

getContent函数调用主程序

注意18行和21行,是分别处理正常情况和异常情况,当读取异常时,将会调用第21行,打印异常信息;

整体代码如下:

全部代码

接下来我们看看代码执行情况。

1、当我们要读的文件不存在时,执行结果如下:

我们要读的文件不存在时,抛出异常

看,当文件不存在时,抛出异常,并由异常处理程序捕获和打印,你可以看到具体哪一行代码出错[getContent(App.java:29)],说明在App.java文件中的getContent方法,文件的29行出错。

2、那么正常情况下呢?当然是输出文件内容了,我们放一个有如下内容的文件在"D:\\file.txt"处:

要读取的文件内容

执行结果如下:

正常情况下,输出文件内容

最后,我不知道你看的是什么书,是不是课本,但感觉质量不高,这里给你推荐几本,可以买来看看:

1、Head First java

2、菜鸟教程 Java

3、最权威的,自然是The Java® Language Specificati了

祝你学习之路顺利

小白如何学习Java

首先零基础的你要了解什么是Java?有哪些优势?1995年,Oak语言更名为Java语言(以下简称为Java)。Java的取名有一个趣闻:据说有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡。有一个人灵机一动,说就叫Java,并得到了其他人的赞赏。于是,Java这个名字就这样传开了。

Java应用如此广泛是因为Java具有多方面的优势。其特点如下:(1)面向对象。Java自诞生之时就被设计成面向对象的语言,而C++语言是一种强制面向对象的语言。面向对象可以说是Java最重要的特性,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码重用。

(2)跨平台。对于Java程序,不管是Windows平台还是UNIX平台或是其他平台,它都适用。Java编辑器把Java源程序编译成与体系结构无关的字节码指令,只要安装了Java运行系统,Java程序就可在任意的处理器上运行。这些字节码指令由Java虚拟机来执行,Java虚拟机的解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。

(3)直接支持分布式的网络应用。除了支持基本的语言功能,Java核心类库还包括一个支持HTTP、SMTP和FTP等基于TCP/IP协议的类库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。在Java出现以前,为分布式环境尤其是Internet提供动态的内容无疑是一项非常宏伟、难以想象的任务,但Java的语言特性却使我们很容易地达到了这个目标。

(4)安全性和健壮性。Java致力于检查程序在编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误。Java支持自动内存管理,这不但让程序员减轻了许多负担,也减少了程序员犯错的机会。Java自己操纵内存减少了内存出错的可能性。Java还能够检测数组边界,避免了覆盖数据的可能。在Java语言里,指针和释放内存等功能均被抛弃,从而避免了非法内存操作的危险。

接下来就看一下java的学习路线以及学习方法吧!首先是学习路线:

第一阶段JavaEE基础:Java基础语法、面向对象、核心类库、集合、异常、IO、线程、JDK新特性

第二阶段JavaWeb开发:前端技术、数据库、JAVA数据库操作、软件服务器及服务器相关技术、动态网页JSP、AJAX

第三阶段Java高级框架:SpringMVC、MyBatis、Spring、MySQL高级、Linux&Redis&Nginx、Maven、中公MIS权限系统

第四阶段大型微服务分布式项目实战:SpringBoot、SpringCloud、Git、Dubbo、Zookeeper、AngularJS、Spring Security、BCrypt加密、FastDFS、分布式事务处理、Redis Cluster、Solr、SolrCloud、MongoDB简介、MyCat、Docker、Jenkins、大型电商实战、百战商城等

第五阶段项目设计分析:医疗管理项目

其次是java学习方法:第一步:对于Java的基本认知很多同学刚刚入门学习java,看书,或者看视频。这个阶段是积累理论知识的时候,相对比较容易,一个小知识点,信息量少,跟着老师的思路走就可以。

Java零基础入门视频教程推荐:

Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程

本套课程是由高淇老师开讲的Java300集!为初学者而著!适合准备入行开发的零基础员学习Java。基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。

在这个阶段,很多同学学得很快,感觉编程好简单。

随着学习的深入,大多数同学会产生混乱。为什么?所有的技术背后都有原理,前面都有应用场景,不同应用场景有不同使用方法。信息量逐级增加。

信息量逐级增大后,会有什么问题?

学到后面忘记前面。

新技术不断出现,感觉永远学不完。丧失兴趣或信心。

第二步:理论知识学习这一过程尤为重要,毕竟这是学习Java的关键,而且,这一过程对于系统化的要求更高,如何循序渐进,有方式有目的的学习,将是小白更加快速的学懂Java的关键。

理论知识阶段,更重要的是理解原理和规律,知识点的细节记不住可后面查找。学习方法更重要的是交流讨论,理解和总结。多问为什么是关键!

第三步、真实实训项目、培养实操能力一个项目从0到1的过程才是最宝贵的,也是初学者提升最大的部分。但从书本或者视频中,很难学习这个过程。

技术的应用能力换句话说是技术的分解排序能力,当遇到一个需求,该如下实现?

基本的思路是把需求分解成原子操作。原子操作代表开发当中的基本操作,也就是在知识点当中学到的,比如数据库操作,sql,框架的基本使用等等。

如果能把需求分解为原子操作序列,开发完成只是时间快慢的问题。往往刚刚开始学习编程的同学,不善于或者懒得去思考。毕竟看视频是被动的,分析问题是主动思考。学习只是看看视频,本质上是思考的懒惰。

所以需要找大量的练习和项目案例进行实践!!!

生命是无止境的,学习不止,每天都“强迫”自己取得一点进步。随着时间的流逝,成就将不可避免地出现。

OK,本文到此结束,希望对大家有所帮助。

java免费下载手机版 java游戏盒子安卓版外贸网站建设,网站页面设计