zoukankan      html  css  js  c++  java
  • Java基础学习笔记(三)

    18.2.1无参无返回值的方法

         18.2.1.1定义方法的语法格式

             public static void 方法名称(){

                    方法体

             }

          方法调用

             类名.方法名称();

             注意:在Java中,同一个类中的方法则可以直接进行调用,也就是方法名称();

            

            

    18.2.2.无参带返回值的方法

     18.2.2.1定义方法的语法格式

             public static 返回值类型 方法名称(){

                    方法体

             }

             注意:1.当方法只有一个结果时,则可以将方法编写为带有返回值的

                    2.返回值类型可以是目前所学的9种数据类型之一

                    3.如果方法有返回值则必须在方法体中使用return将值返回,返回到方法的调用处,因此必须在调用处进行处理

                           第一种:使用变量接收,然后输出变量中的值

                                 

     int n = add();
    
     System.out.println(n);
    

      

           第二种:使用return返回

             

    public static int add(){
    
                    return 1 + 2;
    
    
    
             }

    练习1:要求使用方法实现两个数的计算器的功能(加、减、乘、除、取余)

    import java.util.Scanner;
    
    class Count01 {
    //    要求使用方法实现,计算器的功能(加、减、乘、除、取余)
         public static double conut() {
             
             double sum ;
             double difference ;
             double  acculamate ;
             double quotient;
             double remainder;
             System.out.println("请输入两个数:");
             Scanner sc = new Scanner(System.in);
             double a = sc.nextDouble();
             
             double b = sc.nextDouble() ;
             
             System.out.println("请选择运算形式");
             String x = sc.next();
             double result = 0 ;
             
             if (x.equals("*")) {
                 result = a * b;
                 
                
            }else if (x.equals("/")) {
                result = a/b;
                
            }else if (x.equals("+")) {
                result = a +b;
            }else if (x.equals("-")) {
                result = a -b;
            }else if (x.equals("%")) {
                result = a%b;
                
            }
             System.out.println("结果为" + result);
             
            return 0;     
             
            
            
             }
              
            
            
        }
    public class Testcount01 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Count01 count = new Count01();
            Count01.conut();
            
    
        }
    
    }

     18.2.3带参无返回值的方法

    注意:

    1.在Java中,可以将未知数编写为参数
    2.参数可以编写任意多个,但是每个参数都是:数据类型 参数名称,多个参数之间使用英文的逗号分隔
    3.在Java中,未知数称为形式参数,简称形参
    4.形参的值必须在调用方法时实参赋值给形参
    5.如果方法带有参数,则必须保证实参与形成个数一致、类型一致、顺序一致

     18.2.3.1语法格式

    public static void print(int n){  //n也叫做形式参数,简称形参
                for(int i = 1;i <= n;i++){
                    System.out.println(i);
                }
            }

    18.2.3.2调用

    print(5);  //5是具体的值,因此称为实际参数,简称实参

    break、continue、return语句区别:
    return表示返回,在方法中使用,当遇到return语句则就返回到方法的调用处
    注意:方法是无返回值的特殊形式,可以在方法体中编写return; 终止当前整个方法
    break表示中断,在循环中、switch case中使用,当遇到break则结束当前整个循环或switch case
    continue表示继续,在循环中使用,当遇到continue语句则结束本次循环,则继续执行下一次循环

     

    19.  方法的重载

    在同一个类中,必须方法名称相同,参数列表必须不同(类型不同、个数不同、顺序不同),与返回值类型无关
    注意:在调用时,根据参数自动找相匹配的执行

    计算两个数中找最大数,使用重载完成

    当做相同事情时,但是数据类型不同


    //定义(创建)方法
    public static 返回值类型 方法名称([数据类型 参数名称,数据类型 参数名称]){
    方法体
    }

    //调用
    类名.方法名称([实参列表]);
    方法名称([实参列表]);

    20.  面向对象


    20.1.概念:
    面向对象:采用虚拟世界"模拟现实"生活,必须保证模拟一致
    面向过程:一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。
    :对同一类事物的抽象描述
    如:电脑类、水杯类、学生类.....
    对象:万物皆对象,也就是具体的实例
    如:张三、我的水杯.......
    类与对象关系:
    抽象与具体的关系

    描述对象的特征,称为属性
    对象所做的事情,称为行为或方法

    张三对象:
    属性:名字、性别、年龄、籍贯.........
    方法:搬砖、爱说话、学习、休息.......

    李四对象:
    属性:姓名、年龄、身高、性别、现住址.......
    方法:说、学习、吃......

    王五对象:
    属性:名字、现住址、性别、年龄、婚否........
    方法:学习、休息、吃......

    将多个(3个)对象中找到共有的属性和方法组合在一起,形成一个类
    学生类:
    属性:名字、性别、年龄
    方法:学习


    类图

    20.3.编写类的操作步骤:
    第一步:编写类
    语法格式:
    [修饰符] class 类名{

    }
    第二步:编写属性
    注意:1.属性编写在类中的
    2.当属性没有赋值时,则是有默认值的,数据类型不同默认值不同
    整数类型默认值为0
    浮点类型默认值为0.0
    字符类型默认值为u0000
    布尔类型默认值为false
    在java中,所有的引用数据类型默认值为null
    语法格式:
    [修饰符] 数据类型 属性名称 [= 值];
    如:String name;
    第三步:编写方法
    注意:1.方法编写在类中
    2.在面向对象中,方法的修饰符暂时编写为public
    语法格式:
    [修饰符] 返回值类型 方法名称([参数列表]){
    方法体
    }

    20.4.编写测试类:
    也就是有main方法的类

    20.5.创建对象
    语法格式:
    类名 引用名称 = new 类名(); //new表示创建一个对象,并在堆内存中开辟一块空间

    注意:在java中,一个类可以创建多个对象

    20.6.如何使用引用名称访问属性?
    引用名称.属性名称

    20.7.如何使用引用名称访问方法?
    引用名称.方法名称();

    20.8.对象与引用区别
    对象是具体的一个实例,如:new Student(); new表示创建一个对象,并在堆内存中开辟一块空间
    引用名称是存放的对象的地址

    练习1:编写一个电脑类,属性:颜色、品牌、价格,方法:显示电脑信息
    编写测试类,创建电脑对象,并输出电脑的信息

    class Computer {
        //练习1:编写一个电脑类,属性:颜色、品牌、价格,方法:显示电脑信息
        //    编写测试类,创建电脑对象,并输出电脑的信息
        String color;
        String brand;
        int prize;
        public void show(String color,String brand, int prize) {
            System.out.println(color);
            System.out.println(brand);
            System.out.println(prize);
        }
    }
     
    
    //测试
    public class Test01 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Computer computer = new Computer();
            computer.show("black","Dell",5999);
            
        }
    
    }

    20.9.成员变量和局部变量区别
    1.声明位置不同:
    成员变量也就是属性,在类中声明的
    局部变量,在方法中声明或代码块中声明
    2.初始值不同
    成员变量如果没有赋值则是有默认值的,数据类型不同则默认值不同
    局部变量是没有默认值,也就是说必须先声明,再赋值,最后才使用
    3.在一个类中,局部变量可以与成员变量同名,但是局部变量优先,如果非要访问成员变量的属性,则必须使用this.color
    this代表当前这个对象,也就是当前谁调用这个方法则这个对象就是谁

    20.10.对属性赋值
    第一种方法:使用引用名称.属性名
    dog.name = "旺财";
    第二种方法完成属性赋值:使用构造方法
    21.构造方法:
    21.1作用:

    完成对属性赋值
    21.2定义:

    构造方法是一个特殊的方法,构造方法的名字必须与类名一致,构造方法必须没有返回值类型,也就是不编写void
    如:
    class Dog{
    //构造方法
    public Dog(){

    }
    }
    21.3构造方法如何调用?
    ----当创建对象的同时执行相匹配的构造方法
    21.4构造方法的重载:
    在同一个类中,构造方法的名字必须相同,参数列表必须不同
    注意:在调用时自动根据参数找相匹配的执行

  • 相关阅读:
    敏捷开发 之 计划、测试 与 重构
    敏捷开发 之 理论概述篇
    第二十章 排查和调试Web程序 之 设计异常处理策略
    第十九章 排查和调试Web程序 之 防止和排查运行时问题
    第十八章 提升用户体验 之 减少带宽占用
    第十七章 提升用户体验 之 使用MVC扩展功能控制程序行为
    第十六章 提升用户体验 之 设计实现routes
    第十五章 提升用户体验 之 设计实现MVC controllers 和 actions
    第十四章 提升用户体验 之 设计实现国际化和本地化
    Nginx系统学习笔记(3)同一端口下设置Alias(虚拟目录)
  • 原文地址:https://www.cnblogs.com/kosinggit/p/8644732.html
Copyright © 2011-2022 走看看