java程序员之-零基础之初学-知道这个东西有什么

前言

        在学习新的东西的到运用到灵活运用的过程,我总结的步伐是:

知道这个东西有什么->怎么可视化了解它->怎么模仿使用它->可以怎么灵活运用它

 java基本数据类型

java有8种基本数据类型,int、long、float、double、char、byte、short、boolean;

int整数类型,占用32位,常用为:int a=1;系统默认值为0;

long长整数类型,占用64位,常用为:long b=1L;默认值为0L,它需要带小写的l或者大写的L后缀;

float浮点数类型,占用32位,常用为:float c=1.0f;默认值为0.0f,它需要带小写的f或者大写的F后缀;

double双精度浮点数类型,占用64位,常用为double d=1.0d;默认值为0.0d,如果不带后缀的浮点数通常为double类型,通常使用就不带d或者大D;

char类型我们只要知道它存储一个字符使用英文的单引号包围常用为:char e='a';

byte字节,通常用于传输解析的内容,将对象解析为字节数组,默认值为0;

short数据类型占用16位,默认值为0;

boolean数据类型,占用一位表示,例如开关true/false,在数据表现上0表示false,1表示true;

注意:业务代码中其实用得比较多的是:int、long、double、boolean、byte(主要是io操作时候用得多)

java的引用类型

除了基本数据类型可以把其他的数据类型都可以认为是引用类型(string类型除外,这个类型比较特殊)

集合通常就是容器用于存储数据的,它有两种变现形式,有列表Collection,子接口有:list、set、queue和映射(map接口);

集合,常用有序列表(list)实现ArrayList和LinkedList,常用ArraryList(对于初学者知道使用这个就行),无序列表(set)实现HashSet并且存储的内容是不重复的;队列(queue)初学者用得少可以先不关注;

映射(map),通常使用的实现HashMap,数据表现形式就是key+value;

数组,其实数组就是存储多个数据的对象例如int[]可以存储多个int数据类型,但是它的大小在初始化的时候就是确定的;

类,抽象出各种表述对象的实体类,用于编写各种业务逻辑的封装类,等等都是引用类型;

java面向对象

类的定义、继承、实现、多态、封装、接口;

定义一个类需要class后写类名,通常名字需要与表达出这个文件是干嘛的,名字头字母最好大写;例如下面,定义了一个HelloWorld类,文件名需要与这个类名一样(这里不钻牛角尖,什么内部类啥的);

package com.demo.main;

import java.util.Random;

public class HelloWorld {
    public static void main(String[] args) {
        Random b = new Random();
        int i=b.nextInt(1000);
        System.out.println("获取随机数为:"+i);
    }
}

接口,接口相当于一个设想或者一个目标,它不能进行实例化(创建对象普通的接口),它的出现就是为了定义多种行为的一种抽象,比如定义一个人的日常行为,吃饭、付钱、出行;实现一个学生的类,在实现一个老师的类,学生对吃饭的实现是去食堂吃饭,付钱刷饭卡,出行步行;老师对吃饭的实现是去教室食堂吃饭,付钱微信,出行自行车;

代码如下;

接口类:

package com.demo.main;

/**
 * 行为类
 */
public interface Action {
    void eat();
    void run();
    void pay();
}

学生的实现类:

package com.demo.main;

public class Student implements Action{
    @Override
    public void eat() {
        System.out.println("去食堂吃饭");
    }

    @Override
    public void run() {
        System.out.println("出行,步行");
    }

    @Override
    public void pay() {
        System.out.println("刷返卡");
    }
}

老师的实现类:

package com.demo.main;

public class Teacher implements Action{
    @Override
    public void eat() {
        System.out.println("去教室食堂吃饭");
    }

    @Override
    public void run() {
        System.out.println("骑自行");
    }

    @Override
    public void pay() {
        System.out.println("刷微信");
    }
}

测试类:

package com.demo.main;

public class TestAction {
    public static void main(String[] args) {
        Action a = new Student();
        Action b = new Teacher();
        a.run();
        a.eat();
        a.pay();
        System.out.println("==============");
        b.run();
        b.eat();
        b.pay();
    }
}

结果输出:

测试得买执行相同的方法却有不同的输出内容,那么可以看出具体怎么做的需要对应的实现类去做,接口不关注实现;

实现,实现就像上面的学生和老师的类实现了某个接口,然后把对应的接口方法进行了一次落实需要怎么做;

继承,继承可以变现为两种形式,接口与接口之间的继承,也就是a接口继承b接口,那么a接口就具有b接口定义的行为方法,类与类之间的继承,就是c类继承了d类,那么c类的实例对象就具有了d类的公开成员变量和公开方法的能力;表现形式定义两组类和接口来说;

b接口:

package com.demo.main;

public interface B {
    void eat();
}

a接口:

package com.demo.main;

public interface A extends B{
    void run();
}

如果实现a接口,那么就需要实现两个方法,eat()和run();

d类:

package com.demo.main;

public class D {
    public int age;
    public String name;

    public void print() {
        System.out.println("age:" + age + ";name:" + name);
    }
}

c类:

package com.demo.main;

public class C extends D{
}

测试类:

package com.demo.main;

public class TestCD {
    public static void main(String[] args) {
        C c = new C();
        c.age=18;
        c.name="linmengfan";
        c.print();
    }
}

输出结果:

我们在C类上并没有定义任何内容,但是可以进行赋值属性值以及执行方法;

封装,我们就简单的定义为,把某些内容放到某个盒子里面盖住;

java修饰符

java修饰符有,有份访问修饰符public、private、protected、default默认和非访问修饰符static、final、abstract、synchronized、volatile等

访问修饰符用于定义类或者方法的访问级别,非访问修饰符通常用于对类或者方法标记它是什么或者它要怎么做;

直接截图:

java运算符

运算符有:算术运算符、逻辑运算符、关系运算符、位运算符、赋值运算符、其他运算符

算术运算符:就是通常的数学形式的加(+)、减(-)、乘(*)、除(/)、取余(%);

逻辑运算符:与(&&)、或(||)、非(!)

关系运算符:==、>=、<=、!=

位运算符:在算法上很有用,目前这里不讲;

赋值运算符:=、+=、-=

其他运算符:三目运算:a?b:c;如果a为真那么就返回b,如果a为假那么就返回c;

业务代码常用的运算符有:算术运算符、逻辑运算符、关系运算符、赋值运算符、三目运算;

java循环结构

java的循环结构有for,while,do while。

结构:for(int i;i<10;i++){},while(boolean){},do{}while(boolean);

截图图解:

while和do while的区别就是,do while至少会执行一次方法体内的逻辑;

java条件语句

java的条件语句:if,if else,if else if;等往下延续或者嵌套;

java的switch case语句

有些逻辑可以代替if else;

如果没有break,那么它会继续往下执行;

java的变量

java的变量有,局部变量,形参变量,成员变量,静态变量(类变量),常量(不可以再次修改的变量);

局部变量,在方法中定义的变量,它的作用于离开方法之后就消失了;

形参变量,其实跟局部变量一样,只是它是由某个方法传递将来的;

成员变量,就是定义某个类里面的属性;

静态变量,就是定义变量的时候在类型前面使用static修饰了;

常量,就是定义变量的时候使用final和static进行修饰了。

java的方法

java的方法需要解决这几个问题,可以给谁用(确定访问修饰符)、是不是类的还是实例的(是否使用static修饰,使用了那么就是属于类的方法)、是否需要返回数据(void那么就是不返回数据,否则需要指定相关的返回的数据结构类型)、这个方法的名字、方法需要的参数(非必要)、是否抛出异常(非必要);

在下面创建的实例中只能调用公有方法,不能调用私有方法;

java对象的构造函数

对象的构造函数,其实就是创建这个对象的时候方法吧。如果没有定义其他的构造函数那么就会有一个默认的构造函数,公有修饰符然后类名然后括号大括号;

这个就是调用了默认的构造函数;

如果添加了其他的构造函数那么,默认函数就会没有了,除非自己定义一个无参的构造函数;

java类和实例的关系

类是一种抽象,实例是一个表示,怎么理解呢。比如身份证是一个类,类里面有出生年月、名字、身份证id号、民族、失效日期等属性。实例就是具体的一个数据表示例如:姓名:小明,出生日期:1991年1月1日,身份证id号:11414199101234584,民族:满族,生效时间:2021年12月1日,失效时间:永久;

java创建实例对象

java创建对象有两种,一种是通过new的方式,一种是通过jdk的反射机制(框架通常使用);

通过以上的内容我们就开始如何编写逻辑了。然后在写业务代码,然后在研究框架;时间不早了,居然写了三个多小时;十一点了洗洗睡把;

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值