




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HelloWorld到面向对象ava是完全面向对象的语言。Java通过虚拟机的运行机制,实现“跨平台”的理念。我在这里想要呈现一个适合初学者的教程,希望对大家有用。
"HelloWorld!"先来看一个HelloWorld.java程序。这个程序在屏幕上打印出一串字符"HelloWorld!":publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!");}}程序中包括Java的一些基本特征:类(class):上面程序定义了一个类HelloWorld,该类的名字与.java文件的名字相同。方法(method):类的内部定义了该类的一个方法main。语句(statement):真正的“打印”功能由一个语句实现,即:
System.out.println("HelloWorld!");
下面两点有关Java的书写方式:Java中的语句要以;结尾(与C/C++相同)。用花括号{}来整合语句,形成程序块。通过程序块,我们可以知道程序的不同部分的范围,比如类从哪里开始,到哪里结束。
编译与运行Java程序要经过编译器编译才能执行。在Linux或Mac下,可以下载安装JavaJDK。
使用javac来编译。在命令行中输入下面语句编译:$javacHelloWorld.java当前路径下,将有一个名为HelloWorld.class的文件生成。
使用java命令来运行。Java会搜寻该类中的main方法,并执行。$javaHelloWorld
变量计算机语言通常需要在内存中存放数据,比如C语言中的变量,Java也有类似的变量。Java和C语言都是静态类型的语言。在使用变量之前,要声明变量的类型。
变量(variable)占据一定的内存空间。不同类型的变量占据不同的大小。Java中的变量类型如下:
存储大小
例值
注释byte
1byte
3
字节int
4bytes
3
整数short
2bytes
3
短整数long
8bytes
3
长整数float
4bytes
1.2
单精度浮点数double
8bytes
1.2
双精度浮点数char
2bytes
'a'
字符boolean
1bit
true
布尔值
在Java中,变量需要先声明(declare)才能使用。在声明中,我说明变量的类型,赋予变量以特别名字,以便在后面的程序中调用它。你可以在程序中的任意位置声明变量。比如:publicclassTest{publicstaticvoidmain(String[]args){System.out.println("Declareinthemiddle:");inta;a=5;System.out.println(a);//printaninteger}}上面a是变量名。可以在声明变量的同时,给变量赋值,比如
inta=5;***“变量”的概念实际上来自于面向过程的编程语言。在Java中,所谓的变量实际上是“基本类型”(premitivetype)。我们将在类的讲解中更多深入。
上面的程序还可以看到,Java中,可用//引领注释。
数组Java中有数组(array)。数组包含相同类型的多个数据。我用下面方法来声明一个整数数组:int[]a;
在声明数组时,数组所需的空间并没有真正分配给数组。我可以在声明的同时,用new来创建数组所需空间:int[]a=newint[100];这里创建了可以容纳100个整数的数组。相应的内存分配也完成了。
我还可以在声明的同时,给数组赋值。数组的大小也同时确定。int[]a=newint[]{1,3,5,7,9};
使用int[i]来调用数组的i下标元素。i从0开始。其他类型的数组与整数数组相似。
表达式表达式是变量、常量和运算符的组合,它表示一个数据。1+1是常见的表达式。再比如:publicclassTest{publicstaticvoidmain(String[]args){System.out.println("Declareinthemiddle:");inta;a=5+1;System.out.println(a);//printaninteger}}上面的5+1也是一个表达式,等于6。
数学表达式数学运算,结果为一个数值1
+
2
加法4
-
3.4
减法7
*
1.5
乘法3.5
/
7
除法7
%
2
求余数
关系表达式判断表达式是否成立。即一个boolean值,真假a
>
4.2
大于3.4
>=
b
大于等于1.5
<
9
小于6
<=
1
小于等于2
==
2
等于2
!=
2
不等于
布林表达式两个boolean值的与、或、非的逻辑关系true
&&
false
and(3>1)
||
(2==1)
or!true
not
位运算对整数的二进制形式逐位进行逻辑运算,得到一个整数&
and|
or^
xor~
not5
<<
3
0b101leftshift3bits6
>>
1
0b110rightshift1bit
还有下列在C中常见的运算符,我会在用到的时候进一步解释:m++
变量m加1n--
变量n减1condition
?
x1
:
x2
condition为一个boolean值。根据condition,取x1或x2的值
控制结构Java中控制结构(controlflow)的语法与C类似。它们都使用{}来表达隶属关系。
选择(if)if(conditon1){statements;
...}elseif(condition2){statements;
...}else{statements;
...}上面的condition是一个表示真假值的表达式。statements;是语句。
练习
写一个Java程序,判断2013年是否是闰年。
循环(while)while(condition){
statements;}
循环(do...while)do{
statements;}while(condition);
//注意结尾的;
循环(for)for(initial;condition;update){
statements;}
跳过或跳出循环在循环中,可以使用break;
//跳出循环continue;
//直接进入下一环
练习
写一个Java程序,计算从1加2,加3……一直加到999的总和
选择(switch)switch(expression){
case1:
statements;
break;
case2:
statements;
break;
...
default:
statements;
break;}
面向对象“对象”是计算机抽象世界的一种方式。“面向对象”可以用很多方式表达。下面是一种并不精确,但比较直观的理解方式:世界上的每一个事物都可以称为一个对象(object),比如张三。对象有身份(Identity),状态(State)和行为(Behavior)。对象的状态由数据成员(datamember)表示。数据成员又被称作域(field)。我们用其他对象作为该对象的数据成员。比如一个表示身高的整数,比如一个鼻子。对象的行为由成员方法(membermethod)表示。我们简称为方法(method)。一个对象可以有多个方法,比如呼吸,睡觉。对象可以归类(class),或者说归为同一类型(type)。同一类型的对象有相同的方法,有同类型的数据成员。某个类型的一个对象被称为该类型的一个实例(instance)。
类与对象
定义类的语法:classClassName{
member1;
member2;
...}
我们定义一个human类:classHuman{voidbreath(){System.out.println("hu...hu...");}
intheight;}在{}范围内,Human类有两个成员:一个数据成员height,一个方法breath()。数据成员height是整数类型,可以用于存储一个整数。方法代表了对象所能进行的动作,也就是计算机所能进行的操作。方法可以接受参数,并能返回值。在breath()的定义中,breath后面的()中为参数列表。由于参数列表为空,所以breath()不接受参数。在breath()之前的void为返回值的类型,说明breath不返回值。(方法与面向过程语言中的函数类似)
现在,我们创建对象aPerson,并调用对象的方法breath:publicclassTest{publicstaticvoidmain(String[]args){HumanaPerson=newHuman();aPerson.breath();
System.out.println(aPerson.height);}}classHuman{voidbreath(){System.out.println("hu...hu...");}intheight;}在main方法中,使用new关键字创建对象。即使是来自同一个类的对象,各个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论