java基础3(面向对象、封装、地址相不相等和正则表达式实例代码)

面向对象

面向对象的编程:

1、面向对象的思想来源于生活

2、定义一个类,就是定义一个类对象的模版

3、定义一个类,就是定义了一个新的数据类型

4、面向对象的三大特征:

封装

构造函数:与类同名,无返回值,new后边不是类是构造函数的名字,如果没有自定义构造函数,系统生成无参数的构造函数

Java中的变量有两种(1、定义在类中成员变量2、定量在函数中的局部变量)

如果自定义有参数的构造函数,系统将不再自动创建无参数的构造函数

在实际开发,只要定义有参数的构造函数,就必须写五参数的构造函数

this是指当前实例,P1,P2......

this()可以用来调用对应参数的构造函数

java中的局部变量使用前必须初始化

java中成员变量,不用初始化条件,系统自动赋予默认值

一般都在创建实例赋值

attributr(属性)        method(方法)        function(函数)

set和get方法,可以给私有的成员变量只有加上set和get方法后,

public        void        set Namel(string       name){        对象才拥有属性

        this.name        =        name;

}

public        string        getName(){

        return        this.name;

}

2、继承

3、多态

面向过程和面向对象编程的区别?

面向过程首先考虑是怎么做,而面向对象首先考虑是谁做的,然后在考虑怎么做

形象比喻:面向过程就是打工者的思维,面向对象是老板的思维,面向对象更适合做大项目

栈(stack)        堆(heap)        代码区(eat()  sleep())        静态存储器(静态变量  static)

地址相不相等

地址比较:Java中==比较的是地址

if(name0==name1){

        System.out.println(“name0和name1的地址相等”);

}else{

        System.out.println("name0和name1的地址不相等");

}

内容比较:java比较字符串内容用equals函数

if(name0.equals(name1)){

System.out.println(“name0和name1的地址相等”);

}else{

        System.out.println("name0和name1的地址不相等");

}

Java针对 String  name2="haoren";这种最常用的字符串的创建形式进行了优化如果内容相同,只开辟一次存储空间存一次

if(name2==name3){

System.out.println(“name0和name1的地址相等”);

}else{

        System.out.println("name0和name1的地址不相等");

}

String的常用函数
        String infor = "我是好人!";
        char cc = infor.charAt(2);
        System.out.println(cc);

\w        单词字符:[a-zA-Z_0-9]        \d        数字:[0-9]

[abc]要么选a,要么选b,要么选c,必须选一个        a、b或c(简单数)

x?          如果有问号,只有一次或一次没有

x*           如果是星号,是零次或多次

x+           如果是加号,只有一次或多次

x{n}        如果是{n},恰巧n次

正则表达式实例代码

验证邮箱合法性:

String email = "haoren123@163.com";
        if(email.matches("\\w+[@]\\w+[.]\\w+")){
            System.out.println("合法");
        }else{
            System.out.println("不合法");
        }

  验证电话号码的合法性:

String tel = "18584825020";
        if(tel.matches("[1]\\d{10}")){
            System.out.println("合法");
        }else{
            System.out.println("不合法");
        }

        验证用6-18字母(只能小写或者数字)

String username = "haoren123";
        if(tel.matches("^[a-z0-9]{6,18}$")){
            System.out.println("合法");
        }else{
            System.out.println("不合法");
        }

在Window中/和\都可以做路径的分隔符,但是Linux操作系统中只能/,推荐大家以后写路径使用/

lastlndexof(找到最后一次出现的)

Java中直接使用string进行反复拼接字符串中效率比较低

去空格:只能去掉两边和全空格,不能去掉字符中间的空格

replace(替换)        script(脚本)        Query(查询)        information(信息)        message(消息)     split(分割)

注意:字符串的修改函数,注意其实在原字符串上修改还是复制后形式新的字符,并以返回值的形式返回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值