java基础(Demo)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、Java基础1.1Java概述Java语言是SUN(StanfordUniversityNetwork,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起,成为大型互联网项目的首选语言。2009年04月20日,美国甲骨文公司(oracle)74亿美元收购Sun,取得java的版权。在世界编程语言排行榜中,Java几乎占据着第二名的位置,仅次于C语言。图1世界编程语言排行榜(2014年11月)Java是典型的面向对象的语言,晚于C++发布,部分语法和思想也参考了C++,请见下表:语言生日C语言19世纪70年代初问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言。C++在C基础上,1983年贝尔实验室推出了C++。Java由Sun公司于1995年5月推出。Python由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。Ruby在20世纪90年代由日本人松本行弘开发。Java的应用非常广泛:Web开发:Java非常适合开发大型的企业网站,例如人人网、去哪儿网的后台都是Java。Android开发:Android手机上APP几乎都是用Java开发的,例如QQ、微信、UC浏览器。客户端开发:Java也可以用来开发电脑上的软件,例如Elicpse、Netbeans。嵌入式应用:嵌入式应用就是在小型电子产品中运行的软件,例如老式手机上的软件、MP3上的软件。但是,可以负责任的告诉你,Java目前的主要应用方向是Web开发和Android开发,大部分IT公司招聘的Java程序员也是从事这两方面的工作。Java虽然可以编译成.exe文件,但是运行时需要虚拟机的支持,你不能期望用户安装你软件的同时再安装一个虚拟机,设置环境变量等复杂的操作;Java的GUI库也称不上出色,很多用户不习惯它的界面;Java编写的软件运行速度慢,占用内存多。直接投放市场的面向普通用户的客户端程序,用Java开发的很少,大部分Java开发的客户端是给企业内部员工使用,员工领到电脑时,技术部已经给配置好了。如果你希望从事客户端开发,建议学习C和C++,它们在Window客户端开发方面有较大的优势。在嵌入式方面,Java很难操作底层硬件,灵活性较小,而且需要虚拟机支持,占用资源较多,对于配置很低的单片机系统来说有些吃力。所以,在力求高效、小型化、执行关键任务的应用中,最好采用汇编和C语言,例如火箭控制、传感器通信或报告宇宙飞行器的方位等。Java虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。1.2JVM虚拟机以及跨平台原理相信大家已经了解到Java具有跨平台的特性,即“一次编译,到处运行”,例如在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的。那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(JavaVirtualMachine,简称JVM)。JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种.class文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。JVM是一个”桥梁“,是一个”中间件“,是实现跨平台的关键,Java代码首先被编译成字节码文件,再由JVM将字节码文件翻译成机器语言,从而达到运行Java程序的目的。注意:编译的结果不是生成机器码,而是生成字节码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行。不同平台下编译生成的字节码是一样的,但是由JVM翻译成的机器码却不一样。所以,运行Java程序必须有JVM的支持,因为编译的结果不是机器码,必须要经过JVM的再次翻译才能执行。即使你将Java程序打包成可执行文件(例如.exe),仍然需要JVM的支持。虽然JVM让Java实现了跨平台,却牺牲了效能,每次运行软件都要翻译字节码,内存占用多,CPU使用率高。更加不能接受的是,操作系统默认不会安装JVM,用户安装你的程序之前,必须要安装JVM并正确设置,你可以要求小白用户安装你的软件,但是你能期望他了解JVM的有关知识并正确安装设置吗?虽然你可以将JVM集成在你的程序中,自动安装并设置,不让用户干预,但是你希望附带一个比你的程序还要大好多的JVM吗?一个软件这样做或许可以接受,成千上万个软件都这样做,那用户要安装多少个JVM?磁盘空间要浪费多少?种种原因,注定了Java客户端不利于推向市场,让小白用户接受。不过话又说回来,客户端开发也不是Java的初衷,Java最初是面向嵌入式的,却随着互联网的兴起而快速成长,在Web开发上大显身手。注意:跨平台的是Java程序,不是JVM。JVM是机器码,不能跨平台,不同平台下需要安装不同版本的JVM。图1JVM实现跨平台1.3Java的不同版本1998年12月,SUN公司发布了Java1.2,开始使用“Java2”这一名称,目前我们已经很少使用1.2之前的版本,所以通常所说的Java都是指Java2。Java有三个版本,分别为J2SE、J2EE和J2ME,以下是详细介绍。J2SE(Java2PlatformStandardEdition)标准版J2SE是Java的标准版,主要用于开发客户端(桌面应用软件),例如常用的文本编辑器、下载软件、即时通讯工具等,都可以通过J2SE实现。J2SE包含了Java的核心类库,例如数据库连接、接口定义、输入/输出、网络编程等。学习Java编程就是从J2SE入手。J2EE(Java2PlatformEnterpriseEdition)企业版J2EE是功能最丰富的一个版本,主要用于开发高访问量、大数据量、高并发量的网站,例如美团、去哪儿网的后台都是J2EE。通常所说的JSP开发就是J2EE开发。J2EE包含J2SE中的类,还包含用于开发企业级应用的类,例如EJB、servlet、JSP、XML、事务控制等。J2EE也可以用来开发技术比较庞杂的管理软件,例如ERP系统(EnterpriseResourcePlanning,企业资源计划系统)。J2ME(Java2PlatformMicroEdition)微型版J2ME只包含J2SE中的一部分类,受平台影响比较大,主要用于嵌入式系统和移动平台的开发,例如呼机、智能卡、手机(功能机)、机顶盒等。在智能手机还没有进入公众视野的时候,你是否还记得你的摩托罗拉、诺基亚手机上有很多Java小游戏吗?这就是用J2ME开发的。Java的初衷就是做这一块的开发。注意:Android手机有自己的开发组件,不使用J2ME进行开发。1.4Java开发环境搭建要进行Java开发,首先要安装JDK(JavaDevelopmentKit,Java开发工具箱)。JDK是一系列工具的集合,这些工具是编译Java源码、运行Java程序所必需的,例如JVM、基础类库、编译器、打包工具等。不论是什么样的Java应用服务器,都是内置了某个版本的JDK,因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK、BEA公司的Jrocket,还有GNU组织开发的JDK等等。IBM的JDK包含的JVM(JavaVirtualMachine)运行效率要比SunJDK包含的JVM高出许多,而专门运行在x86平台的Jrocket,在服务端运行效率也要比SunJDK好很多,但不管怎么说,还是需要先把SunJDK掌握好。环境变量的设置进入环境变量配置窗口,在“用户变量”中,设置3项属性,JAVA_HOME、PATH、CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”:JAVA_HOME:设为JDK的安装路径(如D:\ProgramFiles\jdk1.7.0_71),此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依靠此变量)。Path:使得系统可以在任何路径下识别java命令,设为:%JAVA_HOME%\bin。CLASSPATH:Java运行环境加载类的路径,只有类在classpath中,才能被识别和加载,设为.;%JAVA_HOME%\lib(注意前面的点号(.),点号表示当前路径)。%JAVA_HOME%就是引用前面指定的JAVA_HOME。打开一个CMD窗口,输入“java-version”或者“javac”命令,看到很多说明信息,证明已经安装并配置成功了。安装eclipse有了JDK,你可以编译Java源码,运行Java程序,但是还没有代码编辑器,没有版本管理工具,也不能方便的管理工程文件,不能与团队协作。安装Eclipse,你才能完成这些工作。Eclipse是一款Java集成开发环境(IDE)。JavaIDE有很多,有免费的,有收费的,有英文的,中文的,有多国语言的,Eclipse是最常用的一款,IT公司大部分员工都使用Eclipse。Eclipse开源免费,使用人数最多,提供了丰富的插件和友好的编辑界面,资源占用比较低,速度比较快,本身就是用Java开发的。注意:一定要设置环境变量,Eclipse的运行依赖于这些环境变量。1.5第一个Java程序(helloworld)创建一个项目创建一个java文件,一个class编写程序运行程序执行结果2、Java语法基础(grammar)2.1数据类型以及变量的定义(grammar.Types.java)Java是一种“强类型”的语言,在声明任何变量时,必须将该变量定义为一种数据类型。变量(variable)占据一定的内存空间。不同类型的变量占据不同的大小。Java中共有8种基本数据类型,包括4种整型、2种浮点型、1种字符型、1种布尔型,请见下表。Java基本数据类型数据类型说明所占内存举例备注byte字节型1byte3,127short短整型2bytes3,32767int整型4bytes3,21474836long长整型8bytes3L,92233720368Llong最后要有一个L字母(大小写无所谓)。float单精度浮点型4bytes1.2F,223.56Ffloat最后要有一个F字母(大小写无所谓)。double双精度浮点型8bytes1.2,1.2D,223.56,223.56Ddouble最后最好有一个D字母(大小写无所谓)。char字符型2bytes'a',‘A’字符型数据只能是一个字符,由单引号包围。boolean布尔型1bittrue,false对于整形数据,实际开发中,程序员最常用的int型。float类型有效数字最长为7位,有效数字长度包括了整数部分和小数部分。例如:1.floatx=223.56F;2.floaty=100.00f;注意:每个float类型后面都有一个标志“F”或“f”,有这个标志就代表是float类型。double类型有效数字最长为15位。与float类型一样,double后面也带有标志“D”或“d”。例如:1.doublex=23.45D;2.doubley=422.22d;3.doublez=562.234;注意:不带任何标志的浮点型数据,系统默认是double类型。不同数据类型应用举例:1.publicclassDemo{2.publicstaticvoidmain(String[]args){3.//字符型4.charwebName1='微';5.charwebName2='学';6.charwebName3='苑';7.System.out

1 / 73
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功