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

怎么样签约设计网站百度优化排名

怎么样签约设计网站,百度优化排名,做网站哪些公司好,seo优化策略主要包括哪些方面一、方法 1.定义 方法:是一种语法结构,它可以把一段代码封装成一个功能,以便重复使用。 方法的完整格式: package cn.chang.define;public class MethodDemo1 {public static void main(String[] args) {// 目标:掌…

一、方法

1.定义

方法:是一种语法结构,它可以把一段代码封装成一个功能,以便重复使用。

方法的完整格式:

package cn.chang.define;public class MethodDemo1 {    public static void main(String[] args) {        // 目标:掌握定义方法的完整定义,搞清楚使用方法的好处        // 需求:假如现在很多程序员都要进行2个整数的求和            int a1 = 10;            int b1 = 20;            int rs = add(a1, b1);            System.out.println(rs);            int rs2 = add(20, 30);            System.out.println(rs2);        }    public static int add( int a, int b ) {        int c = a + b;        return c;    }}

定义方法,其实是定义了一个类方法,类方法写在main函数的上面和下面都是可以的。如果是C语言的话,写在下面,那么在main函数的上面就要声明。

修饰符:暂时都使用public static进行修饰

返回值类型:方法声明了具体的返回值类型,内部必须使用return返回对应类型的数据。

方法名:add

形参列表:形参列表可以有多个,甚至可以没有,如果多个形参,多个形参必须用逗号隔开,且不能给初始化值。

方法体代码:int c = a + b

return 返回值

使用方法的好处:提高了代码的复用性,提高了代码的开发效率。让程序的逻辑更清晰。

2.执行

方法要执行必须怎么办?

必须进行调用

调用格式:方法名称(...)。

方法必须先创建才能使用,该过程成为方法定义。

方法建立后并不是直接运行的,需要手动使用后,才执行,该过程成为方法调用。

方法必须先定义,后调用,否则程序将报错。

3.方法的其他形式

方法的其他形式:

方法定义时:需要按照方法解决的实际业务需求,来设计合理的方法形式解决问题。

1)方法是否需要接收数据处理;

2)方法是否需要返回数据;

package cn.chang.define;public class MethodDemo2 {    public static void main(String[] args) {        // 目标:掌握按照方法解决的实际业务需求不同,设计出合理的方法形式来解决问题        // 需求:打印3行Hello World        printHelloWorld(3);        System.out.println("------")        printHelloWorld(5);    }    /**     * 有参数:无返回值的方法     */    public static void printHelloWorld(int n) {        for (int i = 1; i <= n; i++) {            System.out.println("Hello World");        }    }}

注意事项:

如果方法不需要返回数据,返回值类型必须声明成void (无返回值声明),此时方法内部不可以使用return返回数据。

方法如果不需要接收数据,则不需要定义形参,且调用方法也不可以传数据给方法了。

当一个方法没有参数,且没有返回值类型(void)声明的方法,称为无参数、无返回值的方法,依次类推。

方法使用时的常见问题:

package cn.chang.define;public class MethodProbDemo3 {    public static void printHelloWorld() {        for (int i = 1; i <= 3; i++) {            System.out.println("Hello World");        }    }    public static void main(String[] args) {        // 调用方法        printHelloWorld();        int rs = sum(10, 20);        System.out.println(rs);        System.out.println(sum(40, 60));        sum(100, 200);        printHelloWorld();    }    public static int sum(int a, int b) {        int c = a + b;        return c;    }}

设计方法的技巧,主要关注三方面

1)方法是否需要接收数据进行处理?

2)方法是否需要返回数据?

3)方法要处理的业务(编程能力)?

二、方法在计算机中的执行原理

方法被调用的时候,是进入到栈内存中运行。方法的运行区域是在栈内存中。

栈的特点是:先进后出。push pop。

保证一个方法调用完另一个方法后,可以回来。

方法为什么要在栈中运行自己。

sum 执行到return语句,会得到返回值30,传给rs,然后sum方法就从栈中被清理掉。

然后再执行main方法,打印rs的结果,main方法执行完成,main也会从栈中被清理掉。

程序执行完成之后,栈里的方法都会被清理。

Java的参数传递机制

java的参数传递机制都是:值传递

实参:在方法内部定义的变量。

形参:定义方法时,所声明的参数。

基本类型的参数传递

所谓值传递:指的是传输实参给方法的形参的时候,传输的是实参变量中存储的值的副本。

就是将实参变量的值拷贝一份出来,传递给形参。

​​​​​

package cn.chang.parameter;public class MethodDemo1 {    public static void main(String[] args) {        // 目标:理解方法的参数传递机制:值传递        int a = 10;        change(a);        System.out.println("main " + a);  // 10    }    public static void change(int a) {        System.out.println("change1 " + a);   // 10        a = 20;        System.out.println("change2 " + a);   // 20    }}

change函数退出之后:

引用类型的参数传递:

数组:传递的是堆内存地址,相当于浅拷贝,那应该会互相影响的。

也是传递的地址,不过是地址的副本,也就是拷贝了一份给形参。

这是一节比较特殊的关键课程,必须要懂。

package cn.chang.parameter;public class MethodDemo2 {    public static void main(String[] args) {        // 目标:引用类型的参数传递        int[] arr = new int[]{10, 20,30};        change(arr);        System.out.println("main方法:" + arr[1]);    }     public static void change(int[] arr) {        System.out.println("方法内1:" + arr[1]);        arr[1] = 222;        System.out.println("方法内2:" + arr[1]);    }}

三、方法重载

一个类中,出现多个方法的名称相同,但是它们的形参列表不同的,那么这个方法就叫方法重载。

例:

package cn.chang.overload;public class MethodOverloadDemo1 {    public static void main(String[] args) {        //目标:认识方法重载,掌握应用场景        test();        test(100);    }     public static void test() {        System.out.println("test1");    }    public static void test(int a) {        System.out.println("test2");    }}

方法重载的注意事项:

一个类中,只要一些方法的名称相同,形参列表不同。那么它们就是方法重载,其他的都不管。(如修饰符、返回值类型是否一样都无所谓。)

形参列表不同指的是:形参、个数、顺序不同,不关心形参的名称。

package cn.chang.overload;public class MethodOverloadDemo1 {    public static void main(String[] args) {        //目标:认识方法重载,掌握应用场景        test();        test(100);    }     public static void test() {        System.out.println("test1");    }     public static void test(int a) {        System.out.println("test2");    }     void test(double a) {        System.out.println("test3");    }     int test(int a, double b) {        System.out.println("test4");        return a;    }     int test(double b, int a) {        System.out.println("test5");        return a;    }}

return、break、continue三者概念的再理解

return;跳出并立即结束所在方法的执行。

break;跳出并结束当前所在循环的执行

continue;结束当前所在循环的当次继续,进入下一发执行,

四、案例

案例1:买飞机票:

用户购买机票的时候,机票原价会按照淡季、旺季,头等舱还是经济舱的情况进行相应的优惠,优惠方案如下:5-10月为旺季,头等舱9折,经济舱8.5折;11月到来年4月为淡季,头等舱7折,经济舱6.5折,请开发程序计算出用户当前机票的优惠价。

分析:

1)方法是否需要接受数据?需要接收机票价、当前月份和舱位类型;

2)方法是否需要返回数据?需要返回计算出机票优惠价;

3)方法内部:先使用if判断月份是旺季还是淡季,然后使用switch分支判断是头等舱还是经济舱。

package cn.chang;public class Case1 {    public static void main(String[] args) {        // 目标:买飞机票的案例        double price = calculate(1000, 8,"经济舱");        System.out.println("优惠价是:" + price);    }     public static double calculate(double price, int month, String type) {        // 判断当前月份是淡季还是旺季        if (month >= 5 && month <= 10) {            // 旺季            switch(type) {                case "头等舱":                    price *= 0.9;                    break;                case "经济舱":                    price *= 0.85;                    break;            }        } else {            // 淡季            switch(type) {                case "头等舱":                    price *= 0.7;                    break;                case "经济舱":                    price *= 0.65;                    break;            }        }        return price;    }}

案例2:开发验证码:

开发一个程序,可以生成指定位数的验证码,每位可以是数字、大小写字母。

分析:

1)分析方法是否需要接收数据?

需要接收一个整数,控制生成验证码的位数,也就是验证码的长度。

2)方法是否需要返回数据?

需要返回生成的验证码。

3)方法内部的业务:

使用for循环依次生成每位随机字符,并使用一个String类的变量把每个字符连接起来,最后返回该变量即可。

package cn.chang;import java.util.Random;public class Case2 {    public static void main(String[] args) {        // 目标:完成随机验证码        String rs = createCode(5);        System.out.println(rs);    }    public static String createCode(int n) {        Random random = new Random();        String code = "";          ​​​​​        for (int i = 1; i <= n; i++) {       //为每个位置生成一个随机字符,可能是数字、大小写字母//思路:随机一个0/1/2之间的数字出来,0 代表随机生成一个数字、1/2代表随机大写字母、小写字母            int type = random.nextInt(3);switch (type) {                case 0:                    // 随机数字字符                    code += random.nextInt(10);                    break;                case 1:                    // 随机大写字母                    code += (char) ('A' + random.nextInt(26));                    break;                case 2:                    // 随机小写字母                    code += (char) ('a' + random.nextInt(26));                    break;            }        }        return code;    }}       

案例3:评委打分:

在唱歌比赛中,可能有多名评委要给选手打分,分数[1-100]之间的整数。选手最后得分为:去掉最高分、最低分、剩余分数的平均分,请编写程序能够录入多名评委的分数,并算出选手的最终得分。

分析:

1)方法是否需要接收数据进行处理?需要接收评委的人数。

2)方法是否需要返回数据?需要返回计算出选手最终得分。

3)方法内部的业务:定义动态数组,录入评委的分数存到数组中,接着我们需要遍历数组中的分数,计算出总分,并找出最高分和最低分,最后按照这些数据算出选手最终得分并返回即可

package cn.chang;import java.util.Scanner;public class Case3 {    public static void main(String[] args) {        // 案例:评委打分        double rs = getAverageScore(5);        System.out.println("该选手的平均分是: " + rs);    }     public static double getAverageScore(int number) {        // 使用数组来存储评委分数        int[] scores = new int[number];         // 评委打分,存到数组中        Scanner sc = new Scanner(System.in);        System.out.println("开始评委打分:");        for (int i = 1; i <= number; i++) {            System.out.print(i + "号评委的评分: ");            int score = sc.nextInt();            scores[i - 1] = score;        }         //求和        int sum = 0;        int max_value = scores[0];        int min_value = scores[0];        for (int i = 0; i < scores.length; i++) {            int score = scores[i];             sum += score;             if (score > max_value) {                max_value = score;            }             if (score < min_value) {                min_value = score;            }        }         // 使用sum值减去最高分,减去最低分,然后再求平均        double average = 1.0 * (sum - max_value - min_value) / (number - 2);        return average;    }}

http://www.mmbaike.com/news/91722.html

相关文章:

  • 网站怎么在成都备案品牌广告和效果广告
  • 调兵山 网站建设关键词整站优化公司
  • 有哪些网站可以做简历推广app的单子都在哪里接的
  • 平凉市住房和城乡建设厅网站顺德搜索seo网络推广
  • 做网站策划如何搜索关键词热度
  • 多语言社交网站开发建网站一般多少钱
  • 门户网站开发平台网络营销模式有哪些类型
  • 免费的小程序制作工具成都seo优化公司
  • 网站推广码怎么做app下载量推广
  • 建设政府官方网站的要求百度竞价关键词怎么优化
  • MAKA网站做H5怎么压缩图片实时热搜榜榜单
  • 怎么用linux做网站服务器吗sem是什么基团
  • 中国建设教育协会官方网站查谷歌浏览器下载视频
  • wordpress免登录发布接口成都seo培训
  • 做日租都有哪些网站网络营销专业学什么
  • 义务网站建设微信公众号小程序怎么做
  • 计算机网站开发参考文献北京疫情最新情况
  • 培训教育机构郑州网站seo服务
  • 用javascirpt做的网站网站排名优化培训
  • 重庆市建设工程信息网站百度关键词推广公司哪家好
  • 网站设计影响seo的因素运营推广计划怎么写
  • ui网站设计模板厦门seo计费
  • 营销型网站制作流程如何策划一个营销方案
  • wordpress 复制页面seo搜索引擎优化人才
  • 青岛网站推广怎么做好北京最新疫情最新消息
  • e时代网站制作网站怎么弄
  • 新疆建设网站首页seo站内优化站外优化
  • 制作网站的方法美国新冠疫情最新消息
  • 免费建网站软件下载手机西安疫情最新消息1小时内
  • 网站seo在线诊断分析网络营销的渠道有哪些