zoukankan      html  css  js  c++  java
  • Java学习总结3

    学习总结
    什么是类
    类:是一组相关属性和行为的集合。可以看成是一 类事物的模板,使用事物的属性特征和行为特征来描述该类事物。现实中,描述-类事物:
    属性:就是该事物的状态信息。
    行为:就是该事物能够做什么。
    举例:小猫。
    属性:名字、体重、年龄、颜色。
    行为:走、跑、叫。

    什么是对象
    对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友) ,必然具备该类事物的属性和行为。现实中,-类事物的一个实例: - -只小猫。
    举例: - -只小猫。

    类与对象的关系:
    1、类是对一类事物的描述,是抽象的。
    2、对象是类事物的实例,是具体的。
    3、类是对象的模板,对象是类的实体。

    定义:
    定义类:就是定义类的成员,包括成员变量和成员方法。
    成员变量:和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。
    成员方法:和以前定义方法几乎是一 样的。只不过把static去掉,static的作用在面向对象后面课程中再详细讲解。

    1.导包也就是指出需要使用的类,在什么位置。
    import 包名称类名称;
    对于和当前类属于同一个包的情况,可以省略导包语句不写。
    2.创建,格式:
    类名称 对象名= new 类名称();
    例如:Student stu = new Student( );
    3.使用,分为两种情况:
    使用成员变量:对象名.成员变量名
    使用成员方法:对象名.成员方法名(参数)

    注意事项:
    如果成员变量没有进行赋值,那么将会有一一个默认值, 规则和数组-样。

    构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
    格式:
    public 类名称(参数类型参数名称) {
    方法体
    }
    注意事项:
    1.构造方法的名称必须和所在的类名称完全样,就连大小写也要一-样
    2.构造方法不要写返回值类型,连void都不写
    3.构造方法不能return一个具体的返回值
    4.如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法, 没有参数、方法体什么事情都不做。
    public Student() {}
    5.一旦编写了至少一一个构造方法,那么编译器将不再赠送。
    'static'
    如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类。多个对象共享同一份数据。
    一旦使用static修饰成员方法, 那么这就成为了静态方法。静态方法不属于对象,而属于类的。如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。如果有了static关键字,那么不需要创建对象,直接就能通过类名称来使用它。无论是成员变量,还是成员方法。如果有了static, 都推荐使用类名称进行调用。
    静态变量:类名称.静态变量
    静态方法:类名称.静态方法()
    静态方法当中不能使用this

    一、实验目的

    (1) 掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
    (2)理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
    (3)理解static修饰付对类、类成员变量及类方法的影响。
    二、实验内容
    1.写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color, width 和height都是double型的,而color 则是String 类型的。要求该类具有:
    (1)使用构造函数完成各属性的初始赋值
    (2)使用gt.()和set...()的形式完成属性的访问及修改
    (3)提供计算面积的getArea()方法和计算周长的getLength()方法

    2.银行的账户记录 Account有账户的唯一-性标识 (11 个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一一个账户时,银行方面提供-一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。

    package pta.two;
    
    public class Rectangle {
        private double width;
        private double height;
        private String color;
    
        public Rectangle() {
        }
    
        public Rectangle(double width, double height, String color) {
            this.width = width;
            this.height = height;
            this.color = color;
        }
    
        public double getWidth() {
            return width;
        }
    
        public void setWidth(double width) {
            this.width = width;
        }
    
        public double getHeight() {
            return height;
        }
    
        public void setHeight(double height) {
            this.height = height;
        }
    
        public String getColor() {
            return color;
        }
    
        public void setColor(String color) {
            this.color = color;
        }
    }
    

    定义一个构造方法和Rectangle类

    package pta.two;
    import java.util.Random;
    
    public class testRectangleS {
        public static void main(String[] args) {
            Random s=new Random();
    
            double randomwidth=s.nextDouble();
            System.out.println("随机高:"+randomwidth);
                double randomheigth=s.nextDouble();
            System.out.println("随机宽:"+randomheigth);
            System.out.println("面积="+getArea(randomheigth,randomwidth));
    
            System.out.println("周长="+getLength(randomheigth,randomwidth));
    
        }
    
        public static double getArea(double a,double b) {
    double area=a*b;
    return area;
    
        }
        public static double getLength(double c,double d){
            double length=2*c+2*d;
            return length;
        }
    

    在这里我用的是Random类,也即是电脑随机给的数值,并没有自己赋值;
    运行结果:

    package pta.two;
    
    public class Bank {
        private String num;//账号标识
        private double money;//存款取款额度
        private int password;//密码
    
    
        private  String name;//姓名
        private String day;//开户日期
        private double balance;//余额
    
        public Bank() {
        }
    
        public Bank(String acount, double money, int password, String name, String day, double balance) {
            this.num = acount;
            this.money = money;
            this.password = password;
            this.name = name;
            this.day = day;
            this.balance = balance;
        }
    
        public String getAcount() {
            return num;
        }
    
        public void setAcount(String acount) {
            this.num = acount;
        }
    
        public double getMoney() {
            return money;
        }
    
        public void setMoney(double money) {
            this.money = money;
        }
    
        public double getPassword() {
            return password;
        }
    
        public void setPassword(int password) {
            this.password = password;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getDay() {
            return day;
        }
    
        public void setDay(String day) {
            this.day = day;
        }
    
        public double getBalance() {
            return balance;
        }
    
        public void setBalance(double balance) {
            this.balance = balance;
        }
    }
    
    package pta.two;
    
    import java.util.Scanner;
    
    public class testBank {
        public static void main(String[] args) {
    
    
            Scanner name = new Scanner(System.in);
            String df = name.next();
            System.out.println("name:" + df);
    
            Scanner sc = new Scanner(System.in);
            int x = sc.nextInt();
    
            System.out.println("money:" +revisemoney(x));
    
            System.out.println("输入原密码:");
            Scanner m = new Scanner(System.in);
            int w = m.nextInt();
    
            System.out.println("请输入新密码:");
            Scanner mi = new Scanner(System.in);
            int ma = mi.nextInt();
    
            System.out.println("请确定新密码:");
            Scanner password = new Scanner(System.in);
            int pw = password.nextInt();
            int i=0;
            if ((w == 123456)&&(ma==pw)) {
                System.out.println("已修改密码为:" + resivepassword(w,ma));
                w = pw;
                i=i+1;
            }
            else{
                System.out.println("密码不对");
            }
        }
     private static int revisemoney(int a) {
            int sum=0;
            sum=sum+a;
            return a;
    
        }
    
        private static int resivepassword(int p, int q)
        {
            p=q;
            return p;
        }
    
    
    }
    
    
    

    本题
    初步运行结果:存款,修改密码。

    进一步代码:

    package pta.two;
    
            import java.util.Scanner;
    
    public class testBank {
        public static void main(String[] args) {
            String[] array = new String[]{"430321ha123"};
            System.out.println("输入你的标识:");
            Scanner num = new Scanner(System.in);
            String ac = num.next();
            if (ac.equals("430321ha123")) {
                System.out.println("输入你的姓名:");
                Scanner name = new Scanner(System.in);
                String df = name.next();
                if (df.equals("黄安") || df.equals("huangan")) {
                    System.out.println("name:" + "  " + df + "  " + ac);
    
                    System.out.print("存款:");
                    Scanner sc = new Scanner(System.in);
                    int money = sc.nextInt();
                    System.out.println("余额:" + revisemoney(money));
    
                    System.out.print("取款:");
                    Scanner e = new Scanner(System.in);
                    int f = e.nextInt();
                    if (f <= money)
                        System.out.println("余额:" + plasemoney(f, money));
                    else {
                        System.out.println("对不起!你的余额不足");
                    }
    
                    System.out.println("输入原密码:");
                    Scanner m = new Scanner(System.in);
                    int w = m.nextInt();
                    if(w==123456)
                    {
                        System.out.println("请输入新密码:");
                        Scanner mi = new Scanner(System.in);
                        int ma = mi.nextInt();
    
                        System.out.println("请确定新密码:");
                        Scanner password = new Scanner(System.in);
                        int pw = password.nextInt();
                        int i = 0;
                        if (ma == pw) {
                            System.out.println("已修改密码为:" + resivepassword(w, ma));
                            w = pw;
                            i = i + 1;
                        }
                        else{
                            System.out.println("新密码不准确!");System.exit(0);
                        }
                    }
                    else{
                        System.out.println("原密码不对");System.exit(0);
                    }
                    System.out.println("今日账户变动时间:");
                    Scanner day = new Scanner(System.in);
                    String rq = day.next();
                    System.out.println("账户变动日期:" + rq);
                } else {
                    System.out.println("姓名不准确!");
                }
            }
    
    
            else{
                System.out.println("标识不正确!");
            }
        }
    
    
    
        private static int revisemoney(int a) {
            int sum=0;
            sum=sum+a;
            return a;
        }
    
    
        private static int resivepassword(int p, int q)
        {
            p=q;
            return p;
        }
    
        private static int plasemoney(int b,int money){
            return money-b;
        }
    }
    
    
    
    

    最终运行结果(算法和变量都有):





  • 相关阅读:
    hadoop编程问题
    poj2760:数字三角形
    poj1201:Intervals
    差分约束
    poj1033:Defragment
    poj1089:Intervals
    poj2251:Dungeon Master
    天天向上的力量 III
    整数逆位运算
    星号三角形 I
  • 原文地址:https://www.cnblogs.com/94ha-xc/p/11558969.html
Copyright © 2011-2022 走看看