个人java学习笔记

2024-04-14

个人java学习笔记(精选6篇)

篇1:个人java学习笔记

jdk(java development kit)

有如下公司或组织开发jdk

sun jdk

ibm jdk

bea jrocket

gun jdk

其中ibm的jdk包含的jvm(java virtual machine)运行效率要比sun jdk包含的jvm高出许多。而专门运行在x86平台的jrocket在服务端运行效率也要比sun jdk好很多。但不管怎么说,我们还是需要先把sun jdk掌握好。

1、jdk的下载和安装

jdk又叫做j2se(java2 sdk standard edition),可以从sun的java网站上下载到,http://java.sun.com/j2se/downloads.html,jdk当前最新的版本是j2sdk1.4.2,建议下载该版本的jdk,下载页面在这里:http://java.sun.com/j2se/1.4.2/download.html。

下载好的jdk是一个可执行安装程序,默认安装完毕后会在c:program filesjava目录下安装一套jre(供浏览器来使用),在c:j2sdk1.4.2下安装一套jdk(也包括一套jre)。然后我们需要在环境变量path的最前面增加java的路径c:j2sdk1.4.2bin。这样jdk就安装好了。

2、java documentation

java编程手册,java核心所在3、java 应用服务器

a、tomcat

b、ibm webshpere

c、bea weblogic

d、免费 jboss4、java应用的运行环境

应用服务器(app server)

app server是运行java企业组件的平台,构成了应用软件的主要运行环境。当前主流的app server是bea公司的weblogic server和ibm公司的websphere以及免费的jboss,选择其中一个进行学习就可以了,个人推荐weblogic,因为它的体系结构更加干净,开发和部署更加方便,是java企业软件开发人员首选的开发平台。下面简要介绍几种常用的app server:

1、tomcat

tomcat严格意义上并不是一个真正的app server,它只是一个可以支持运行serlvet/jsp的web容器,不过tomcat也扩展了一些app server的功能,如jndi,数据库连接池,用户事务处理等等。tomcat被非常广泛的应用在中小规模的java web应用中,因此本文做一点下载、安装和配置tomcat的介绍:

tomcat是apache组织下jakarta项目下的一个子项目,它的主网站是:http://jakarta.apache.org/tomcat/,tomcat最新版本是tomcat4.1.27,软件下载的连接是:http://

在启用这两个管理工具之前,先需要手工配置一下管理员用户和口令。用一个文本工具打开catalina_homeconftomcat-users.xml这个文件,加入如下几行:

这样用户“robbin”就具备了超级管理员权限。重新启动tomcat以后,你就可以使用该用户来登陆如上的两个管理工具,通过web方式进行tomcat的配置和管理了。

2、bea weblogic

weblogic可以到bea的网站上免费注册之后下载到最新的weblogic8.1企业版,license可以免费使用1年时间,其实这已经完全足够了。weblogic的下载连接:http://commerce.bea.com/index.jsp,.../edocs.bea.com/。

3、ibm webshpere

websphere同样可以下载到免费的试用版本,到ibm的developerworks网站可以看到websphere试用产品的下载和相关的websphere的资料,developerworks中文网站的连接是:http://。

4、jboss

jboss是免费开源的app server,可以免费的从jboss网站下载:http://,然...n.com/idea.html

四、java应用的运行环境

java的应用可以简单分为以下几个方面:

1、java的桌面应用

桌面应用一般仅仅需要jre的支持就足够了。

2、java web应用

java的web应用至少需要安装jdk和一个web容器(例如tomcat),以及一个多用户数据库,web应用至少分为三层:

browser层:浏览器显示用户页面

web层:运行servlet/jsp

db层:后端数据库,向java程序提供数据访问服务

3、java企业级应用

企业级应用比较复杂,可以扩展到n层,最简单情况会分为4层:

browser层:浏览器显示用户页面

client层:java客户端图形程序(或者嵌入式设备的程序)直接和web层或者ejb层交互

web层:运行servlet/jsp

ejb层:运行ejb,完成业务逻辑运算

db层:后端数据库,向java程序提供数据访问服务

4、java嵌入式应用

java嵌入式应用是一个方兴未艾的领域,从事嵌入式开发,需要从sun下载j2me开发包,j2me包含了嵌入式设备专用虚拟机kvm,和普通的jdk中包含的jvm有所不同。另外还需要到特定的嵌入式厂商那里下载模拟器。

篇2:个人java学习笔记

jdk(java development kit)

有如下公司或组织开发jdk

sun jdk

ibm jdk

bea jrocket

gun jdk

其中ibm的jdk包含的jvm(java virtual machine)运行效率要比sun jdk包含的jvm高出许多。而专门运行在x86平台的jrocket在服务端运行效率也要比sun jdk好很多。但不管怎么说,我们还是需要先把sun jdk掌握好。

1、jdk的下载和安装

jdk又叫做j2se(java2 sdk standard edition),可以从sun的java网站上下载到,java.sun/j2se/downloads.html ,jdk当前最新的版本是j2sdk1.4.2,建议下载该版本的jdk,下载页面在这里:java.sun/j2se/1.4.2/download.html。

下载好的jdk是一个可执行安装程序,默认安装完毕后会在c:program filesjava目录下安装一套jre(供浏览器来使用),在c:j2sdk1.4.2下安装一套jdk(也包括一套jre)。然后我们需要在环境变量path的最前面增加java的路径c:j2sdk1.4.2in。这样jdk就安装好了。

2、java documentation

java编程手册,java核心所在

3、java 应用服务器

a、tomcat

b、ibm webshpere

c、bea weblogic

d、免费 jboss

4、java应用的运行环境

应用服务器(app server)

app server是运行java企业组件的平台,构成了应用软件的主要运行环境。当前主流的app server是bea公司的weblogic server和ibm公司的websphere以及免费的jboss,选择其中一个进行学习就可以了,个人推荐weblogic,因为它的体系结构更加干净,开发和部署更加方便,是java企业软件开发人员首选的开发平台。下面简要介绍几种常用的app server:

1、tomcat

tomcat严格意义上并不是一个真正的app server,它只是一个可以支持运行serlvet/jsp的web容器,不过tomcat也扩展了一些app server的功能,如jndi,数据库连接池,用户事务处理等等。tomcat被非常广泛的应用在中小规模的java web应用中,因此本文做一点下载、安装和配置tomcat的介绍:

tomcat是apache组织下jakarta项目下的一个子项目,它的主网站是:jakarta.apache.org/tomcat/ ,tomcat最新版本是tomcat4.1.27,软件下载的连接是:www.apache.org/dist/jakarta/tomcat-4/binaries/ 。

下载tomcat既可以直接下载zip包,也可以下载exe安装包(个人建议zip更干净些),不管哪种情况,下载完毕安装好以后(zip直接解压缩就可以了)。需要设置两个环境变量:

java_home=c:j2sdk1.4.2

catalina_home=d: omcat4 (你的tomcat安装目录)

这样就安装好了,启动tomcat运行catalina_homeinstartup.bat,关闭tomcat运行shutdown.bat脚本。tomcat启动以后,默认使用8080端口,因此可以用浏览器访问localhost:8080来测试tomcat是否正常启动。

tomcat提供了两个web界面的管理工具,url分别是:

localhost:8080/admin/index.jsp

localhost:8080/manager/html

在启用这两个管理工具之前,先需要手工配置一下管理员用户和口令。用一个文本工具打开catalina_homeconf omcat-users.xml这个文件,加入如下几行:

这样用户“robbin”就具备了超级管理员权限。重新启动tomcat以后,你就可以使用该用户来登陆如上的两个管理工具,通过web方式进行tomcat的配置和管理了。

2、bea weblogic

weblogic可以到bea的网站上免费注册之后下载到最新的weblogic8.1企业版,license可以免费使用1年时间,其实这已经完全足够了。weblogic的下载连接:commerce.bea/index.jsp,.../edocs.bea/ 。

3、ibm webshpere

websphere同样可以下载到免费的`试用版本,到ibm的developerworks网站可以看到websphere试用产品的下载和相关的websphere的资料,developerworks中文网站的连接是:www-900.ibm/developerworks/cn/wsdd/ ,websphere的下载连接:www7b.software.ibm/wsdd/...wassupport.html 。

4、jboss

jboss是免费开源的app server,可以免费的从jboss网站下载:www.jboss.org/,然...n/idea.html

四、java应用的运行环境

java的应用可以简单分为以下几个方面:

1、java的桌面应用

桌面应用一般仅仅需要jre的支持就足够了。

2、java web应用

java的web应用至少需要安装jdk和一个web容器(例如tomcat),以及一个多用户数据库,web应用至少分为三层:

browser层:浏览器显示用户页面

web层:运行servlet/jsp

db层:后端数据库,向java程序提供数据访问服务

3、java企业级应用

企业级应用比较复杂,可以扩展到n层,最简单情况会分为4层:

browser层:浏览器显示用户页面

client层:java客户端图形程序(或者嵌入式设备的程序)直接和web层或者ejb层交互

web层:运行servlet/jsp

ejb层:运行ejb,完成业务逻辑运算

db层:后端数据库,向java程序提供数据访问服务

4、java嵌入式应用

篇3:学习Java应该注意的问题

Java自问世以来,以其得天独厚的优势,在IT业界掀起了研究、开发它的浪潮,显示了鹏程万里的美好前景。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。“连Internet,用Java编程”成为程序设计者的时尚。

2 Java及相关组件的学习顺序和方法

2.1 Java的学习顺序

在美国,80%以上的大学都在教授Java课程,在中国,许多高校都开设了Java课程,许多计算机培训机构都将Java作为主要编程语言来讲授。由于各种原因,很多人反映Java难学,在此根据自己学习的情况谈一下自己的看法。

2.1.1 循序渐进

学习Java应该循序渐进,不要妄想一下子就学会。最好开始找一本篇幅较短的入门书从学习那些最简单、最基本的东西开始。

2.1.2 课堂和视频结合

对于Java技术类的学习,课堂学习更应注意自身独立思考的过程,上课的时候,老师讲课的速度很快为了不遗漏要点,通常要仔细听,认真记,并要及时对技术知识点进行思考。课下要能对所学知识进行简单的理解,做到不会就问。如果选择视频学习的方式,相对来说可以减少记忆压力,其优点在于,通过视频学习应学会慢慢培养自己独立思考的能力,要有时间想,同时对特定的知识点可以重点重复看,重复做思考,这种学习方式类似于跟人做技术沟通。但缺点在于缺少老师指点,对于不会的和重要的知识点无法有更深的体会和把握。因此,最好能将课堂和视频双方面结合起来,进行学习。

2.1.3 了解底层机制

在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。此外,在学习的过程中一定要动手做、写代码,最好能参与一些实际的项目。

3 学习Java

3.1 分类

学习Java没有捷径可循,“唯手熟尔”,要想学好Java,首先要知道Java的大致分类。自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为3大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站ERP系统。J2SE开发桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又最好学的就是J2EE。J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。

3.2 学习J2EE

第一,建议从最基本的面向对象的语法开始,明白面向对象的概念和特征,然后熟悉Java常见的类库,其中包括I/O包,Util包,Lang包,Math包等等,这些都是学习Java最基本的内容,一定要熟悉并掌握。此外Java介入的领域很广泛,不同的领域有不同的API(Application ProgrammingInterface,应用程序设计接口),没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果做界面开发,那么需要学习Swing/AWT/SWT等API;如果进行网络游戏开发,需要深入了解网络API/多媒体API/2D3D等;如果做Web开发,就需要熟悉Servlet等API。总之,需要根据工作的需要或兴趣发展方向去选择学习特定的API。

第二,学JSP。JSP就是在HTML中嵌入Java代码,它提供了一种简单快速地建立动态网页的技术。所以学习JSP必须要有HTML的基础。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

第三,该学一学Servlet了。Servlet就是服务器端小程序,它负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。

3.3 Javabean

以往JSP在html中嵌套Java代码的方式较为混乱,而与ASP的主要区别在于SUN提供了Javabean可以把JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,使用它可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是Weblogic,Websphere这些J2EE服务器)完成了,所以使用时要做的程序代码量很少,大部分工作都在设计和配置中间件上。

3.4 JDBC

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JD-BC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。

4 编程实践

对Java和J2EE有了一些基本概念之后,就应该练习开发一些程序。

4.1 阅读有实例且带光盘的书籍

最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C再Ctrl+V复制粘贴下来,然后保存起来以备后用。还有就是要经常上一些好的Java论坛,遇到不会不懂的问题随时向别人提问,这样可以大大减少闭门造车浪费的时间。

4.2 读开放源码的程序

大家知道开放源码大都出自高手,这些源码设计合理,考虑周到,再加上有广大程序员的参与,所以读源码可以很好地提高编程水平。学Java必读的两个开源程序就是Jive和Pet Store.。Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易地在不同数据库中移植。Pet Store(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,很具有权威性。

5 结语

虽然理论学习和程序训练双管齐下,但是距离学会Java还只是万里长征走完了第一步。具体一个项目需要进行组织设计和开发,靠一些散乱的代码是不可能做出来的,要学会Java最关键的是实际的工作经验,而不是书本上那些凭空想出来的程序。

只有参加Java实际项目的开发,熟悉和掌握开发的思路和过程,并且能够熟练运用Java开发项目的时候,才算是初步学会了Java,剩下的就是在实践中继续提高自己。

参考文献

篇4:个人java学习笔记

(1)学习的目的是为了将来进行应用程序的开发,而不是进行语言理论研究,

(2)将来的应用开发是在成熟的平台上展开,而不是自己从底层开发平台。

一、掌握静态方法和属性

静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。

二、重视接口

在面向对象早期的应用中大量使用了类继承。随着软件工程理论的不断发展,人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接口近年来逐渐成为Java编程方法的核心。另一方面,就应用而言,大部分开发是建立在规范基础之上的,不需要自己建立复杂的继承关系和庞大的类。因此读懂规范和用好规范已经成为应用程序开发人员的首要任务,Java各项规范的主要描述手段就是接口。

三、学好集合框架

Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器、三层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。

由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。

四、例外捕捉

Java对例外捕捉的强调是空前的,它强迫程序员用显著的与逻辑方法完全不同的方式描述例外捕捉,对于程序描述的完整性和严谨性有很大的意义。c++也有类似的机制,但是我们看到很多c++程序员并不习惯使用这些机制。

Java的初学者应该充分学习好这种对外捕捉机制,养成良好的编程习惯。

五、多线程需要理解机理

很多Java程序员热衷于多线程程序编写,认为是对逻辑能力的挑战。其实在大量应用中根本就不需要编写多线程程序,或者说大多数编写应用程序的程序员不会去写多线程程序。这是因为多线程机制都内置到基础平台当中了。

程序员应该了解的是多线程原理和多线程安全,这对于今后准确地把握程序是至关重要的。

例如:JSP中编写到不同的位置对于多个用户环境的安全影响完全不同。又如著名的Super Servlet是每一个访问作为一个进程,但是每一个页面是一个线程,和Servlet正好相反,对程序的性能和安全的影响有天壤之别。

六、了解网络编程

篇5:java学习笔记总结

1.Java是什么呢?

Java不仅是一门语言,而且是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。

2.JDK 和 JRE 是什么?

JDK:全称是 Java Development Kit,这是我们编写java程序的开发人员需要的。我们首先要下载和安装JDK,然后设置环境变量,具体操作可以加我扣:七零五叁零六久久久

JRE:全称是 Java Runtime Environment,它包含虚拟机但不包含编译器,这是运行java程序的用户需要的环境

3.来个Hello World看看吧?

照例先创建一个类HelloWorld.java,源代码如下: /** * @author 老孙

*/ public class HelloWorld {

public static void main(String[] args){

System.out.println(“Hello World”);

} } Java类名一般是以大写字母开头的名词,多个单词的话每个单词首字母都应该大写。Java源代码以.java作为扩展名,而且文件名必须和文件里的公共类同名。

4.怎么用命令行运行java程序?

比如上面我们编写了一个类叫做HelloWorld.java,首先打开一个终端;

 然后进入到HelloWorld.java类所在的目录;  输入命令 javac HelloWorld.java。javac是一个java编译器,注意该命令需要的是文件名,也就是要带着.java后缀。 输入命令 java HelloWorld。java启动Java虚拟机,该命令只需要类名,不需要带着.java或者.class等后缀。

5.Java代码怎么加注释?

// 单行注释 和 /*{……}*/ 长篇注释,这两种方式很多语言都一样,没什么特别强调的。

另外还有一种注释可以方便的生成java doc文档,以/** 开头,以*/结束。

6.Java的几种基本数据类型是?

4种整型:byte(1字节),short(2字节),int(4字节),long(4字节)。(PS:Java没有无符号整型) 2种浮点型:float(4字节),double(8字节) 字符类型:char  布尔类型:boolean

在Java种每个类型占用几个字节是固定的,与运行java的机器无关,这点与C#不同,这也是Java具有可移植性的关键点。

浮点类型一般double比float常用,而且浮点型存在四舍五入的情况,如果用在对精确度要求高的商业场景,就得使用java.math.BigDecimal类型了。我们写个demo看看: 

/** * @author 老孙

*/ public class DemoDouble { public static void main(String[] args){

double d1=0.05;

double d2=0.01;

double result=d1+d2;

System.out.println(result);//结果:0.***005

BigDecimal bd1=new BigDecimal(“0.05”);

BigDecimal bd2=new BigDecimal(Double.valueOf(“0.01”));

double result2=bd1.add(bd2).doubleValue();

System.out.println(result2);//结果:0.06

} }

7.Java怎么定义常量?

使用关键字final定义常量,之前C#用的是const关键字,这一点不同要注意一下。命名规则上,常量一般使用大写字母,中间用下划线分隔。例如: private static final Integer MAX_SIZE=100;

8.String字符串怎么截取子串?

Substring(beginIndex,endIndex):返回子字符串,从beginIndex到endIndex-1。String s=“你好,今天是2018年1月5日,圣诞快乐!” String date = s.substring(6,17);System.out.println(date);// 输出:2018年1月5日

注意:该方法的返回结果不包含最后一个位置的字符。如果有问题就问我:七零五叁零六久久久 9.Java字符串怎么拼接?

①最简单的拼接方式就是使用+符号。

②String.join(char,str1,str2….strN):静态方法拼接字符串,用字符char分隔,将字符串进行拼接。//拼接

String s2=String.join(“、”,“JAVA核心技术”,“JAVA编程思想”,“SpringBoot”);System.out.println(s2);//输出:JAVA核心技术、JAVA编程思想、SpringBoot

③当有大量字符串拼接操作的时候使用StringBuilder,这跟C#基本相同。

10.怎么判断两个Java字符串是否相等?

equals方法判断两个字符串内容是否相等。而==判断两个字符串是否指向内存中同一位置。//比较

String s3=“abc”;String s4=“abc”;String s5=new String(“abc”);String s6=new String(“abc”);System.out.println(s3==s4);//true System.out.println(s3.equals(s4));//true System.out.println(s5==s6);//false System.out.println(s5.equals(s6));//true 这个demo中s3==s4返回true,因为在Java中字符串是不可修改的,编译器有一些优化机制让字符串共享,所以s3和s4实际上指向了内存中同一位置 11.Java数组有哪些常用操作?

①foreach循环数组

//foreach循环数组 int[] arr={1,3,5,7,9};for(int item:arr){ System.out.println(item);} ②打印数组元素

Arrays.toString(a):返回字符串,数组元素包含在方括号中,以逗号分隔。Arrays.deepToString(arr):用来打印多维数组。//打印数组

System.out.println(Arrays.toString(arr));//输出 [1, 3, 5, 7, 9] int[][] arrM={{1,2,3},{11,12,13},{21,22,23}};System.out.println(Arrays.deepToString(arrM));//[[1, 2, 3], [11, 12, 13], [21, 22, 23]] ③拷贝数组元素

静态方法Arrays.copyOf(originalArray,length):第一个参数是要拷贝的源数组,第二个元素是新数组的长度,如果第二个大于原数组长度,则自动填充默认值。//拷贝数组元素

int[] arr2=Arrays.copyOf(arr,arr.length);System.out.println(Arrays.toString(arr2));//输出 [1, 3, 5, 7, 9] int[] arr3=Arrays.copyOf(arr,arr.length/2);System.out.println(Arrays.toString(arr3));//输出 [1, 3] int[] arr4=Arrays.copyOf(arr,arr.length*2);System.out.println(Arrays.toString(arr4));//输出 [1, 3, 5, 7, 9, 0, 0, 0, 0, 0] ④排序

静态方法Arrays.sort()方法采用优化后的快速排序算法对数组元素进行排序。//排序

int[] arr6={12,4,53,78,21,943,3};Arrays.sort(arr6);System.out.println(Arrays.toString(arr6));//输出 [3, 4, 12, 21, 53, 78, 943]

⑤查找

静态方法Arrays.binarySearch(arr, valueToFind):二分查找,第一个参数是要查找的数组,第二个参数是要查找的目标元素。该方法有个前提是数组必须是有序的。//查找

int index=Arrays.binarySearch(arr6,12);//输出 2 System.out.println(index);

⑥填充数组元素

静态方法Arrays.fill(arr,item):将数组arr每个元素都填充为item.//填充数组元素

String[] arr7=new String[5];Arrays.fill(arr7,“*”);System.out.println(Arrays.toString(arr7));//[*, *, *, *, *]

⑦比较数组

注意要使用Arrays.equals(arr1,arr2)比较数组,如果两个数组元素全部相同,则返回true。//比较数组元素

String[] arr8={“*”,“*”,“*”,“*”,“*”,};System.out.println(arr7.equals(arr8));//false System.out.println(Arrays.equals(arr7,arr8));//true

12.日期对象LocalDate ①获取当前日期时间 //当前日期

LocalDate today=LocalDate.now();

System.out.println(today);//2017-12-26

//当前时间

LocalTime currentTime=LocalTime.now();

System.out.println(currentTime);//12:23:09.054

//当前日期时间

LocalDateTime dateTime=LocalDateTime.now();

System.out.println(dateTime);//2017-12-26T12:23:09.054

②构造某个指定日期

//构造指定日期

LocalDate newYear=LocalDate.of(2018,1,1);System.out.println(newYear);//2018-01-01

③解析日期字符串,如果不合法会抛出异常。

//解析日期字符串

LocalDate date1=LocalDate.parse(“2018-12-31”);System.out.println(date1);//2018-12-31//LocalDate.parse(“2018-11-31”);//抛出异常

④获取若干天后的某个日期 //15天后

LocalDate date15=today.plusDays(15);System.out.println(date15);//2018-01-10

⑤获取年份、月份、日期

//获取年、月、日

System.out.println(date15.getYear());//2018 System.out.println(date15.getMonth());//JANUARY System.out.println(date15.getMonthValue());//1 System.out.println(date15.getDayOfMonth());//10 System.out.println(date15.getDayOfWeek());//WEDNESDAY System.out.println(date15.getDayOfYear());//10 注意:使用Date对象的getYear()方法,不能获取当前的年份

System.out.println(new Date().getYear());//117,不是我们想要的结果2018 我们看一下该方法的源码,计算的是当前年份和1900年的差值

public int getYear(){ return normalize().getYear()-1900;}

大家在学习的过程中遇到任何的问题都可以咨询我(QQ:705306999,奔跑de蜗牛)

也可以加入到我们的免费学习交流群: 579016988(职坐标java编程交流群2)玩微信的朋友也可以加老孙的个人微信公众号:微信右上角点击加号--添加朋友--公众号--搜索:我是老孙(如下图),也会不定期发送技术文章,娱乐八卦,吃喝玩乐,房产头条,心灵鸡汤等信息!

加图片说明文字

注意:添加时请注明微博

移除点击此处添如果大家想看老孙的直播学习,可以加入咱们的免费公开课进行学习!腾讯课程地址:https://ke.qq.com/course/92963#tuin=2a0a2177

有的人会这样说:“我只是在业余时间打盹而已,业余时间干吗把自己弄得那么紧张?”

爱因斯坦就曾提出:“人的差异在于业余时间。”

一位在哈佛任教的朋友说,只要知道一个青年怎样度过他的业余时间,就能预言出这个青年的前程怎样。记得点赞和转发哦!

片说明文字

篇6:java学习方法笔记总结.

一:java基础部分:java基础的时候,有些知识点是非常重要的,比如循环系列。For,while,do-while.这方面只要大家用心点基本没什么难点。

二:面向对象:oop面向对象的时候,偏重理论,相信这方面的文章也很多,大家可以多看看,在这就不说了。重点掌握面向对象的三大特征和基本原理。

三:java核心一:这方面主要偏重API,所以在学习了这章的时候,一定要对照API去学习,多看API,主要就是方法多,string和集合的方法最为重要。后面将为大家提供本人整理的部分笔记。

四:java核心二:主要讲解了异常,线程和IO流,其实个人认为重点掌握线程就行,对于流和异常多写就行,线程偏重理论也最为重要。

五:oracle数据库方面:建议学习数据库的时候大家一定要端正态度,数据库极为重要,本人当时在学习这个的时候,一直以为数据库只是为了增删改查,故没有认真学习,后期面试的时候吃了不少亏,因为现在软件公司对数据库的要求跟java一样重要,基本都会单独一张笔试题笔试数据库。

六:JDBC/XML系列:JDBC主要是3个核心接口(Connection)(Statement)(ResultSet)的使用,大家在学习的时候,熟练运用3接口,jdbc的原理也相当重要,虽然后期学习了HIbernate之后,JDBC不需要再用,但其底层原理还是JDBC,而且现在很多软件公司不一定会用到Hibernate框架,所以建议大家还是把“本”学好,XML:重点掌握解析互换的2个核心接口方法。

七:HTML/CSS/JS:对于这个,本人相当纠结,因为这个有点偏向于美工的意思,所以后期想从事后台开发的同学一般不会太重视,但是现在都是web项目,而且很多软件公司并不是把许多这方面的事情交给美工(除非是那种有很高要求的静态页面),而且现在html代码都是在jsp里面写,所以建议还是好好学学,因为公司不会让一个美工去专门为你写一些简单的html代码,包括js!这章其实不难,就是属性方法知识点比较多,大家多记记,多写写,重在多练!

八:Servlet/Jsp:如果想从事web和b/s开发(现在基本都是web和b/s开发),这章极为重要,服务器的访问以及配置。tomcat的使用都在这一章,虽然后期struts框架的学习简化了servlet代码的繁琐性,但是你可知道现在有些公司只用servlet不用struts!即使用了框架技术也不一定是struts!servlet跟JDBC一样都是“本”,而struts和Hibernate一样都是封装了它们而后简化代码而已。所以只有把“本”学会了,就不怕框架的变化!jsp就不多说了,如果你学习java这个就不会缺少!后期b/s项目页面的布局以及功能就全靠它了。

九:Ajax/Jquery:当初学习这个的时候,本人没有用心去学,然后结果就是本人在进公司之后花了一个星期的时间练习jQuery!这个对于强化web服务器页面的功能技术实在是强大.这个封装了js对象的技术,可以对jsp页面元素进行样式的更改以及操作,想要玩好web项目,这个技术必须玩好!

十:SSH:传说中的三大框架;

Struts:前面已经提到,这个框架技术主要是为了弥补servlet和jsp页面之间交互的复杂性,可以有效的提高客户端与服务器之间的交互。而且采用了MVC思想进行改善减弱代码之间的复杂性。Hibernate:主要封装了jdbc的核心功能,可以采用映射方式访问并操作数据库,一定程度上讲是简化了程序代码,但前面已经提到,由于是框架,而框架是随着时代而改变的,并且很多公司不一定用到这个框架,所以,只有掌握好JDBC的根本原理,才会更加理解这个框架。

Spring框架:其实后期学框架知识大家都会觉得很无趣和乏味,因为框架的知识都是理论很深的知识点,spring主要是要完善代码之间的耦合度,包括类似工厂模式的对象自动控制,AOP的事物日志管理等,都其实是为了减少程序员的工作量,但不得不说是有很大的作用的,而且这个框架可以整合JDBC以及Hibernate,struts技术,可以把所有的框架技术都整合在一起。相当于一块主板把内存,风扇,cpu,显卡都集中在一起。

前面所有的都是个人学习之中的一点感受,希望大家也能有所感触,主要想说明的是前面的基础一定要打好,对于学习方法的问题也可以和大家聊一聊,本人在学习之初,由于面向对象和集合一些理论较深的知识点出现,导致后期比较注重理论,最终在写实际项目的时候吃了苦头,因为代码量没有跟上,即使理论都懂,但很多功能还是无法自己写出,所以要强调的是在注重理论的情况下一定要多写代码,我的建议是在理论比较深刻的知识点面前,比如面向对象,集合,线程这些知识,多看点理论,而对于html,css以及API方法比较多的知识点的情况下,多写代码。总之,各50%最好!当然,这就需要大家付出更多的时间和精力辛苦勤劳下了!其实java的学习还是要多练代码,多思考,举一反三,任何的知识点只要你认真的去做,没有拿不下的顽石,勤能补拙,相信自己,然后用功,你就胜利了。

下面说一下面试技巧。

其实4个月是相当的快,一瞬间而已,所以希望大家在还没有学完的时候,就要有面试的准备,关于面试,一般企业也就那几个步骤,笔试-面试,面试又包括技术面试和人事面试,人事面试基本不会有什么问题,关键就是技术面试,当然,如果大家有认真的学学习,笔试一般不会有什么问题,技术面试的话,一般都是项目经理之类的,会问到几个技术问题,范围也很广,不知道他会问到什么,所以必须大家对于知识点的话都要有基本的掌握,当然会有几个比较重点的知识 点,像集合,servlet,线程,其实重点也很多,这个大家后期可以参考面试的文档,到时候老师会发给大家一些相关的文档,当然自己也可以去下载一些相关的文档,要强调一点的是数据库必问!这个相当重要!前面也已经说了,所以希望一定要把数据库学好!

下面为大家提供部分本人整理的笔记: String的核心方法:

字符串转换整数:Integer.parseInt(字符串变量);整数转换字符串:String.valueOf(整型变量)

日期转字符串:new SimpleDateFormat().format(date类型)返回字符串元素的字符长度:length()方法

Int IndexOf(String a),在字符串元素中检索a字符,返回第一个出现的下标位置。Int indexOf(String a,int fromIndex),从formIndex位置开始检索字符串,找到之后的a字符。

Char charAt(int index):用于返回字符串index位置的字符.Substring(begin,end):返回子字符串

valueOf(Object):返回Object参数的字符串表示形式。toUpperCase():返回字符串的大写形式。toLowerCase():返回小写形式。

StringBuilder核心方法:

StringBuilder:性能好,非线程安全.Append(String s):追加字符串。

Insert(3,”String”)插入字符串

Delete(int start,int end):删除字符串。

Replace(int start,int end, String s):替换字符串 Reverse():字符串反转.集合核心方法:

Boolean isEmpty():判断集合是否为空 Size():判断集合里面元素的个数

Boolean Contains(Object):判断集合元素中是否包含Object元素.Clear():清空集合。

Boolean Add(Object):向集合中添加元素,返回是否添加成功.Boolean remove(Object):从集合中删除元素。Iterator iterator():迭代元素。

增强for循环:for(Point p:list):遍历list,每次循环从list中取出一个元素赋值给p.List单独的方法:

get(index):得到index下标的集合元素.Set(index,元素o):设置index处的元素为元素o,前面的元素将被覆盖,并且方法返回的值是前面的元素。

Add(index,元素):在指定下标index添加元素 Remove(index):删除指定下标的元素值

List:定义线性表数据结构.ArrayList:动态数组方式,适合随机访问对象.LinkedList:链表方式,适合于插入和删除.subList():用于获取子List,获取的List与原List占有相同的存贮空间,操作会影响原List.List subList(int 开始下标,int 结束下标);

上一篇:托福写作素材之关于网络下一篇:学校工作总结标准版