Java基础语法总结(Person)

时间:2023-02-17 15:26:22
import java.util.*;


public class Person
{  //定义“人”类


    //定义属性(封装,仅本类可见)


    private String name;


    private int age;


    private char gender;


    //构造器初始化


    Person()
{


      System.out.println("构造方法被调用...\n");


    }


    Person(String name,int age,char gender)
{


        //使用this来引用成员变量进行初始化


        //this调用构造方法


        this();


        this.name=name;


        this.age=age;


        this.gender=gender;


    }


    //定义方法


    public void eat()
{


      System.out.println(name+"can eat ");


    }
    //返回类型为字符串
    public String ran()
{


      return name+"can ran";


    }


    //重写方法


  public String toString()
  {


        System.out.println("\n方法重写...");


        return "姓名:"+name+"年龄:"+age+"性别"+gender;


    }


    //if测试


  public void ifg(int x,int y)
  {


      System.out.println("\n方法(函数)重载1...");


      if(x>y)


          System.out.println(x);


      else


          System.out.println(y);


  }


  //方法重载


  public void ifg(double x,double y)
  {


      System.out.println("\n方法重载2...");


    if(x>y)


          System.out.println(x);


      else


          System.out.println(y);


  }


    //Switch测试(值传递)


  public void witch(int x)
  {


      System.out.println("switch测试");


      switch(x){


      case 1:


          System.out.println(0);


          break;


      case 2:


          System.out.println(1);


          break;


      case 3:


          System.out.println(2);


          break;


      case 4:


          System.out.println(3);


          break;


      case 5:


          System.out.println(4);


          break;


      default:
          System.out.println(0);


      }


  }


  //for 测试


     public void forr()
    {


      System.out.println("\nfor测试...");


      int k=5;


      for(int i=0;i<k;i++)


          System.out.println(i);


      }


  //break  :跳出当层循环


  //continue:跳出当次循环


  //强制转换


  public void turn()
  {


      System.out.println("\n强制转换...");


    double d=3.14159267;


    float f = (float)d;


    System.out.println(f);


  }


  //三目运算符测试


  public void sanmu(int x)
  {


      System.out.println("\n三目运算符测试...");


      int y=x>5?x:0;


      System.out.println(y);


  }


  // 逻辑运算符


  //&&:短路与(一边为零后结束运算)


  //&:在得到最终结果前,都两边都进行求值


  //数组测试


  public void array()
  {


      System.out.println("\n数组测试...\n");


      System.out.println("定义数组\n");


      int m[] = new int[5];


      char c[] = new char[5];


      //动态初始化:对每个数组元素单独赋值




      m[0]=1;


      m[1]=2;


      m[2]=3;


      m[3]=4;


      m[4]=5;


      //静态初始化:定义时一起赋值


      int x[]={2,3,4,5,6};


      char v[]={'q','w','f','e'};




      System.out.println("\n引用一个数组元素x[0]");


      System.out.println(x[0]);


      System.out.println("\n获取数组长度");


      System.out.println(x.length);
      //length是数组的属性,故无括号




      System.out.println("\n用for遍历数组");
      /*
      for(声明循环变量:数组名)
      {


      }
      */
      for(int elements : x)
 {


          System.out.println(elements);


      }


      System.out.println("\n测试多维数组");


      System.out.println("\n定义多维数组");


      //静态初始化


      int t[][] = new int [2][2];


      t[0][0]=1;


      t[0][1]=2;


      t[1][0]=3;


      t[1][1]=4;


      //动态初始化


      int p[][] ={{1,1},{2,2}};


      System.out.println("\n输出数组的长度");






      //f[0].length表示第一层数组的长度


      System.out.println(p[0].length);


      System.out.println("\n用for输出数组");


      for(int i=0;i<2;i++)


          for(int j=0;j<2;j++)


      {


          System.out.println(p[i][j]);


      }


  }


//输出测试


  public void outprint()
  {


      System.out.println("输出测试");


      int x=3;


      System.out.print(x);//不换行输出


      System.out.println(x);//换行输出


      System.out.printf("%d",x);//格式化输出


  }


//输入测试


  public void input()
  {


        //import java.util.*导入Scanner类


        Scanner s = new Scanner(System.in);


        System.out.print("输入你的姓名:");


        //nextline()输入字符串


        String name = s.nextLine();






        System.out.print("输入年龄:");


        //nextInt()输入整数


        int age = s.nextInt();


        System.out.println("Show:姓名"+name+"年龄"+age);


        s.close();//若没有关闭Scanner类会出现警告


  }
  //可变参数(相当于一个数组)
  public void change(int ...x)
  {
 int sum=0;
for(int i=0;i<x.length;i++)  
sum=sum+x[i];
System.out.println(sum);
  }
  
  
  public static void main(String []args)
{
        
      //初始化对象


      System.out.println("\n初始化对象...\n");


      Person person = new Person("张三",24,'m');


      //参数的基本数据类型传递(值传递)


      person.witch(3);


      //方法重载


      person.ifg(3,4);


      person.ifg(3.12,5.89);








      //调用方法


      System.out.println("\n调用方法...\n");


      person.eat();


      System.out.println(person.ran());


      //重写方法


      person.toString();


      //for测试


      person.forr();


      //强制转换


      person.turn();


      //三目运算符测试


      person.sanmu(9);


      //数组测试


      person.array();


      //输入测试


      person.input();


      //输出测试


      person.outprint();
      
      //可变参数
      person.change(1,2,3,4,5);
      person.change(222,333,444,44444);
      


    }
}