﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-星星之火，可以燎原-文章分类-Java</title><link>http://www.blogjava.net/JeffersonTan/category/17480.html</link><description>开创未来，成就自我</description><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 02:37:38 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 02:37:38 GMT</pubDate><ttl>60</ttl><item><title>Java学习笔记（一）</title><link>http://www.blogjava.net/JeffersonTan/articles/82115.html</link><dc:creator>星星之火</dc:creator><author>星星之火</author><pubDate>Sun, 19 Nov 2006 14:11:00 GMT</pubDate><guid>http://www.blogjava.net/JeffersonTan/articles/82115.html</guid><wfw:comment>http://www.blogjava.net/JeffersonTan/comments/82115.html</wfw:comment><comments>http://www.blogjava.net/JeffersonTan/articles/82115.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/JeffersonTan/comments/commentRss/82115.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/JeffersonTan/services/trackbacks/82115.html</trackback:ping><description><![CDATA[
		<p>    对于第一章，我觉得主要是了解到了Java的一些特点，知道了Java是以“面向对象（O-O）”为基础的一门语言。</p>
		<p>
				<br />    一、主要的特点有：</p>
		<p>    01、简单性。Java略去了“运算符重载”、多重继承等概念。</p>
		<p>    02、面向对象。</p>
		<p>    03、分布性。Java是面向网络的语言。可以通过自身的的类库可以处理TCP/IP协议等等。</p>
		<p>    04、鲁棒性。这个性能的意思主要是说Java这门语言的自我纠错能力很强。</p>
		<p>    05、安全性。在Java中，去掉了对指针的支持，一切对内存的访问都必须通过对象的实例变量来实现，这样就防止了人为使用诸如“特洛伊”木马等手段来访问对象的私有成员。</p>
		<p>    06、体系结构中立。主要是说Java编译出来的软件可以在任何的平台上面运行。</p>
		<p>    07、可移植性。</p>
		<p>    08、解释执行。Java字节码本身就可以对自己进行解释。</p>
		<p>    09、高性能。</p>
		<p>    10、多线程。多线程机制使应用程序能够并行执行，并且可以保证准确性，从而提高了效率。</p>
		<p>    11、动态性。对于在Java中使用多重继承。Java使用的方式是通过接口来支持，这样的灵活性更高。</p>
		<p>
				<br />    二、下面来说一说Java Applet这个东东。</p>
		<p>    相信很多初次接触Java的朋友来说，根本就不知道Java Applet到底是一个什么东东。不要急，其实简单的说，Java Applet就是Java的一个小的应用程序。上面我们已经看到了Java的一些特点，而且Java Applet又是基于Java语言的，所以说，Java Applet是动态、安全、跨平台的网络应用程序。</p>
		<p>
				<br />    三、Java包含了丰富的类、库。</p>
		<p>    Java之所以要提供大量的类，目的就是为了满足网络化、多线程和面向对象系统的需要。</p>
		<p>
				<br />    四、我们来看看Java、C、C++之间的一些区别和联系。</p>
		<p>    对于变量声明、参数传递、操作符、流控制等，Java使用了和C、C++一样的习惯。但同时也摒弃了后两者中一些不合理的东西。</p>
		<p>    1、全局变量</p>
		<p>    Java中对于全局变量进行了更好的封装，这样可以有效的避免的在C或者C++中因为在类外定义全局变量而引起的系统崩溃。</p>
		<p>    2、goto语句</p>
		<p>    Java不支持goto语句，是通过其他的例外的处理语句来代理goto语句，比如：try、catch、final等，这样可以使程序的可读性和结构化更加的合理。</p>
		<p>    3、指针</p>
		<p>    在C和C++中，指针是最灵活的数据类型，甚至可以说指针就是C或者C++的灵魂，但是在指针灵活的同时，它也是C和C++中最容易产生错误的的数据类型。</p>
		<p>    4、内存管理</p>
		<p>    在C中。对于内存的分配和释放，用的是：malloc()和free()两个库函数来实现的。<br />    在C++中。对于内存的分配和释放，用的是：new和delet两个运算符来实现的。<br />    在Java中。对于内存的管理，用的是：new。Java会在程序执行的过程中自动的收集垃圾文件，避免了因为内存的管理不当而引起的系统崩溃。</p>
		<p>    5、数据类型的支持</p>
		<p>    在Java中，各个数据类型在内存占用的空间永远都是一样的，所以这个就保证了Java的平台无关性。</p>
		<p>    6、类型转换</p>
		<p>    在Java中，要进行数据类型的转换的时候，Java会先进行数据类型相容性检查，以防止不安全的转换，而C和C++则是通过指针来进行转换的，这样很容易带来不安全性。</p>
		<p>    7、头文件</p>
		<p>    Java不支持头文件。</p>
		<p>    8、结构体和联合体</p>
		<p>    Java中不包含结构体和联合体，这些东西统统包含在类里面。</p>
		<p>    9、预处理</p>
		<p>    在Java中不支持宏，通过关键字“final”来声明一个常量。</p>
		<p>    五、接下来用具体的例子来学习一下Java这门语言。</p>
		<p>    例1-1：</p>
		<p>    public class HelloWorldApp                         //an application<br />    {<br />        public static void main ( String args [ ] )<br />        {<br />            System.out.println ( " Hello World ! " ) ;<br />        }<br />    }</p>
		<p>    本程序的输出结果是：Hello World !</p>
		<p>    在这个程序中，首先是使用了保留字class来声明一个新的类，且名字是HelloWorldApp。它是一个公共的类（public）。定义了一个main方法，并且设置成public，在Java编程中，在每一个类里面都可以有许多个方法，但是对于public和main方法，则只能有一个。static说明了main是一个类方法，并且作为一个应用程序来说，类中的main方法都必须像上面的这个格式来定义。在Java解释器没有生成任何实例的情况下，是以main作为程序入口的。在main方法中的“System.out.println ( ... )”和C语言中的“printf ( ... )”以及C++语言中的“cout&lt;&lt;”的作用是一样的，都是作为输出使用。还有就是“//”后面的内容是作为程序解释使用。</p>
		<p>    现在可以运行该程序了。</p>
		<p>    首先，可以把它放到一个叫做“HelloWorldApp.java”的文件夹中，这里，文件名应该和类名一样，因为Java解释器要求公共类必须放在与其同名的文件中。</p>
		<p>    然后，就可以进行编译了：</p>
		<p>    C:\&gt;javac HelloWorldApp.java  （回车）</p>
		<p>    编译的结果是生成字节码文件HelloWorldApp.class。</p>
		<p>    最后，用Java解释器来运行该字节码文件：</p>
		<p>    C:\&gt;java HelloWorldApp</p>
		<p>    这样，结果就在屏幕上面显示出来了，内容是：“Hello World !”。</p>
		<p>    下面，我们再来看一个例子，例1-2：</p>
		<p>    import  java.awr.* ;<br />    import  java.applet.* ;<br />    public  class  HelloWorldApplet  extends  Applet<br />    {<br />          public  void  paint ( Graphics  g )             //an  applet<br />          {<br />                g.drawString ( " Hello World ! " , 20 , 20 ) ;<br />          }<br />    }</p>
		<p>    这是一个简单的Applet（小应用程序）。</p>
		<p>    首先，用import语句输入java.awr和java.applet下所有的包，使得该程序可能使用这些包中所定义的类，它类似于C和C++语言中的#include语句。</p>
		<p>    然后，声明一个公共类HelloWorldApplet，并且用extends指明它是Applet的子类。在这个类中重写了父类Applet的paint()方法，其中参数g为Graphics类。在paint方法中调用g的方法drawString()，表示在坐标 ( 20 , 20 ) 处输出字符串“Hello World !”。</p>
		<p>    要注意的是：这个坐标是用象素点来表示的，不是用厘米或者毫米来表示的。</p>
		<p>    下面就开始运行。由于这个程序没有实现main方法，这是Applet与应用程序Application的区别之一。为了运行该程序，我们还是要把踏放到文件HelloWorldApplet.java中去，再进行编译。</p>
		<p>    C:\&gt;javac HelloWorldApplet.java</p>
		<p>    这样，我们得到一个字节码文件HelloWorldApplet.class。由于Applet中没有main方法作为java编译器的入口，所以我们必须编写一个HTML文件，来把该文件嵌入其中，然后用appletviewer来运行，或在支持java的浏览器上面来运行。它的HTML文件如下：</p>
		<p>    &lt;HTML&gt;<br />          &lt;HEAD&gt;<br />                &lt;TITLE&gt; An Applet &lt;/TITLE&gt;<br />          &lt;/HEAD&gt;<br />          &lt;BODY&gt;<br />                &lt;applet code="HelloWorldApplet.class" width=200 height=40&gt;<br />                &lt;/applet&gt;<br />          &lt;/BODY&gt;<br />    &lt;/HTML&gt;</p>
		<p>    其中，&lt;applet&gt;标记用来启动HelloWorldApplet，code指明字节码所在的文件，width和height指明applet所占的大小，我们把这个HTML文件存入Example.html，然后运行：</p>
		<p>    C:\&gt;appletviewer Example.html</p>
		<p>    这时，屏幕上面就会弹出一个窗口，其中显示 Hello World !</p>
		<p>    从上面的例子可以看出来，Java程序是由类构成的，对于一个应用程序来说，必须有一个类中定义了main方法的，而对于applet来说，它必须作为Applet的一个子类。在类的定义中，应该包含变量的声明和类中方法的实现。<br /></p>
<img src ="http://www.blogjava.net/JeffersonTan/aggbug/82115.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/JeffersonTan/" target="_blank">星星之火</a> 2006-11-19 22:11 <a href="http://www.blogjava.net/JeffersonTan/articles/82115.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>