Java基础总结1

1.for...each

通常用于遍历数组和集合

for(元素类型元素:数组或集合)

EG:String[] strs={"沉默"}

for(String str:strs)

2.输入

Scanner scanner=new Scanner(System.in);

scanner.nextLine();//输入字符串

3.数组的初始化

int[] array=new int[]{0,1,2,3,4,5};

int[] array=new int[5];

int[] array={0,1,2,3,4,5};

4.打印数组

int[]array = new int[]{10, 20, 30, 40, 50};
for(int i = 0; i < 5; i++){
  System.out.println(array[i]);
}
int[]array = new int[]{10, 20, 30, 40, 50};
for(int i = 0; i < array.length; i++){
  System.out.println(array[i]);
}

重点

int[] array = {1, 2, 3};
for (int x : array) {//左边写数组的类型+定义的变量
  System.out.println(x);
}
import java.util.Arrays;
System.out.println(Arrays.toString(array));

5.类

类的书写方式是大驼峰

// 创建类
class ClassName{
    field; // 字段(属性) 或者 成员变量
    method; // 行为或者成员方法
}

类的实例化 

public class Main{
    public static void main(String[] args) {
        PetDog dogh = new PetDog(); //通过new实例化对象
        dogh.name = "阿黄";
        dogh.color = "黑黄";
        dogh.barks();
        dogh.wag();
        PetDog dogs = new PetDog();
        dogs.name = "阿黄";
        dogs.color = "黑黄";
        dogs.barks();
        dogs.wag();
    }
}

构造方法:

public class Date {
    public int year;
    public int month;
    public int day;
    // 构造方法:
    // 名字与类名相同,没有返回值类型,设置为void也不行
    // 一般情况下使用public修饰
    // 在创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次
    public Date(int year, int month, int day){
        this.year = year;
        this.month = month;
        this.day = day;
        System.out.println("Date(int,int,int)方法被调用了");
    }
    public void printDate(){
        System.out.println(year + "-" + month + "-" + day);
    }
    public static void main(String[] args) {
    // 此处创建了一个Date类型的对象,并没有显式调用构造方法
        Date d = new Date(2021,6,9); // 输出Date(int,int,int)方法被调用了
        d.printDate(); // 2021-6-9
    }
}

//构造方法没有返回值,方法名与类名一致

//构造方法如果一个都没写的情况下,则会生成一个不带参数的构造方法

//一旦生成一个任意构造方法,则不会自动生成

//没有返回值类型,设置为void也不行.

//创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于人的出生,每个人只能出生一次).

//构造方法可以重载(用户根据自己的需求提供不同参数的构造方法).

6.对象的打印

重写toString即可

7.面向对象程序三大特性:封装、继承、多态。

8.继承

猫和狗之间存在共性,所以需要用父类

子类:public class Dog extends Animal

子类和父类同名,优先子类

若想使用父类,super.A

子类构造方法:先父后子

class Person{
        public String name;
        public int age;
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
    
    class Student extends Person {
        String sex;

        public Student(String name, int age, String sex) {
            super(name, age);
            this.sex = sex;
        }
    }

9.多态

(1)必须在继承体系下

(2)子类必须对父类方法进行重写

(3)通过父类的引用调用重写的方法

10.重写

重写时,子类的访问权限要大于等于父类的访问权限。

11.静态绑定/前期绑定

根据用户所传递的实参类型就确定了具体的调用方法

12.动态绑定

在编译时,不能确定方法的行为,需要等到程序运行时,才能确定具体调用哪个类的方法。

13.向上转型

实际就是传递一个子类对象,将其当成父类对象来使用。

父类对象 对象名=new 子类对象();

Animal animal=new Cat()//Animal是一个父类类型,但可以引用一个子类对象

14.字符串

(1)对象的比较

==

内置类型:比较的是变量中的值

引用类型:比较的是引用中的地址

sout(s1.equals(s2));

sout(s1.compareTo(s2));

sout(s1.compareToIgnoreCase);//忽略大小比较

(7条消息) 13.Java之String 类_muyierfly的博客-CSDN博客

你可能感兴趣的:(#,数据结构基础篇,java,数据结构,开发语言)