函数:
class FunctionDemo
{
public static void main(String[] args)
{
/*
int x = 4;
System.out.println(x*3+5); x = 6; System.out.println(x*3+5);
*/
//int y = 4*3+5;
//int z = 6*3+5; //int x = getResult(4);
//System.out.println("x="+x);
//int y = getResult(6); getResult(5); } //发现以上的运算,因为获取不同数据的运算结果,代码出现了重复。
//为了提高代码的复用性。对代码进行抽取。
//将这个部分定义成一个独立的功能。方便与日后使用。
//java中对功能的定义是通过函数的形式来体现的。 //需要定义功能,完成一个整数的*3+5的运算, //1,先明确函数定义的格式。
/* 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,)
{
执行语句;
return 返回值;
} //当函数运算后,没有具体的返回值时,这是返回值类型用一个特殊的关键字来标识。
//该关键字就是void。void:代表的是函数没有具体返回值的情况。
//当函数的返回值类型是void时,函数中的return语句可以省略不写。
*/
public static void getResult(int num)
{
System.out.println(num * 3 + 5);
return;//可以省略
}
}

  

class FunctionDemo2
{
public static void main(String[] args)
{
/*
int sum = getSum(4,6); System.out.println("sum="+sum);
sum = getSum(2,7);
System.out.println("sum="+sum);
*/
//get(4,5);
int x = getSum(4,4);
int y = getSum(7,9);
int num = getMax(x,y); } /*
这个功能定义思想有问题,为什么呢?因为只为完成加法运算,至于是否要对和进行打印操作,
那是调用者的事,不要在该功能中完成。 public static void get(int a,int b)
{
System.out.println(a+b);
return ;
}
*/ /* 如何定义一个函数呢?
1,既然函数是一个独立的功能,那么该功能的运算结果是什么先明确
因为这是在明确函数的返回值类型。
2,在明确在定义该功能的过程中是否需要未知的内容参与运算。
因为是在明确函数的参数列表(参数的类型和参数的个数)。 */ //需求:定义一个功能。完成3+4的运算。并将结果返回给调用者。
/*
1,明确功能的结果:是一个整数的和。
2,在实现该功能的过程中是否有未知内容参与运算,没有。
其实这两个功能就是在明确函数的定义。
1,是在明确函数的返回值类型。
2,明确函数的参数列表( 参数的类型和参数的个数)。 public static int getSum()
{
return 3+4;
}
*/
/*
以上这个函数的功能,结果是固定的,毫无扩展性而言。
为了方便用户需求。由用户来指定加数和被加数。这样,功能才有意义。
思路:
1,功能结果是一个和。返回值类型是int。
2,有未知内容参与运算。有两个。这个两个未知内容的类型都是int。
*/
public static int getSum(int x,int y)
{
return x+y;
} /*
需求:判断两个数是否相同。
思路:
1,明确功能的结果:结果是:boolean 。
2,功能是否有未知内容参与运算。有,两个整数。
*/
public static boolean compare(int a,int b)
{
/*
if(a==b)
return true;
//else
return false;
*/ //return (a==b)?true:false; return a==b;
} /*
需求:定义功能,对两个数进行比较。获取较大的数。
*/
public static int getMax(int a,int b)
{
/*
if(a>b)
return a;
else
return b;
*/
return (a>b)?a:b;
}
}

重载

/*
什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同。
那么,这时就定义一个函数名称以表示起功能,方便阅读,而通过参数列表的不同来区分多个同名函数。 */ class FunctionOverload
{
public static void main(String[] args)
{ // add(4,5);
// add(4,5,6);
print99(); }
public static void print99(int num)
{
for(int x=1; x<=num; x++)
{
for(int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
} //打印99乘法表
public static void print99()
{
print99(9);
} //定义一个加法运算,获取两个整数的和。
public static int add(int x,int y)
{
return x+y;
} //定义一个加法,获取三个整数的和。
public static int add(int x,int y,int z)
{
return add(x,y)+z;
}
} /* void show(int a,char b,double c){} a.
void show(int x,char y,double z){}//没有,因为和原函数一样。 b.
int show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。
c. void show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。 d.
boolean show(int c,char b){}//重载了,因为参数个数不同。 e.
void show(double c){}//重载了,因为参数个数不同。 f.
double show(int x,char y,double z){}//没有,这个函数不可以和给定函数同时存在与一个类中。 */

  矩形,99表

/*
1,定义一个功能,用于打印矩形。 2,定义一个打印99乘法表功能的函数。 */ class FunctionTest
{
public static void main(String[] args)
{
// draw(5,6);
// printHr();
// draw(7,9);
// printHr(); print99(); } /*
定义一个打印99乘法表功能的函数。
*/
public static void print99()
{
for(int x=1; x<=9; x++)
{
for(int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
} /*
定义一个功能,用于打印矩形。
思路:
1,确定结果:没有,因为直接打印。所以返回值类型是void
2,有未知内容吗?有,两个,因为矩形的行和列不确定。
*/
public static void draw(int row,int col)
{
for(int x=0; x<row; x++)
{
for(int y=0; y<col; y++)
{
System.out.print("*");
}
System.out.println();
}
} public static void printHr()
{
System.out.println("------------------------------");
} }

  

java 面向对象概述, 函数解析的更多相关文章

  1. Java 面向对象概述原理: 多态、Object类,转型(8)

    Java 面向对象概述原理: 多态.Object类,转型(8) http://docs.oracle.com/javase/tutorial/java/IandI/override.html Java ...

  2. Java面向对象 Main函数 静态的应用 单例设计模式

     Java面向对象 Main函数 静态的应用与单例设计模式 知识概要             (1)Main函数的细解 (2)静态的应用,静态变量,静态代码块,静态函数 (3)单例设计模式 1.M ...

  3. java中main函数解析(转载)

    从写java至今,写的最多的可能就是主函数 public static void main(String[] args) {} 但是以前一直都没有问自己,为什么要这么写,因为在c语言中就没有这样子的要 ...

  4. java中main函数解析

    从写java至今,写的最多的可能就是主函数 public static void main(String[] args) {} 但是以前一直都没有问自己,为什么要这么写,因为在c语言中就没有这样子的要 ...

  5. Java面向对象概述和三大特性

    Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心.围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范.继承是类与类之间联系的一种形式.而多态 ...

  6. Java 面向对象概述

    本文部分摘自 On Java 8 面向对象编程 在提及面向对象时,不得不提到另一个概念:抽象.编程的最终目的是为了解决某个问题,问题的复杂度直接取决于抽象的类型和质量.早期的汇编语言通过对底层机器作轻 ...

  7. Java面向对象概述及三大特征(封装,继承和多态)

    一.面向对象思想 Java是面向对象的高级语言,对于Java语言来说,万事万物皆对象! 它的基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计.面向对象程序的最小单元是类,类代表了客观世界 ...

  8. Java面向对象概述

    一.什么是面向对象? 现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类.书桌.计算机.高楼大厦等.人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的 ...

  9. Java之面向对象概述,类,构造方法,static,主方法,对象

    一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响 ...

随机推荐

  1. NAND厂商哭晕:减产也阻止不了跌价

    导读 NAND闪存价格已经连跌了6个季度,这让上游NAND厂商三星.东芝.美光等损失惨重,纷纷削减NAND产能.在群联台北电脑展上,群联公司董事长潘建成也预测NAND闪存价格已经跌破了成本,未来跌幅会 ...

  2. mysql 免安装版后续操作

    在安装好mysql后,软件默认的root用户的密码为空. 1.进入mysql 2.创建数据库 3.创建表格 4.插入数据 5.显示数据库.表信息

  3. 简单的js队列

    简单的js队列 /** * [Queue] * @param {[Int]} size [队列大小] */ function Queue(size) { var list = []; //向队列中添加 ...

  4. cf 500 D. New Year Santa Network

    直接按边分,2个点在边的一边,1个在另一边,组合出来就是这个边对答案的贡献,权值换了就再重新算个数而已. #include <bits/stdc++.h> #define LL long ...

  5. Mysql 存储过程造测试数据

    1.Mysql 存储过程造测试数据 -- 创建一个用户表 CREATE TABLE `sys_user` ( -- `id` CHAR (32) NOT NULL DEFAULT '' COMMENT ...

  6. 实验吧-密码学-这里没有key(VBScript脚本加密)

    打开网页,查看源代码,发现一段乱码,这就是加密后的密文. #@~^TgAAAA=='[6*liLa6++p'aXvfiLaa6i[[avWi[[a*p[[6*!I'[6cp'aXvXILa6fp[:6 ...

  7. Python MySQL 删除表

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  8. Docker Java 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  9. Docker 容器shell

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  10. 个人vim简单配置

    精简.vimrc配置,简约不简单 该配置没有花里胡哨的插件,只是用ctags和cscope然后配合vim提供的基础功能就可以完成常见的代码编辑,浏览,查找等工作. "************ ...