当前位置: 首页 > news >正文

学校文化建设网站网页设计师需要会什么软件

学校文化建设网站,网页设计师需要会什么软件,宣传片制作公司前景,国内营销策划咨询公司目录 1. 方法概念及使用 1.1 什么是方法(method) 1.2 方法定义 1.3 方法调用的执行过程 1.4 实参和形参的关系 1.5 没有返回值的方法 2. 方法重载 2.1 为什么需要方法重载 2.2 方法重载概念 2.3 方法签名 1. 方法概念及使用 1.1 什么是方法(method) 方法就是一…

目录

1. 方法概念及使用

1.1 什么是方法(method)

1.2 方法定义 

1.3 方法调用的执行过程

1.4 实参和形参的关系

1.5 没有返回值的方法 

2. 方法重载 

2.1 为什么需要方法重载

2.2 方法重载概念 

2.3 方法签名 


1. 方法概念及使用

1.1 什么是方法(method)

方法就是一个代码片段. 类似于 C 语言中的 "函数",因为有了对象,才被叫做方法.方法是要依赖对象才能执行的.

1. 是能够模块化的组织代码(当代码规模比较复杂的时候).

2. 做到代码被重复使用, 一份代码可以在多个位置使用.

3. 让代码更好理解更简单.

4. 直接调用现有方法开发, 不必重复造轮子.

比如:现在要开发一款日历,在日历中经常要判断一个年份是否为闰年,则有如下代码:

int year = 1900;
if((0 == year % 4 && 0 != year % 100) || 0 == year % 400){System.out.println(year+"年是闰年");
}else{System.out.println(year+"年不是闰年");
}

1.2 方法定义 

// 方法定义
修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}

示例一:实现一个函数,检测一个年份是否为闰年

public class Method{// 方法定义public static boolean isLeapYear(int year){if((0 == year % 4 && 0 != year % 100) || 0 == year % 400){return true;}else{return false;}}
}

示例二: 实现一个两个整数相加的方法

public class Method{// 方法的定义public static int add(int x, int y) {return x + y;}
}

【注意事项】

1. 修饰符:现阶段直接使用public static 固定搭配

2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void

3. 方法名字:采用小驼峰命名

4. 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开

5. 方法体:方法内部要执行的语句

6. 在java当中,方法必须写在类当中

7. 在java当中,方法不能嵌套定义

8. 在java当中,没有方法声明一说 

1.3 方法调用的执行过程

【方法调用过程】

调用方法--->传递参数--->找到方法地址--->执行被调方法的方法体--->被调方法结束返回--->回到主调方法继续往下执行 

代码示例1 计算两个整数相加

public class Method {public static void main(String[] args) {int a = 10;int b = 20;System.out.println("第一次调用方法之前");int ret = add(a, b);System.out.println("第一次调用方法之后");System.out.println("ret = " + ret);System.out.println("第二次调用方法之前");ret = add(30, 50);System.out.println("第二次调用方法之后");System.out.println("ret = " + ret);}public static int add(int x, int y) {System.out.println("调用方法中 x = " + x + " y = " + y);return x + y;}
}// 执行结果
/*
一次调用方法之前
调用方法中 x = 10 y = 20
第一次调用方法之后
ret = 30
第二次调用方法之前
调用方法中 x = 30 y = 50
第二次调用方法之后
ret = 80*/

1.4 实参和形参的关系

   public static int getSum(int N){ // N是形参return (1+N)*N / 2;}getSum(10); // 10是实参,在方法调用时,形参N用来保存10getSum(100); // 100是实参,在方法调用时,形参N用来保存100

注意:在Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体 

代码示例: 交换两个整型变量 

public class TestMethod {public static void main(String[] args) {int a = 10;int b = 20;swap(a, b);System.out.println("main: a = " + a + " b = " + b);}public static void swap(int x, int y) {int tmp = x;x = y;y = tmp;System.out.println("swap: x = " + x + " y = " + y);}
}
// 运行结果
swap: x = 20 y = 10
main: a = 10 b = 20

可以看到,在swap函数交换之后,形参x和y的值发生了改变,但是main方法中a和b还是交换之前的值,即没有交 换成功。 

【原因分析】

实参a和b是main方法中的两个变量,其空间在main方法的栈(一块特殊的内存空间)中,而形参x和y是swap方法中 的两个变量,x和y的空间在swap方法运行时的栈中,因此:实参a和b 与 形参x和y是两个没有任何关联性的变量, 在swap方法调用时,只是将实参a和b中的值拷贝了一份传递给了形参x和y,因此对形参x和y操作不会对实参a和b 产生任何影响。

注意:对于基础类型来说, 形参相当于实参的拷贝. 即传值调用

int a = 10;
int b = 20;
int x = a;
int y = b;
int tmp = x;
x = y;
y = tmp;

可以看到, 对 x 和 y 的修改, 不影响 a 和 b. 

【解决办法】: 传引用类型参数 (例如数组来解决这个问题)

public class TestMethod {public static void main(String[] args) {int[] arr = {10, 20};swap(arr);System.out.println("arr[0] = " + arr[0] + " arr[1] = " + arr[1]);}public static void swap(int[] arr) {int tmp = arr[0];arr[0] = arr[1];arr[1] = tmp;}
}
// 运行结果
arr[0] = 20 arr[1] = 10

1.5 没有返回值的方法 

方法的返回值是可选的. 有些时候可以没有的,没有时返回值类型必须写成void

代码示例 

class Test {public static void main(String[] args) {int a = 10;int b = 20;print(a, b);}public static void print(int x, int y) {System.out.println("x = " + x + " y = " + y);}
}

2. 方法重载 

2.1 为什么需要方法重载

public class TestMethod {public static void main(String[] args) {int a = 10;int b = 20;int ret = add(a, b);System.out.println("ret = " + ret);double a2 = 10.5;double b2 = 20.5;double ret2 = add(a2, b2);System.out.println("ret2 = " + ret2);}public static int add(int x, int y) {return x + y;}
}// 编译出错
Test.java:13: 错误: 不兼容的类型: 从double转换到int可能会有损失
double ret2 = add(a2, b2);

由于参数类型不匹配, 所以不能直接使用现有的 add 方法.

一种比较简单粗暴的解决方法如下: 

public class TestMethod {public static void main(String[] args) {int a = 10;int b = 20;int ret = addInt(a, b);System.out.println("ret = " + ret);double a2 = 10.5;double b2 = 20.5;double ret2 = addDouble(a2, b2);System.out.println("ret2 = " + ret2);}public static int addInt(int x, int y) {return x + y;}public static double addDouble(double x, double y) {return x + y;}
}

上述代码确实可以解决问题,但不友好的地方是:需要提供许多不同的方法名,而取名字本来就是让人头疼的事 情。那能否将所有的名字都给成 add 呢?

2.2 方法重载概念 

在自然语言中,经常会出现“一词多义”的现象,比如:“好人”。 在自然语言中,一个词语如果有多重含义,那么就说该词语被重载了,具体代表什么含义需要结合具体的场景。 在Java中方法也是可以重载的。

在Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了

public class TestMethod {public static void main(String[] args) {add(1, 2); // 调用add(int, int)add(1.5, 2.5); // 调用add(double, double)add(1.5, 2.5, 3.5); // 调用add(double, double, double)}public static int add(int x, int y) {return x + y;}public static double add(double x, double y) {return x + y;}public static double add(double x, double y, double z) {return x + y + z;}
}

注意:

1. 方法名必须相同

2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)

3. 与返回值类型是否相同无关 

4. 编译器在编译代码时,会对实参类型进行推演,根据推演的结果来确定调用哪个方法

2.3 方法签名 

在同一个作用域中不能定义两个相同名称的标识符。比如:方法中不能定义两个名字一样的变量,那为什么类中就可以定义方法名相同的方法呢?

方法签名即:经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字。

public class TestMethod {public static int add(int x, int y){return x + y;}public static double add(double x, double y){return x + y;}public static void main(String[] args) {add(1,2);add(1.5, 2.5);}
}

上述代码经过编译之后,然后使用JDK自带的javap反汇编工具查看,具体操作:

1. 先对工程进行编译生成.class字节码文件

2. 在控制台中进入到要查看的.class所在的目录

3. 输入:javap -v 字节码文件名字即可 

  

http://www.yayakq.cn/news/842582/

相关文章:

  • 重庆做营销网站建设学做app软件在哪里学
  • 手机网站模板 怎样做广州万户网络怎么样
  • 网站建设青岛检察机关门户网站建设
  • php网站二次开发用什么软件河北网站建设企业
  • 程序员 修电脑 做网站合肥推广优化公司
  • 网站制作费用一览表做产品推广哪个网站好
  • 智慧团建官方网站登录小企业网站建设收费
  • 天津网站推广公司哪家好网站子站怎么建设
  • 做娃衣的布料去哪个网站WordPress插件免费下载
  • 临安网站设计中国的wordpress
  • 温州建网站利尔化学股票股吧
  • 织梦网站模板源码php设计公司logo大概需要多少钱
  • 包头教育云平台网站建设wordpress客户端有什么用
  • 绍兴做网站的公司长春网站建设新格
  • 做个淘宝客网站怎么做的重庆建设工程信息网址
  • 网站开发大作业报告台州cms模板建站
  • 如何撤销网站备案网站后台支持的字体
  • 房产查询系统wordpress 搜索引擎优化
  • 阳江市网站备案幕布wordpress文章价格
  • 优购物官方网站手机哪里有网络课程平台网站_就是帮老师建设一个教学的网站
  • 济宁网站建设优惠wordpress导航菜单加图片
  • 怎样用h5做网站做网站难度
  • 本地服务器怎么做网站jsp网站开发详解pdf
  • 教人怎么做网页的网站公众号平台入口
  • 中国网站设计模板深圳市建设管理中心
  • 营销型网站设计难不难深圳装修公司前十强
  • 网站开发亿玛酷出名5wordpress 导出word
  • jsp网站开发实现增删改查wordpress 左侧边栏
  • 做网站有一个火箭回顶部哈尔滨网页设计模板网站
  • 怎么做打码网站重庆交通网站建设