8类和对象

1、一些代码

1、1判断一个字符串是否是纯数字

        Scanner input = new Scanner(System.in);
        while (true) {
            System.out.println("请输入一串文字:");
            String str1 = input.next();
            //将字符串转化成字符数组
            char[] chars = str1.toCharArray();
            boolean flag = true;
            for (int i = 0; i < chars.length; i++) {
                int j = (int) chars[i];
                if (j < 48 || j > 57) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                System.out.println("这个字符串是纯数字");
            } else {
                System.out.println("这个字符串可能包含了其他字符");
            }
        }

2、增强遍历for循环

        String[] strings = {"test1", "test2"};
        //增强for循环
        for (String s : strings) {
            System.out.println(s);
        }
        //数组、集合这一类元素,可以使用增强for循环来遍历
        //使用该数组(集合)的一种元素,新声明一个遍历,如上面的string s
        //这个新声明的变量会循环获取该数组(集合)的每一个元素
        //上面的数组为.那"test1","test2"么每一次循环,s就分别为"test1"/”test2"

        //某些场景这种放啊很好用
        //例如需要判断这个元素是否包含某个元素,或者想要打印某个值时
        //如判断上面的数组是否包含”test“
        for (String s : strings) {
            if ("test".equals(s)) {
                System.out.println("包含这个字符");
            }
        }
        System.out.println("=====================================");
        String[][] s1 = {{"test", "test1"}, {"123", "456"}, {"asd", "zxc"}};
        System.out.println(s1.length);
        for (String[] s : s1) {
            for (String[] str : s) {
                System.out.println(str);
            }
        }

1、面向对象与面向过程

面向过程:

​ 优点:

​ 代码直观,相对容易看出代码的走向,我们是根据功能去直接开发

​ 自上而下

​ 缺点:

​ 代码维护与扩展、再利用比较困难

面向对象

​ 优点:

​ 代码相对易维护,相对易扩展,可复用率高

​ 缺点:

​ 代码的封装,与面向过程相比会稍微难看出一点走势

2、面向对象

面向对象的两大核心

静——属性

动——方法

   public class Dog{
       //颜色
       String color;
       //种类
       String kind;
       //姓名
       String name;
       public  void eat(String food){
           System.out.println(color+"色的"+name+"在吃"+food);
       }
   }

3、类图

在这里插入图片描述

属性和方法的前面符号

+代表public

-代表private

属性的:后面跟的是他的类型

方法的:后面跟的是他的返回值

4、关于类和对象

在这里插入图片描述

此时我们可以说Dog是一个类

他是属于所有狗的集合,是一个抽象概念,并不实际存在,因此虽然这个类叫Dog,但是我们看不到具体的一只狗,但可以根据这个类实例化出各种各样具体的狗的对象

比如:被常威打的来福

​ 蜡笔小新的小白

等等,这些都看得见摸得着的具体的存在,都是由Dog这个类实例化出来的对象

  //第一个Dog是我们这个对象的类型
        //相当于我们使用laiFu这个名字声明了一个对象,这个对象是Dog类型的
        //=new Dog();相当于我们给这个laiFu进行了赋值
        //我们通过new这个关键字,将Dog这个类型进行了实例化。
        //此时我们就有一个Dod的对象叫laiFu
        Dog laiFu=new Dog();
        //我们可以通过对象+.去获取这个对象的属性与方法
        //比如,我们使用laiFu这个对象去获取到这个对象的属性dogName
        //并且给这个dogName赋值“来福”
        laiFu.dogName="来福";
        //完成赋值后,我们可以直接使用这个属性
        System.out.println(laiFu.dogName);
        laiFu.color="黄色";
        //laiFu是Dog类,Dog类有一个方法叫吃
        //这个eat方法中也是用到了Dog的2个属性,分别是color和dogName
        laiFu.eat("骨头");

        Dog xiaobai=new Dog();

        xiaobai.color="黑色";
        xiaobai.dogName="小黑";
        xiaobai.eat("狗吃的罐头");

        //第一个Dog是相当于作为这个对象的申明数据类型,是这个类的名字
        //第二个dog是对象的名字,相当于我们声明了一个叫做dog的对象
        //第三个Dog是说明,我们这个dog对象是使用Dog这个类进行实例化的
        Dog dog=new Dog();
        //多态
        //面向对象只是点一般是三大和性:封装 继承 多态
        //这里讲的我们申明了一个叫做object的对象,这个object的类型是Object
        //Object中文意思是“对象”
        //在Java的世界中,所有的类(基本数据类型不属于类)
        //都直接或简介继承了Object
        //所有的对象都是“对象"(Object类)
        Object object=new Dog();

5、关于类的属性与方法

类的属性一般直接写在类中,我们先写一个访问修饰符,再写一个他的数据类型,属性的名字,比如我们有一个类叫做Dog类,他有一个属性叫做name是String类型,访问修饰符为共有的,所有都可以调用

public class Dog{
    public String name;
}

方法

//方法由
//修饰符[public/static/final]返回类型[void-无返回类型,引用数据类型-String/自定义类,基本数据类型-八大基本数据类型]方法名(参数){方法体}
/**
比如我们有一个方法叫做play
我们先写访问修饰符,再写是否为静态static,再写是否为不可改变的final等修饰符
比如这个play方法,就有两个修饰符 一个是共有的 一个是静态的
返回类型,返回类型可以是 无返回-void 可以是引用数据类型 -String/自定义数据类型 基本数据类型-八大基本数据类型
方法名(方法名称都是以小写字母开头,符合驼峰命名法,不可以以数字开头)
之后写一个()括号中可以写参数 我们称新建方法时使用的方法名为形参 在调用传递的参数为实参之后写{}的内容为我们方法的方法体
*/
public static String play(String s1){
    return ”这只狗在玩“+s1;
}
/自定义数据类型 基本数据类型-八大基本数据类型
方法名(方法名称都是以小写字母开头,符合驼峰命名法,不可以以数字开头)
之后写一个()括号中可以写参数 我们称新建方法时使用的方法名为形参 在调用传递的参数为实参之后写{}的内容为我们方法的方法体
*/
public static String play(String s1){
    return ”这只狗在玩“+s1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值