最爱比利亚 最爱比利亚
爱工体
关注数: 135 粉丝数: 234 发帖数: 10,348 关注贴吧数: 47
【技术分享】Java学习入门之基础练习题汇总 想要学好Java,就一定要敲好代码,因为这是程序员今后吃饭的本钱。正所谓一日不练手生,埋首练习代码、做习题应该是每一个初学Java的***常。有很多人表示没有什么练习题可以做,关于Java学习入门就给大家提供一些常见的练习题及代码。 找出数组中最大值的下标位置 /* 方法分析: public static 返回值类型: 最大值的下标位置,int类型 方法名: maxIndexOfArray 最大值下标位置 形式参数列表: 需要一个int类型数组 (int[] array) 方法声明: public static int maxIndexOfArray(int[] array) */ /** * 找出数组中的最大值所在下标位置 * * @param array int类型数组 * @return 最大值下标所在位置 */ public static int maxIndexOfArray(int[] array) { // 假设数组中最大值的下标位置为0 int maxIndex = 0; for (int i = 1; i < array.length; i++) { // 如果发现maxIndex对应元素小于下标为i的元素 if (array[maxIndex] < array[i]) { // 保留i值 maxIndex = i; } } return maxIndex; } 找出数组中最小值的下标位置 /* 方法分析: public static 返回值类型: 找出对应元素的下标位置,返回值为int类型 方法名: minIndexOfArray 形式参数列表: (int[] array) 方法声明: public static int minIndexOfArray(int[] array) */ /** * 找出数组中最小值的下标位置 * * @param array int类型数组 * @return 返回值是当前数组中最小值的下标位置 */ public static int minIndexOfArray(int[] array) { int minIndex = 0; for (int i = 1; i < array.length; i++) { if (array[minIndex] > array[i]) { minIndex = i; } } return minIndex; } 找出数组中指定元素的下标位置 /* 方法分析: public static 返回值类型: 返回值是数组的下标位置,为int类型 方法名: indexOf 形式参数列表: 1. int类型数组 2. 告知方法指定查询的数据 (int[] array, int find); 方法声明: public static int indexOf(int[] array, int find) */ /** * 找出指定元素的下标位置 * * @param array 指定的int类型数组 * @param find 指定查询的数据,为int类型 * @return 找到对应下标位置,返回值大于等于0,没有找到返回-1 */ public static int indexOf(int[] array, int find) { // 这里假设找不到对应的数据 int index = -1; // 利用循环遍历数组 for (int i = 0; i < array.length; i++) { // 发现存在数据和指定find数据一致 if (find == array[i]) { // 保留下标 index = i; // 没有继续循环下去的必要,终止循环 break; } } return index; } 1.4 获取数组中指定下标的元素 /** * 找出指定下标的元素 * * @param array 指定的数组 * @param index 指定的下标位置 * @return 对应当前下标的元素,为int类型 */ public static int get(int[] array, int index) { // 参数合法性判断的思想 if (index > array.length - 1 || index < 0) { System.out.println("Input Parameter is Invalid!"); System.exit(0); } return array[index]; } 找出指定元素在指定数组中所有下标位置 【难点】 /* 要求: a. 不允许在方法内打印展示 b. 考虑多个数据情况 c. 需要在方法外获取到下标数据信息 d. 不允许使用数组作为返回值 方法分析: public static 返回值类型: int类型,返回找的指定数据的个数 方法名: findAll 形式参数列表: a. 指定查询数据的数组,int类型数组 b. 指定查询的目标数据,int类型 c. 一个可以保存下标的int类型数组,数组的容量是源数据数组容量 分析: 所有指定元素的下标位置 1. 数据个数不确定,但是有极值,数据多个。 2. 下标是 int类型 需要 int类型数组,数组容量是指定源数据数组的容量 方法声明: public static int findAll(int[] arr, int find, int[] index) */ /** * 在指定数组中找出指定数据,保存指定数据的下标位置到index数组中。 * * @param arr 源数据int类型数组 * @param find 需要查找的指定数据为int类型 * @param index 保存找到数据下标位置的数组,要求和源数据数组容量一致 * @return 找到目标数据的个数,没有找到返回0 */ public static int findAll(int[] arr, int find, int[] index) { /* 参数合法性判断 null == arr 你目前可以理解成给予当前方法的参数中数组为“空” arr.index == 0 给予当前方法的数组容量为0 index.length < arr.length 保存下标的数组容量和源数据数组容量一致 */ if (null == arr || null == index || arr.length == 0 || index.length == 0 || index.length < arr.length) { System.out.println("Input Parameter is Invalid!"); return 0; } // int类型变量,计数当前找到的元素个数 // 还有一个功能,是下一次存储指定数据下标的位置【尾插法】 int size = 0; // 利用循环遍历源数据数组 for (int i = 0; i < arr.length; i++) { // 发现数组中下标为i的元素和指定find值一致,保存对应下标位置 if (find == arr[i]) { // 下标保存到index数组中 index[size] = i; size += 1; } } return size; } 当然,Java知识点众多,企业在选拔考核时出题也会千差万别,不过只要我们牢记代码规范、记住每一个语法及使用,我们就可以顺利通过面试关。
【技术讨论】如果转行学java 容易吗? Java开发者的高薪高福利待遇相信很多人都应该有了解过,所以有不少人想转行到Java开发,那么作为一个转行的人学习Java到底难不难呢?   转行学Java难不难 对于转行学Java的吧友,咱不说虚的,你要问难不难:难,很难~ 因为学习Java就跟你重新学习一门语言一样,只不过这个语言是为计算机准备的。你需要学习一种语法让计算机能够理解你的意图。 其实不论在学习什么的时候都是入门的时候比较困难,我们小时候学习加减乘除的时候不也用了好几年的时间去学习嘛,当你学会了之后现如今再用到的时候是不是就得心应手了。 0~1的过程是最困难的,但是当你从1~100的时候就会感觉水到渠成,既然下定决心准备转行,那么就一定要能吃苦肯学习才行,本身就已经比原本在这个行业的同学落后一些,不更努力一些怎么才能超过他们呢? 哪些人不适合转行学Java 1.年龄超过30岁的同学不建议转行Java。 2.大专以下学历的同学不建议转行Java。 3.想赚快钱的同学不建议转行Java。 虽然这里说了对年龄大和学历低的同学不建议转行,但也不是说就没有能够成功学成找到工作的,只不过是大多数都不是很理想,所以要建议这部分同学想清楚。大部分企业在招聘Java人员的时候都会注明大专或者本科或者博士以上学历,学历不够的话连面试的机会可能都不会有。
【吧主分享】java学习后都能干些什么? Java语言是一种高级的面向对象的编程语言,广泛应用于各个领域中,以往各位吧友只听到Java语言好但是却不知道真正的Java能用到哪里,这里就来给大家介绍一下学好了Java培训之后我们都能够干什么、在哪些领域。1.软件程序开发 首先Java最常见的一种开发就是软件的开发,很多的企业都会将Java语言作为开发语言来开发程序,包括企业的OA后台、邮箱、物流、金融、医疗等等系统,待遇也是所有行业里面相对较高的。 2.游戏开发 其次最常见的还有我们经常会玩到的游戏,当前最火爆的英雄联盟还有王者荣耀,都是运用java技术去开发的。如果大家对游戏开发有兴趣的话可以了解一下Java语言。 3.web开发 web的开发语言有很多种,但是Java在开发高访问、集群化、高并发属性的大型网站方面非常的适合。 4.Android开发 我们日常离不开的智能手机,里面的app程序也可以使用Java语言来进行开发,Android本质就是基于Linux系统且开发源码的操作系统,国内常见的其他手机厂商都是通过修改开源代码实现自己的Android系统,例如MIUI。 5.Hadoop大数据和数据分析 Hadoop大数据开发是目前很多大企业都在做的项目,通过大数据分析提供工作效率,精准分析需求等等。Hadoop本身就是Java开发的,所以有更多的Java工程师们选择转行到大数据行业。 以上就是几个常见的Java开发领域了,吧友们可以根据自己的职业发展方向去选择,任何一个方向的发展前景都是不错的,选择适合自己的才是最重要的。
【吧主分享】基础java培训课程能学吗?  随着科技的发展,有越来越多的人加入到程序猿的大军中,还有很多在观望,自己一点基础也没有现在去学会不会有点晚呢?会不会自己学会之后找不到工作呢?会不会行业已经饱和了等等,本次带大家分析一下到底可不可以? 零基础学Java能学会吗? 这个当然是能的,自学的话除非是那种天才大神,一般人的话还是建议选择报班学习,因为培训班都有完整的课程体系,行业经验丰富的老师,帮助同学们更好的去学习和理解知识点,最后再通过项目实操巩固。当然了这些都与自身的努力分不开! 学成之后好找工作吗? Java语言拥有25年的独立开发历史,全球90%以上的服务器都在用Java,超过45%的开源项目都用Java,生活中也是到处都是Java程序的身影,例如我们常见的京东淘宝,游戏的王者荣耀英雄联盟等等,所以行业发展和市场完全不用担心,只要你学的好久不愁没有工作。Java开发行业薪资基本也算是行业领先水平,平均薪资达到18350元,人才缺口还在逐年扩大。 培训费用和时间都是多少? Java培训的价格没有固定的参考线,不过一般面授班学费都在2万上下,一线城市可能略高,三四线略低一些;网络直播课从几千到几万都有。培训时长的话一般都在4~6个月左右,通过大约半年的系统学习,最终完成就业。 包就业的机构能信吗? 这里建议大家不要信,因为任何一个企业都不是慈善机构,招人进去肯定都是为了工作,如果随便培训几个月不管这个人到底如何就能入职的公司你敢去吗?最终决定是否能够找到一个好的工作还是与自己的努力分不开的,所以不要妄想包就业了,还是自己好好学习更重要。 各位看完上面的几个问题之后,相信自己已经有一个大体的认识了。
【吧主分享】目前学习Java后工资大概多少? 因为Java工资高,吸引了一大批人纷纷加入IT行业。的确,就目前的形势来看,IT行业的平均工资确实高于一般行业,但这并以为只要进入这一行就是高工资,想要获得高工资还是看个人技术和其他因素的。参加完Java培训出来工资大概多少?给大家总结一下影响Java工资高低的三个因素,大家可以酌情参考: 1、基本功 现在Java培训班已经升级为各种实训、实战、项目等。接触实战确实有助于学习Java知识并快速入行。但这会使一些学生疏忽大意,好高骛远。以为做几个企业实战项目,就全面掌握了Java技能,就能够胜任各种工作,这种思想往往会造成他不重视基本功。而许多知名企业在招聘程序员时都会用笔试题作为前提,而笔试题往往就是基本功,如果你基本功都没掌握牢,那么笔试题往往答不好。这也就使许多学生连基本的笔试筛选都没过,止步于此。 2、表达沟通能力: 大型企业招聘一般都有严格的流程,尤其是招聘初级程序员时。更是非常规范化的,往往会是笔试-hr面试-技术经理面试,这样一个流程。如果你笔试不错,那么恭喜你,你有机会接触到hr或技术经理了。其中,技术经理看你笔试不错,基本上就很可能录用你了。但是hr这一关是关键,如果你表达能力很差,或者沟通能力不好。都会影响企业雇佣,即使雇佣也会影响薪资的。 3、表现特长 想进名企,往往都是精英,既然是精英就应该有特长。那么你有特长么?不要说自己没有,如果你没有,那么你就是自认平庸。没有精英团队会招聘平庸的人。那么,特长从哪来?长期来看需要培养,短期内需要挖掘。比如:你特别爱专研,研究代码,这就是特长。你爱研究新技术,这也是特长。你特别喜欢调试bug,这也是特长。你会用ps作图,这也是特长。你酷爱研究数据库,这也是特长。所以一定要有。面试官问你,你不要说我没什么特长,不然你基本就被Pass了。 总结来说,Java培训出来如果你想要高薪,一是要好好学技术,再就是要知道一些Java面试技巧!
【技术贴】零基础学习Java 如何掌握JSP技术 一、Java初级开发之jsp概述 1.关于jsp JavaServer Pages简称jsp,从“server”这个词可以看出,这其实也是一门java服务端技术,其实可以简单的把jsp认为是servlet,一点错也没有。Jsp的实质,就是客户端需要的资源是通过jsp技术动态生成的。 2.jsp的技术原理 1)当客户端在访问一个jsp资源时,服务器上有相应的servlet来负责jsp资源,那么该servlet将会把jsp页面翻译成一个servlet,然后执行该servlet的service方法。 2)服务器将jsp翻译成java程序(就是一个Servlet),然后执行该Servlet的service方法,在方法内部动态地向客户端写html代码。 因此jsp就是一个servlet,也就是jsp页面将被翻译成servlet 3.jsp与servlet的选择 jsp就是servlet,那么如果碰到需要写繁多的html代码,建议使用jsp,如果需要写繁多的java代码,建议使用servlet。 二、JSP技术详解 1.JSP脚本 就是怎样在jsp页面中使用java代码,使用了脚本的地方,就不会作为输出流的内容,而是作为java代码来执行。使用方式有三种: 1) <% java代码 %> jav代码会被作为程序的一部分来执行,而不会被翻译成out.write(),这是常用的。 2) <% java代码 %> 会被翻译成 out.print(java代码) 3) <% java代码 %> 声明成员变量。 4)jsp的注释方式 • html的注释: 用户看得到,程序员也看得到 • java的注释:// 单行注释 /多行注释/ 用户看不到,但是会被翻译 • jsp的注释: 用户看不到,不会被翻译,只有程序员在写jsp页面时才看得到。 2.三大指令 1)page指令 page指令是用于告诉服务器该如何翻译此jsp页面。通过page指令的属性来指明翻译的效果。 • language: 指的是jsp页面支持哪种语言,只支持java,所以该属性可以省略 • pageEncoding和contentType写一个就行,建议使用pageEncoding,更加简单 • session:默认值是true,默认情况下服务器会为该页面开辟一个session空间 • import:用于导入该页面中的java类需要用到的包 • errorPage:当发生错误时跳转到的资源,注意,该地址是一个服务器地址。 • isErrorPage:默认值是false。当在web.xml中配置错误页面时,需要将该jsp页面的isErrorPage设为true. 404 /error.jsp 总结:一般情况下,page指令就这么写即可: 2)include指令:静态包含,file属性使用的是服务器地址。 include指令是用于在一个jsp页面中包含另一个jsp页面,两个页面组合成一个页面发送给客户端。 所谓的静态包含,在翻译时是把被包含的jsp页面写给客户端。那么此时客户端拿到的是两套html标签。 3)taglib指令:标签库 taglib指令用于引入第三方标签库,通过taglib指令中的prefix指明前缀,通过前缀来使用第三方标签库中的标签 3.四大域对象 (jsp有四个,servlet有三个(request,session,servletContext)) 1) pageContext (1)pageContext作为域对象 • 描述当前page的上下文。那么pageContext对象是一个域对象,所谓域对象,就是提供了一个区域,用来存储数据。因此当前的page就能向pageContext对象中存储数据. pageContext域对象的作用范围:当前page(页面) setAttribute(String key,Object value); getAttribute(String key); removeAttribute(String key); • 向其他域对象中操作数据. pageContext.setAttribute(String key,Object value, int scope);向其他域对象中存值 pageContext.getAttribute(String key, int scope);向其他域对象中取值 pageContext.removeAttribute(String key, int scope);向其他域对象中移除值 int scope来自于PageContext类的常量 REQUEST_SCOPE: 表示request域 SESSION_SCOPE: 表示session域 APPLICATION_SCOPE: 表示application域 • findAttribute(String key):Object :这是通过键,向所有域中搜索数据。 搜索的顺序: pageContext->request->session->application (2)可以通过pageContext对象来获取其他八个内置对象 通过pageContext的get*()来获得。 2)request 作用范围:一次请求 3)session 作用范围:一次会话 4)application 作用范围:当前web应用 4.九大内置对象 所谓的内置对象,即在jsp页面的脚本中能直接使用的java对象。 • out: 输出流 当通过out的write()写内容时,实际是往out的缓冲区(默认大小是8kb)中去写,有两种情况导致缓冲区的内容会冲刷进底层的输出流中 1)out对象被销毁 2)out的缓冲区不够用了。其实我们可以设置out缓冲区的大小。如果缓冲区是0kb,那么out就把内容直接写到response缓冲区中。 • page:this,表示当前的Servlet对象 • pageContext:重点,表示当前page的上下文对象,也是一个域对象 • session:当jsp页面的page指令的session属性为true时,才会有session对象 • request: • response • exception 当jsp页面的page指令的isErrorPage属性为true时,才会有exception对象 • application: 实际就是ServletContext对象 • config:实际就是ServletConfig对象 5.Jsp标签 1) jsp:include 动态包含:在一个页面中包含另一个页面的内容 和静态的区别: 静态包含会在翻译的过程中直接翻译被包含的页面,被包含的页面不会产生java文件。 而动态包含会在翻译的过程中只翻译自己页面的内容,被包含的页面的翻译交给相应的类来完成,被包含的页面会产生java文件,实际开发中更加常用动态包含。 2)jsp:forward 请求转发,与servlet中的请求转发的效果一致。
【吧主分享】小白学习java应记住那些重点? 虽然Java人才需求量大,但作为一名Java开发工程师,企业在招聘的时候,也是有一定的标准的。为了帮助大家更好的找到适合自己的工作,分享给各位作为一名Java开发工程师需要掌握的专业技能,大家可以参考一一、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。 二、熟悉基于JSP和Servlet的JavaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发的经验。 三、对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。 四、熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。 五、熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。 六、熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。 七、熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。 八、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。 九、熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。
对删贴疑问的?不了解的的请到此贴(此贴禁水)   本贴对于被删贴的疑问进行解答与回复,分别由吧主与小吧收集汇总处理相关辱骂吧务或质疑吧务删贴行为的。 贴吧1-3级小号 不在允许出现相关抱怨及删贴质疑类的贴子,一律做删除处理。 本贴不准水贴~~,提需求可以,水贴一律删除。 为什么贴子被删除,主要是违反吧规与索引贴的内容,所以被吧务删除处理。 首先这个要求不应吧务来教,因为这是基本准则: 进入本贴吧请先看该吧吧规与索引贴的内容,以免犯规处理,涉及到经常发广告的小号删帖抱怨的请您详细看下贴吧的条例。。 【多数人不看直接发带有链接 联系方式的广告贴,所以怪不到吧务头上】 以往老帖不在追究 对于各种黑,到处去黑,点名说被培训机构控制了,请您详细阅读下贴吧原则进行正当辩论! 对于挖坟者,请看清楚1楼的发贴时间,如果跟坟了,请在吧务发现前自行删除,否则禁一天是免不了。 带有链接 广告 网站信息的贴子 一律删除 这里不点名哪些培训机构,请您在发帖时多做三思。 对于无意义的贴子,吧务是自行选择删与不删。 个别发广告贴被删除的贴吧小号成员,到处发帖 辱骂本吧吧务,办事不公等,请先看下自己发帖纪录,是不是跟学习有关系的,经常可以在吧里解决知识点问题的,可以经常活跃本吧氛围的?吧务截图都有,请各位相互尊重! 请给本吧创造一个和善的沟通 互动的良好条件,不要变成广告吧,同时也欢迎各位吧友多咨询技术问题,也可发布一些技术性回复!包括培训班建议~ 感谢大家的支持,如有疑问可在本帖回复
【计算机编程吧】吧规 请大家共同遵守!广告贴即日起会严控 (1)发布违反贴吧协议(http://tieba.baidu.com/tb/eula.html )的主题贴及回复; (2)发布无意义水贴、伸手贴、广告贴(包含但不仅限于主题贴)等; (3)人身攻击、色情、反党反政治、地域黑、种族歧视、诽谤他人、侵犯他人隐私等的主题贴及回复。 (4)在本吧刷贴等; (5)发布任何带有联系方式的广告,加微信,公众号,邮箱 下载学习资料等(包含但不仅限于头像、签名档、贴子标题、贴子内容及回复内容); (6)回复过一个月未被回复的主题贴; (7)原贴主回复自己发布的超过一个月未被任何回复的主题贴(包含但不仅限于主题贴中的楼中楼回复); (8)对本吧进行爆吧的贴吧账号(经查实); (9)以本吧名义前往其它吧人身攻击、地域黑、种族歧视、爆吧等(经查实); (10)发布求黑客、求盗号、求人肉等内容的主题贴及回复; (11)违反吧务团队最新发布的公告的主题贴及回复; (12)违反国家法律的主题贴及回复; (13)吧务团队觉得不合适的主题贴及回复。 出现以上内容,吧务团队视实际情况进行删除、封禁或加入黑名单。 福利:对新人有帮助的技术贴,原创技术贴,审核后可以精华置顶。 鼓励吧友们在学习计算机编程的过程中互帮互助,共同成长。 但禁止任何培训机构以及接单平台相关的宣传。见到打着免费分享资料的旗号进行变相宣传培训机构或者各种培训网站的行为将一律删封处理,有误删及时反馈给吧务。 以上吧规如有必要将在后续进行修订并说明。以往帖子暂不深究!最后,愿各位在本吧获其所需,生活顺利!
首页 1 2 下一页