藜麦小笼包


私信TA

用户名:dotcpp0680909

访问量:733

签 名:

刁常潇

等  级
排  名 293
经  验 5616
参赛次数 0
文章发表 71
年  龄 18
在职情况 学生
学  校 山东管理学院
专  业 软件工程

  自我简介:

一名喜欢走捷径的程序猿

TA的其他文章

实例变量(方法)与类变量(方法)

思维导图

Snipaste_2024-10-26_15-43-12.png

实例变量与类变量

代码

public class Main{
    public static void main(String[] args){
        Student.name="袁华";//类变量可以直接用类名访问
        Student s1=new Student();
        s1.name="马冬梅";//类变量也可以用对象访问(不推荐)
        Student s2=new Student();
        s1.name="秋雅";
        //类变量被类的全部对象共享
        System.out.println(s1.name);//输出秋雅
        System.out.println(Student.name);//输出秋雅
        //实例变量属于每个对象的变量
        s1.age=23;
        s2.age=8;
        System.out.println(s1.age);//23
        System.out.println(s2.age);//8
        //System.out.println(Student.age);实例变量不可以直接用类名访问
    }
}
class Student{
    static String name;//类变量
    int age;//实例变量
}

运行结果

1.jpg

实例方法与类方法

代码

public class Main{//实例方法、类方法与实例变量、类变量原理相似
    public static void main(String[] args){
        Student.printHelloWorld();//类方法直接用类名调用
        Student s=new Student();
        s.printHelloWorld();//类方法用对象调用
    }
}
class Student{
    public static void printHelloWorld(){//类方法
        System.out.println("Hello world");
        System.out.println("Hello world");
    }
}

运行结果

2.jpg

构造方法

代码

public class Main{//构造方法
    public static void main(String[] args){
        Student s1=new Student(1,2);
        System.out.println(s1.x+" "+s1.y);
        Student s2=new Student();
        Student s3=new Student(0.5);
        System.out.println(s3.z);
    }
}
class Student{
    int x,y;
    double z;
    Student() {
        System.out.println("我是一名学生");
    }
    Student(int a,int b){
        x=a;
        y=b;
    }
    Student(double c){
        z=c;
    }
}

运行结果

3.jpg

this关键字

代码

public class Main{
    public static void main(String[] args){
        Tom t=new Tom();
        t.f();
        System.out.println(t.y);//15
    }
}
class Tom{
    int x=10,y;
    void f(){
        int x=5;
        y=x+this.x;
    }
}

运行结果

4.jpg

Java数组常用操作库

代码

import java.util.Arrays;
public class Main{
    public static void main(String[] args){
        int a[]={3,1,4,6,2,5};
        System.out.println(a.length);//数组长度
        System.out.println(a);//数组引用带[I@
        System.out.println(System.identityHashCode(a));//数组引用不带[I@
        System.out.println(Arrays.toString(a));//列表形式输出数组
        System.out.println(Arrays.binarySearch(a,4));//数组查找某个元素(返回数组下标/负数)
        System.out.println(Arrays.binarySearch(a,21));
        Arrays.sort(a);//排序(从小到大)
        for(int i:a){//遍历数组的循环
            System.out.print(i+" ");
        }
        System.out.println();
    }
}

运行结果

屏幕截图 2024-10-26 164207.jpg

可变参数

代码

public class Main{//可变参数
    public static void main(String[] args){
        A a=new A();
        a.f(1,2,3,4,5);
        a.g(2.0,1,2,3,4,5);
    }
}
class A{
    void f(int ...x){
        int sum=0;
        for(int i=0;i<x.length;i++){
            sum+=x[i];
        }
        System.out.println(sum);
    }
    void g(double a,int...x){
        int sum=0;
        for(int i=0;i<x.length;i++){
            sum+=x[i];
        }
        System.out.println(sum*a);
    }
}

运行结果

屏幕截图 2024-10-26 164207.jpg

对象的组合

代码

public class Main {
    public static void main(String args[]) {
        Circle circle = new Circle();
        circle.setRadius(10);//设置半径
        Circular circular = new Circular();
        System.out.println(circle);//引用带类名+@符号
        System.out.println(circular.bottom);//没有赋值,引用为null
        circular.setHeight(5);//设置高
        circular.setBottom(circle);//把圆的对象传入
        System.out.println(circle);
        System.out.println(circular.bottom);//赋值了,引用与circle的相同
        System.out.println(circular.getVolme());
        circle.setRadius(20);//修改半径
        System.out.println(circular.getBottomRadius());
        circle = new Circle();//重新new,circle引用会变化
        System.out.println(circle);
        System.out.println(circular.bottom);//circular.bottom引用不变
    }
}
class Circle {
    double radius,area;
    void setRadius(double r) {
        radius=r;
    }
    double getRadius() {
        return radius;
    }
    double getArea(){
        area=3.14*radius*radius;
        return area;
    }
}
class Circular {
    Circle bottom;
    double height;
    void setBottom(Circle c) {
        bottom = c;
    }
    void setHeight(double h) {
        height = h;
    }
    double getVolme() {
        if(bottom == null)
            return -1;
        else
            return bottom.getArea()*height/3.0;
    }
    double getBottomRadius() {
        return bottom.getRadius();
    }
    public void setBottomRadius(double r){
        bottom.setRadius(r);
    }
}

运行结果

屏幕截图 2024-10-26 170616.jpg

 

0.0分

1 人评分

  评论区

  • «
  • »