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

网站建设服务合同 付款方式长沙网站设计拓谋网络

网站建设服务合同 付款方式,长沙网站设计拓谋网络,常见网络营销方式有哪些,个人做的网站有什么危险目录 方法带参 1. 构造方法带参 案例场景 思考:以上代码存在什么问题? 2. 方法带参 方法带参语法 案例场景 思考:以上代码存在什么问题? Java SE文章参考:Java SE入门及基础知识合集-CSDN博客 方法带参 1. 构造方法带参 …

目录

方法带参

1. 构造方法带参

案例场景

思考:以上代码存在什么问题?

2. 方法带参

方法带参语法

案例场景

思考:以上代码存在什么问题?

Java SE文章参考:Java SE入门及基础知识合集-CSDN博客


方法带参

1. 构造方法带参

案例场景

现有计算机类定义如下:
public class Computer {
        public String brand ; // 品牌
        public String type ; // 型号
        public double price ; // 价格
}
现要创建 3 个具体的计算机实例,代码如下:
public class ComputerTest {
        public static void main ( String [] args ){
                Computer c1 = new Computer ();
                c1 . brand = " 联想 " ;
                c1 . type = "T430" ;
                c1 . price = 5000 ;
                Computer c2 = new Computer ();
                c2 . brand = " 联想 " ;
                c2 . type = "W530" ;
                c2 . price = 6000 ;
                Computer c3 = new Computer ();
                c3 . brand = " 联想 " ;
                c3 . type = "T450" ;
                c3 . price = 7000 ;
        }
}

思考:以上代码存在什么问题?

        每创建一个对象,都会出现重复为对象的属性赋值,这样造成大量的冗余代码。可以使用带参构造方法来进行优化
构造方法带参语法
访问修饰符 类名 ( 数据类型 1 变量名 1 , 数据类型 2 变量名 2 ,... 数据类型 n 变量名 n ){
}
/**
* 计算机
*/
public class Computer {
        public String brand ; // 品牌
        public String type ; // 型号
        public double price ; // 价格
        //如果一个类中没有定义任何构造方法,那么编译器会自动为这个类添加一个默认的无参构造方法
        //如果一个类中定义了构造方法,那么编译器不会为这个类添加默认的无参构造方法
        //如果在一个类中已经定义了带参数的构造方法,此时还想使用无参构造方法,那么必须将无参构造方法也定义出来
        public Computer (){}
        //此时在类中定义了带参数的构造方法,那么编译器不会为这个类添加默认的无参构造方法
        //构造方法的 ()表示的是参数列表,这里的列表是形式参数        
        public Computer ( String brand , String type , double price ){
        this . brand = brand ;
        this . type = type ;
        this . price = price ;
        }
}
public class ComputerTest {
        public static void main ( String [] args ) {
        Computer c1 = new Computer ();
        c1 . brand = " 联想 " ;
        c1 . type = "T430" ;
        c1 . price = 5000 ;
        //调用带参构造方法创建对象时,必须注意参数列表传递的值要与构造方法定义时的形式列表一一对应
        //传递的参数是实参:也就是形式参数的一个具体实例。
        Computer c4 = new Computer ( " 联想 " , "T430" , 5000 );
        Computer c2 = new Computer ();
        c2 . brand = " 联想 " ;
        c2 . type = "W530" ;
        c2 . price = 6000 ;
        Computer c5 = new Computer ( " 联想 " , "W530" , 6000 );
      
        Computer c3 = new Computer ();
        c3 . brand = " 联想 " ;
        c3 . type = "T450" ;
        c3 . price = 7000 ;
        Computer c6 = new Computer ( " 联想 " , "T450" , 7000 );
        }
}

2. 方法带参

方法带参语法

访问修饰符 返回值类型 方法名 ( 数据类型 1 变量名 1 , 数据类型 2 变量名 2 ,... 数据类型 n 变量名 n ){
        [ return 返回值 ;]
}
// 带参方法调用
对象名 . 方法名 ( 实参 1 , 实参 2 ,... 实参 n );
        return关键字的作用就是给出方法执行的结果,使得方法直接结束

案例场景

现有计算器类定义如下:
public class Calculator {
        public int number1 ;
        public int number2 ;
        public String operator ;
/**
* 访问修饰符 返回值类型 方法名 ( 数据类型 1 变量名 1, 数据类型 2 变量名 2,... 数据类型 n
变量名 n){
* [return 返回值 ;]
* }
*
* return 关键字的作用就是给出方法执行的结果,使得方法直接结束
*/
//calculate 方法执行完成后必须要返回一个 int 类型的值
// 如果一个方法的返回值类型不为 void ,那么在选择结构中,必须为每一种情况都提供一个返回值
        public int calculate (){
                switch ( operator ){
                case "+" : return number1 + number2 ;
                case "-" : return number1 - number2 ;
                case "*" : return number1 * number2 ;
                case "/" : return number1 / number2 ;
                default : return 0 ;
                }
        }
}
某商家共有 30 件啤酒,每件价格 72 元,商家在 3 天内卖完这 30 件啤酒,请问每天卖了多少钱?
public class CalculatorTest {
        public static void main ( String [] args ){
        Calculator c = new Calculator ();
        c . number1 = 30 ;
        c . number2 = 72 ;
        c . operator = "*" ;
        
        int result1 = c . calculate ();
        c . number1 = result1 ;
        c . number2 = 3 ;
        c . operator = "/" ;
        int result2 = c . calculate ();
        System . out . println ( result2 );
        }
}
public class CalculatorTest {
        public static void main ( String [] args ) {
                Scanner sc = new Scanner ( System . in );
                System . out . println ( " 请输入你的姓名: " );
                String name = sc . next ();
                
                Calculator c = new Calculator (); // 构建一个计算器
                c . number1 = 30 ;
                c . number2 = 72 ;
                c . operator = "*" ;
                int total = c . calculate (); // 计算总价
                c . number1 = total ;
                c . number2 = 3 ;
                c . operator = "/" ;
                int avg = c . calculate ();
                System . out . println ( " 每天卖了 " + avg );
                }
}

思考:以上代码存在什么问题?

        依然是为对象的属性重复赋值的问题,可以使用构造方法来解决
public class Calculator {
        public int number1 ;
        public int number2 ;
        public String operator ;
        public Calculator (){}
        public Calculator ( int number1 , int number2 , String operator ){
                this . number1 = number1 ;
                this . number2 = number2 ;
                this . operator = operator ;
}
/**
* 访问修饰符 返回值类型 方法名 ( 数据类型 1 变量名 1, 数据类型 2 变量名 2,... 数据类型 n
变量名 n){
* [return 返回值 ;]
* }
*
* return 关键字的作用就是给出方法执行的结果,使得方法直接结束
*/
//calculate 方法执行完成后必须要返回一个 int 类型的值
// 如果一个方法的返回值类型不为 void ,那么在选择结构中,必须为每一种情况都提供一个返回值
        public int calculate (){
                switch ( operator ){
                case "+" : return number1 + number2 ;
                case "-" : return number1 - number2 ;
                case "*" : return number1 * number2 ;
                case "/" : return number1 / number2 ;
                default : return 0 ;
                }
        }
}
import java . util . Scanner ;
/**
* 某商家共有 30 件啤酒,每件价格 72 元,商家在 3 天内卖完这 30 件啤酒,请问每天卖了多少钱?
*/
public class CalculatorTest {
        public static void main ( String [] args ) {
                Scanner sc = new Scanner ( System . in );
                System . out . println ( " 请输入你的姓名: " );
                String name = sc . next ();
                Calculator c = new Calculator (); // 构建一个计算器
                c . number1 = 30 ;
                c . number2 = 72 ;
                c . operator = "*" ;
                
                int total = c . calculate (); // 计算总价
                c . number1 = total ;
                c . number2 = 3 ;
                c . operator = "/" ;
                int avg = c . calculate ();
                System . out . println ( " 每天卖了 " + avg );
                Calculator c1 = new Calculator ( 30 , 72 , "*" );
                int result = c1 . calculate ();
                Calculator c2 = new Calculator ( result , 3 , "/" );
                int avg1 = c2 . calculate ();
                System . out . println ( " 每天卖了 " + avg1 );
        }
}
当然,这还不够优化,需要优化版评论区留言!

Java SE文章参考:Java SE入门及基础知识合集-CSDN博客

http://www.hkea.cn/news/699949/

相关文章:

  • 做的好的营销型网站有哪些内容外贸网站外链平台
  • 东营网站建设预算价格百度网盘网页版入口官网
  • 网站建设中标公告18款禁用看奶app入口
  • 网站运营人员岗位职责长沙正规seo优化价格
  • cnzz统计代码放在后台网站为什么没显示seo的英文全称是什么
  • 杭州企业网站建设方案广告门
  • 自己免费做网站(二)seo优化公司信
  • 广州外贸b2b网站建设刷钻业务推广网站
  • 做企业网站用什么怎样宣传自己的品牌
  • 濮阳做网站的公司我的百度账号
  • 美食网站开发如何做好网络营销工作
  • 网站建设案例资料今天的新闻内容
  • 台州专业网站建设方案seo软文代写
  • 个人网站 百度推广全球搜索大全
  • 网站消息推送5118素材网站
  • 天津 响应式网站设计企业网站模板免费
  • 网站用花生壳nas做存储百度seo发包工具
  • wordpress cache深圳纯手工seo
  • 怎样找到正规代加工网站百度地图3d实景地图
  • 潍坊网站建设公司网站搭建免费
  • 惠州做网站好的公司下载百度语音导航地图安装
  • 春节网站怎么做小说排行榜百度搜索风云榜
  • 商城服务是什么软件seo是指什么岗位
  • 无锡网站建设有限公司网站快速收录的方法
  • 网站建设通报推广网站多少钱
  • 网络推广公司成都seo排名优化教程
  • 一台手机登录微信网页版西安优化外
  • 如何做旅游攻略网站长沙seo优化推荐
  • 长春火车站电话咨询电话快排seo
  • 龙城建设网站公司网站内容优化方法