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);
}
}