分享
 
 
 

Java学习笔记(一)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

第一章 Java的概述

对于第一章,我觉得主要是了解到了Java的一些特点,知道了Java是以“面向对象(O-O)”为基础的一门语言。

一、主要的特点有:

01、简单性。Java略去了“运算符重载”、多重继承等概念。

02、面向对象。

03、分布性。Java是面向网络的语言。可以通过自身的的类库可以处理TCP/IP协议等等。

04、鲁棒性。这个性能的意思主要是说Java这门语言的自我纠错能力很强。

05、安全性。在Java中,去掉了对指针的支持,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了人为使用诸如“特洛伊”木马等手段来访问对象的私有成员。

06、体系结构中立。主要是说Java编译出来的软件可以在任何的平台上面运行。

07、可移植性。

08、解释执行。Java字节码本身就可以对自己进行解释。

09、高性能。

10、多线程。多线程机制使应用程序能够并行执行,并且可以保证准确性,从而提高了效率。

11、动态性。对于在Java中使用多重继承。Java使用的方式是通过接口来支持,这样的灵活性更高。

二、下面来说一说Java Applet这个东东。

相信很多初次接触Java的朋友来说,根本就不知道Java Applet到底是一个什么东东。不要急,其实简单的说,Java Applet就是Java的一个小的应用程序。上面我们已经看到了Java的一些特点,而且Java Applet又是基于Java语言的,所以说,Java Applet是动态、安全、跨平台的网络应用程序。

三、Java包含了丰富的类、库。

Java之所以要提供大量的类,目的就是为了满足网络化、多线程和面向对象系统的需要。

四、我们来看看Java、C、C++之间的一些区别和联系。

对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C++一样的习惯。但同时也摒弃了后两者中一些不合理的东西。

1、全局变量

Java中对于全局变量进行了更好的封装,这样可以有效的避免的在C或者C++中因为在类外定义全局变量而引起的系统崩溃。

2、goto语句

Java不支持goto语句,是通过其他的例外的处理语句来代理goto语句,比如:try、catch、final等,这样可以使程序的可读性和结构化更加的合理。

3、指针

在C和C++中,指针是最灵活的数据类型,甚至可以说指针就是C或者C++的灵魂,但是在指针灵活的同时,它也是C和C++中最容易产生错误的的数据类型。

4、内存管理

在C中。对于内存的分配和释放,用的是:malloc()和free()两个库函数来实现的。

在C++中。对于内存的分配和释放,用的是:new和delet两个运算符来实现的。

在Java中。对于内存的管理,用的是:new。Java会在程序执行的过程中自动的收集垃圾文件,避免了因为内存的管理不当而引起的系统崩溃。

5、数据类型的支持

在Java中,各个数据类型在内存占用的空间永远都是一样的,所以这个就保证了Java的平台无关性。

6、类型转换

在Java中,要进行数据类型的转换的时候,Java会先进行数据类型相容性检查,以防止不安全的转换,而C和C++则是通过指针来进行转换的,这样很容易带来不安全性。

7、头文件

Java不支持头文件。

8、结构体和联合体

Java中不包含结构体和联合体,这些东西统统包含在类里面。

9、预处理

在Java中不支持宏,通过关键字“final”来声明一个常量。

五、接下来用具体的例子来学习一下Java这门语言。

例1-1:

public class HelloWorldApp //an application

{

public static void main ( String args [ ] )

{

System.out.println ( " Hello World ! " ) ;

}

}

本程序的输出结果是:Hello World !

在这个程序中,首先是使用了保留字class来声明一个新的类,且名字是HelloWorldApp。它是一个公共的类(public)。定义了一个main方法,并且设置成public,在Java编程中,在每一个类里面都可以有许多个方法,但是对于public和main方法,则只能有一个。static说明了main是一个类方法,并且作为一个应用程序来说,类中的main方法都必须像上面的这个格式来定义。在Java解释器没有生成任何实例的情况下,是以main作为程序入口的。在main方法中的“System.out.println ( ... )”和C语言中的“printf ( ... )”以及C++语言中的“cout<<”的作用是一样的,都是作为输出使用。还有就是“//”后面的内容是作为程序解释使用。

现在可以运行该程序了。

首先,可以把它放到一个叫做“HelloWorldApp.java”的文件夹中,这里,文件名应该和类名一样,因为Java解释器要求公共类必须放在与其同名的文件中。

然后,就可以进行编译了:

C:\>javac HelloWorldApp.java (回车)

编译的结果是生成字节码文件HelloWorldApp.class。

最后,用Java解释器来运行该字节码文件:

C:\>java HelloWorldApp

这样,结果就在屏幕上面显示出来了,内容是:“Hello World !”。

下面,我们再来看一个例子,例1-2:

import java.awr.* ;

import java.applet.* ;

public class HelloWorldApplet extends Applet

{

public void paint ( Graphics g ) //an applet

{

g.drawString ( " Hello World ! " , 20 , 20 ) ;

}

}

这是一个简单的Applet(小应用程序)。

首先,用import语句输入java.awr和java.applet下所有的包,使得该程序可能使用这些包中所定义的类,它类似于C和C++语言中的#include语句。

然后,声明一个公共类HelloWorldApplet,并且用extends指明它是Applet的子类。在这个类中重写了父类Applet的paint()方法,其中参数g为Graphics类。在paint方法中调用g的方法drawString(),表示在坐标 ( 20 , 20 ) 处输出字符串“Hello World !”。

要注意的是:这个坐标是用象素点来表示的,不是用厘米或者毫米来表示的。

下面就开始运行。由于这个程序没有实现main方法,这是Applet与应用程序Application的区别之一。为了运行该程序,我们还是要把踏放到文件HelloWorldApplet.java中去,再进行编译。

C:\>javac HelloWorldApplet.java

这样,我们得到一个字节码文件HelloWorldApplet.class。由于Applet中没有main方法作为java编译器的入口,所以我们必须编写一个HTML文件,来把该文件嵌入其中,然后用appletviewer来运行,或在支持java的浏览器上面来运行。它的HTML文件如下:

<HTML>

<HEAD>

<TITLE> An Applet </TITLE>

</HEAD>

<BODY>

<applet code="HelloWorldApplet.class" width=200 height=40>

</applet>

</BODY>

</HTML>

其中,<applet>标记用来启动HelloWorldApplet,code指明字节码所在的文件,width和height指明applet所占的大小,我们把这个HTML文件存入Example.html,然后运行:

C:\>appletviewer Example.html

这时,屏幕上面就会弹出一个窗口,其中显示 Hello World !

从上面的例子可以看出来,Java程序是由类构成的,对于一个应用程序来说,必须有一个类中定义了main方法的,而对于applet来说,它必须作为Applet的一个子类。在类的定义中,应该包含变量的声明和类中方法的实现。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有