栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java第四课

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java第四课

1.什么是NPE,什么情况下会发生NPE

空指针异常,当指针没有指向在堆区而指向null时会发生NPE;

如何防止NPE?

当你使用指针进行操作的时候,如果不确定指针是否为null应该对指针做非空判断,判断指针为nu11时,使用new关键字开辟内存空间if(指针==null){指针=new.类名}


2. new关键字的作用

students atu=new students();

students atu[]=new students[2];

        atu[0]=new students();

        atu[1]=new students();

3.数组和对象的区别

students atu[]=new students[2];//students是类名,定义数组

        atu[0]=new students();//在第一位指向一个对象

        atu[1]=new students();

4.基本数据类型对应的引用数据类型
----------------------引用的数据-------------------------------
public class Student {
    //类里面
    //没有使用static修饰
    //成员变量
    int no;
    String name;
    int age;
    char sex;
    static String school="NAYO";

    //构造方法
    public Student(int no, String name,int age,char sex){
        this.no=no+2;
        this.name=name;
        this.age=age;
        this.sex=sex;
    }
    //成员方法
    public void show(){
        System.out.println("学号"+this.no);
        System.out.println("名字"+name);
        System.out.println("年纪"+age);
        System.out.println("性别"+sex);

    }
}
--------------------------------------------------------
public class demo04 {
    public static void main(String[] args) {

         Student stuarr =new Student(1,"zf",29,'男');
        stuarr.show();
        System.out.println("--  ----");
    }
}

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

         static Integer[] arr={1,2,3,4,5,6,7,8,null,null};

5.正序遍历数组,倒序遍历数组

正序

public static void iterator(){for (int i = 0;i

倒叙

public static void reverse(){ for (int i = arr.length-1;i>=0;i--){ System.out.print(arr[i]+","); } }

6.数组求和

public static void sum () {

int sum=0;
    for (int i = 0; i < arr.length; i++) {
        if (arr[i]==null){
            continue;
        }
        sum +=arr[i];
    }
    System.out.println("累加求和"+sum);
    System.out.println("平均数"+sum%arr.length);
}
7.数组求最大值和最小值
public static void max(){
    int max=arr[0];
    for (int i = 0; i < arr.length; i++) {
        if (arr[i]==null){
            continue;
        }
        if(max<=arr[i]){
            max=arr[i];
        }
    }
    System.out.println("最大值:"+max);
}

public static void min(){
    int min=arr[0];
    for (int i = 0; i < arr.length; i++) {
        if (arr[i]==null){
            continue;
        }
        if(min>=arr[i]){
            min=arr[i];
        }
    }
    System.out.println("最小值:"+min);
}
8.数组求平均数

System.out.println("平均数"+sum%arr.length);

9.数组扩容的策略
public static void dilatation(){
    System.out.println(arr.length);
    Integer[] newarr =new Integer[arr.length+arr.length/2];
    for (int i=0;i 
10.数组中插入元素
//插入第五
    public static void insert(){

        for (int i = arr.length-1; i >4; i--) {
            if (arr[i]==null){
                continue;
            }
            arr[i]=arr[i-1];
        }arr[4]=0;
        for (int i = 0; i < arr.length; i++) {

            System.out.print(arr[i]+",");
        }
    }
    //插入第6
    public static void insert2(int weizhi,int e){
        int empty=-1;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]==null){
                empty=i;
                break;
            }
        }
        for (int i = empty; i >=weizhi; i--) {
            arr[i]=arr[i-1];
        }arr[weizhi-1]=e;
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+",");
        }

    }
11.数组中删除元秦

public static void insert2(int weizhi,int e){

int empty=-1;

for (int i = 0; i < arr.length; i++) { if (arr[i]==null){ empty=i; break; } }

for (int i = weizhi; i

{ arr[i-1]=arr[i]; }arr[weizhi-1]=e;

for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+","); } }

12.反转数组
public static void reverse(){
    for (int i = arr.length-1;i>=0;i--){
        System.out.print(arr[i]+",");
    }
}
13.使用冒泡排序算法排序数组

1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置 2.每一次比较,都会产生出一个最大,或者最小的数字 3.下一轮则可以少一次排序 4.依次循环,直到结束

//冒泡排序
    public void sort(int[] array){
        for(int i=1;i             for(int j=0;j
                if(array[j]>array[j+1]){
                    int temp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=temp;
                }
            }
           showArray(array);    
    }
 

14.官方的Arrays工具类

int,long,short,byte,floauble,char,double,boolean

15.二维数组

数据类型[][] 变量名=new数据类型[长度][长度];

16.类和对象

students类

students arr =new students()对象

类的概念:
类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。

对象的概念:
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角 度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。

17.成员变量
//成员变量
int no;
String name;
int age;
char sex;
static String school="NAYO";
18.构造方法
//构造方法
public Student(int no, String name,int age,char sex){
    this.no=no+2;
    this.name=name;
    this.age=age;
    this.sex=sex;
}
19.成员方法

//成员方法

public void show(){
    System.out.println("学号"+this.no);
    System.out.println("名字"+name);
    System.out.println("年纪"+age);
    System.out.println("性别"+sex);

}
20. this 关键字

在方法里使用

代替变量名

stuarr.
21.什么是零值

默认初始值

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993426.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号