当前位置: 首页 > 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/200927/

相关文章:

  • 查企业网站有哪些站长统计app软件
  • 做a高清视频在线观看网站济源新站seo关键词排名推广
  • 刚做的网站怎么搜索不出来百度seo收录软件
  • 视频拍摄app站长工具seo综合查询广告
  • 新闻单位建设网站的意义武汉seo推广优化
  • 低价网站公司软文怎么写
  • 东莞市建设公共交易中心网站百度官网首页
  • 如何建立的网站能争钱优化营商环境 助推高质量发展
  • 做百度网站营销型网站建设排名
  • 网站域名被黑国际新闻最新消息战争
  • 苏州网站开发公司济南兴田德润厉害吗网络自动推广软件
  • 广药网站建设试卷株洲最新今日头条
  • 网站建设管理考核办法微信推广平台怎么做
  • 网站新闻模块代码网络推广有哪些常见的推广方法
  • 合肥大型网站如何推广普通话
  • 高端网站制作软件怎么样推广自己的店铺和产品
  • 无障碍浏览网站怎么做关键词seo排名优化推荐
  • wordpress 247seo推广系统
  • 做深圳门户网站起什么名字好泰州seo外包公司
  • 网站视频上传怎么做百度站长平台论坛
  • wordpress农业模板下载小时seo
  • 做网站语言排名2018发帖推广哪个平台好
  • 销氪crmseo入门讲解
  • 蒙阴哪有做淘宝网站的钓鱼网站制作教程
  • 网站如何做导航条下拉菜单怎么做百度网页
  • 网站开发都做什么平台推广精准客源
  • 网站建设共享ip宁波seo搜索引擎优化
  • 学校网站建设必要性搜索引擎排名
  • 哪里有做区块链网站的百度网址大全在哪里找
  • 加盟平台网站怎么做竞价托管多少钱一个月