免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1167 | 回复: 0
打印 上一主题 下一主题

方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-08 23:52 |只看该作者 |倒序浏览
方法包括:声明和体。
1 方法声明的完整格式:访问说明符 修饰符 返回值 方法名(参数) throws Exception List (斜体为可选部分)
1.1访问说明符
Public      方法中最松散的说明符,可被所有类或包中的所有类访问。
Protected     此方法可被由当前类扩展出来的任何类访问。如:java.awt.Conponent类有一个protected 方法名叫paramString(),在java.awt.Button类中可使用它,因为java.awt.Button类是由java.awt.Conponent扩展出来的。
            注:如果越界访问,出错信息是No method matching paramString(方法名)() found in class java.awt.Button(类)。
Private     保护程度最高。只能被同一个类的方法调用。本类扩展的也不可以。
            Private void togglestatus()
Default     可以被当前包中的其它的任何类访问,但不允许当前包以外的类访问。
         



同一个类     同一个包   不同包的子类   不同包的非子类

private       yes

default       yes              yes

protected   yes              yes            yes
   
public          yes               yes           yes                      yes

1.2.修饰符
            修饰符允许用户为方法设置属性,如在何处可见,当前类的子类如何与它交互。
            
Static
Abstract
Final       避免当前类的子类覆盖已有的方法。
Native
Synchronized
需要更深入的学习
1.3返回值
除非使用void作返回类型,用户必须在声明中指定返回变量的类型。如整数或字符等。
1.4方法名
命名规则如同标识符
参数表(加强学习)
参数表是要传递给方法的信息列表。可由多个参数组成:数据类型 变量名,数据类型 变量名,……
注:如果没有参数要传递,JAVA允许参数为空
注:JAVA传递参数规则:如果传递的是基本类型(如int,char,float,et al),那么结果就使用值来传递,如果传递的类型是对象(如用户创建的类),那对象由引用传递。
1         块和语句
语句加标志:被break与continue使用,与goto类似,但只用在循环前。

六 表达式
表达式的三个主要工具:运算符关联、运算符的优先顺序和计算顺序
注:Java与C不同的是%、++和――是为所有的基本数据类型定义(除布尔),C中是为整数定义。



七 控制流
7.1       关系运算符
public class Quicktest
{
    public static void main(String arg[]){
        System.out.println("5 is greater 6"+(5>6));
        System.out.println("6 is greater or eq 3"+(6>=3));
        System.out.println("8 is less than 10"+(8
    }
}
---------- run java program ----------
5 is greater 6false
6 is greater or eq 3true
8 is less than 10true
输出完成 (耗时 0 秒) - 正常终止
注:与C不同的是JAVA只以true or false显示,不是0或1

public class ObjectEquals
{
       public static void main(String arg[]){
              String String1=new String("Hi Mom");
              String String2=new String("Hi Mom");
              System.out.println("String1==String2"+(String1==String2));
              String String3=String1;
              System.out.println("String1==String3:"+(String1==String3));
       }
}
---------- run java program ----------
String1==String2false
String1==String3:true
注:String1与String2对象不同,也就是内存地址不同,所以不同,而3确与1相同
7.2         if语句           //与C相同
if (条件表达式)
{   
语句1
}
Else
{
    语句2
}
语句3

public class Compar
{
        public static void main(String args[]){
                  double d1=1.1;
                  double d2=1.2;
                  if (d1>d2)
                  {
                           System.out.println(d1+">"+d2);
                           
                  }
                  else {
                           System.out.println(d2+">"+d1);
                  }
}
}
---------- run java program ----------
1.2>1.1
输出完成 (耗时 0 秒) - 正常终止
  
public class LeapYear{
public static void main( String args[] ){
int year=1989; //method 1
if( (year%4==0 && year%100!=0) || (year%400==0) )
System.out.println(year+" is a leap year.");
else
System.out.println(year+" is not a leap year.");
year=2000; //method 2
boolean leap;
if( year%4!=0 )
leap=false;
else if( year%100!=0 )
leap=true;
else if( year%400!=0 )
leap=false;
else
leap=true;
if( leap==true )
System.out.println(year+" is a leap year.");
else
System.out.println(year+" is not a leap year.");
year=2050; //method3
if( year%4==0){
if( year%100==0 ){
if( year%400==0)
leap=true;
else
leap=false;
}else
leap=false;
}else
leap=false;
if( leap==true )
System.out.println(year+" is a leap year.");
else
System.out.println(year+" is not a leap year.");
}
}

---------- run java program ----------
1989 is not a leap year.
2000 is a leap year.
2050 is not a leap year.
输出完成 (耗时 0 秒) - 正常终止

7.3         while语句.    同C
[initialization]
while (termination){
body;
[iteration;]
}

7.4       do-while
[initialization]
do{
body;
[iteration;]
}while (termination);

7.4         for语句
for(initialization;termination; iteration){
body;
}
7.5         多分支语句switch
switch (expression){
casevalue1:statement1;
break;
casevalue2:statement2;
break;
…………
casevalueN:statemendN;
break;
[default:defaultStatement;]
}
注:表达式必须是整数类型的

7.6         return
当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。
return语句通常用在一个方法体的最后,以退出该方法并返一个值。Java中,单独的return语句用在一个方法体的中间时,会产生编译错误,因为这时有一些语句执行不到。但可以通过把return语句嵌入某些语句(如if-else)来使程序在未执行完方法中的所有语句时退出,例如:
int method (int num) {
∥ return num; ∥will cause compile time error
if (num>0)
return num;
…… ∥ may or may not be executed
∥depending on the value of num
7.7         continue
continue跳转到括号指明的外层循环中的格式为continue outerLable;
      
       7.8 一个for,do-while,while的综合例子。
public class Summ{
  public static void main( String args[] ){
    System.out.println("n** while statement **");
    int n=10,sum=0; //initialization
    while( n>0 ){ //termination
    sum+=n; //body
    n--; //iteration
    }
    System.out.println("sum is "+sum);
    System.out.println("n** do_while statement **");
n=0;                                           /*如果改成int n=0,sum=0;<span style="red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times Ne

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3303/showart_9597.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP