Java基础知识复习

控制流程

1.顺序结构

2.分支结构

if…else switch…case

3.循环结构

for(foreach) while do…while

int[] arr= new int []{1,3,0,9,1};

for(int i =0;i<arr.length-1;i++){
    System.out.println(arr[i]);
}

int i=0;
while(i<arr.length-1){
    System.out.println(arr[i]);
    i++;
}

//

数组

//某一门课的成绩
double zhangsan=90.5
double lisi=99;
//..多个变量维护比较麻烦

产生的原因----多个相同数据类型的变量存储

一、定义

int[] a;
//int a[];

二、初始化

1.静态初始化
int[] arr=new int[]{1, 3, 5, 0}
//int[] arr ={};
//给定值让系统决定长度
2.动态初始化
int[] arr=new int[5];


//给定长度让系统决定值

byte、short、int、long–0

double、float----0

char------编码表对应‘0’的值,控制台无法打印出来

boolean----false

引用----null

数组中既可以存放基本数据类型变量,也可以存放引用数据类型变量(数组中也可以存放对象)

三、下标

0–数组长度-1

数组的长度 数组名.length

如何访问数组中特定的元素

数组名[下标]

四、常见操作

遍历

​ 普通for循环

​ while循环

​ 增强for

排序(冒泡、选择、快速)

求最值

逆序

五、多维数组—二维数组

方法 函数

y=f(x)

int add(int a,int b){
    return a+b;
}

一、定义

返回值类型 方法名(参数列表){

​ //方法体

​ //return 返回值;

}

二、方法的重载

同一个类当中,方法名相同,参数列表不同

三、方法的重写

子类对父类的继承

方法名相同、参数列表相同、返回值类型相同、方法体不同

面向对象

1.面向对象和面向过程

面向对象-----对象-----主体

Person p =new Person();
p.eat("汉堡");

面向过程—过程—做什么事

void eat(Person p,Rice r);

2.类和对象

String name;
int age;
int height;
String address;
int gender;

8种基本数据类型不能满足定义变量的要求---->自定义类型------->类 (生产汽车的图纸)

对象—实体----真正存在的东西------>真正的汽车

3.如何定义类

一个类生产一个.class文件

[修饰符] class 类名{

​ //属性—成员变量

​ //构造方法

​ //普通方法—成员方法、成员函数

}

如何创建对象

Class Person{
String name;
int age;
int height;
String address;
int gender;
    void eat(){
        System.out.println("eat.....");
    }
}
Person p=new Person();

4.构造方法

在创建对象的时候被调用,给属性赋值(初始值)

-1)定义类时没有定义构造方法,那么类中存在默认的构造方法

​ Preson(){

​ }

-2)如果自定义了构造方法,那么默认的构造方法会被覆盖;如果此时希望使用默认的构造方法,需要自己手动定义

Class Person{
String name;
int age;
int gender;
    //默认的构造方法
    Person(){
        
    }
    //带参数的构造方法
    Person(String name, int age){
    	this.name=name;
        this.age=age;
    }
    
    void eat(){
        System.out.println("eat.....");
    }
}

Person p =new Person();//调用默认的构造方法

5.封装

隐藏该因此的,暴露该暴露的

1.把属性设置成private的,设置相应get/set方法

2.方法一般设置成public的

Class Person{
	private String name;
	private int age;
	private int gender;//性别
    //默认的构造方法
    Person(){
        
    }
    
    Person(String name){
        this.name=name;
    }
    
    //带参数的构造方法
    Person(String name, int age){
        //构造方法
        this(name);
     
        this.age=age;
    }
    
    public String getName(){
        //this代表的是当前调用这个方法的对象
        return this.name;
    }
    
    void eat(){
        System.out.println("eat.....");
    }
}


Person p =new Person();
System.out.println(p.getName())

6.继承----extends----扩展

1.只能有有一个直接父类,间接父类可以有n个

2.方法的重写

3.super表示父类的对象,表示父类的构造方法

​ this表示当前类的对象,表示当前类的构造方法

class Student extends Person{
    private String stuId;
    
    public void study(){
        System.out.println("我的心里只有学习")
    }
    
    public void eat(){
        System.out.println("student eat....")
    }
}

7.多态

1.方法的重写和重载

2.子类对象的多态性

//等号的左边  左侧 p---引用     等号右边  右侧  真正的对象
Person p =new Student();//子类对象赋值给父类的引用
/*
    编译期间看左侧

*/
p.study()//不能编译通过
p.eat()//能编译通过  输出 student eat....
//运行期间看右侧

3.优势

class Test{
/*	public void test(int a){
    
	}
    public void test(char a){
        
    }
    public void test(String s){
        
    }
    public void test(Person p){
        
    }
    */
    /*
      Object类是所有类的父类
      Person p =new Person();
      Object o =p;
      test(p);
    */
    public void test(Object o){
        //instanceof(运算符)判断传进来的数据类型
    }
}

8.抽象类和接口

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值