/*
作者:gnfire
时间:2014.2.23
功能:小猫的问题
*/
public class Demo6
{
public static void main(String[] args)
{
/*
//思路
//第一只猫
int cat1Age=3;
String cat1Name="小白";
String cat1Color="白色";
//第二只猫
int cat2Age=100;
String cat2Name="小花";
String cat2Color="花色";
*/
//?猫属性分散的->统一的管理
//创建一个锚对象
/* Cat cat1=new Cat();
//访问属性的 对象名.属性名
cat1.age=3;
cat1.name="小白";
cat1.color="白色";
//创建第二只猫
Cat cat2=new Cat();
cat2.age=100;
cat2.name="小花";
cat2.color="花色";
*/
/*
Person a=new Person();
a.age=10;
a.name="小明";
Person b;
b=a;
System.out.println(b.age);
Person c;
c=b;
System.out.println(c.name);
*/
//Person p1=new Person(23,"gnfire");//调用构造方法1
//Person p1=new Person("gnfire"); //调用构造方法2
Person p1=new Person();
//调用speak方法
p1.speak();
//调用计算方法
p1.jiSuan();
//调用可以传入参数的计算方法
p1.jiSuan(100);
//调用两个数的和
p1.add1(12,13);
//int res=p1.add2(12,13);
System.out.println("res="+p1.add2(12,13));
//System.out.println("res="+p1.add3(2,2.3,4.5));//会报错,因为小数默认为double
System.out.println("kk="+p1.add3(2,2.3f,4.5f));
}
}
//定义一个人类
class Person
{
int age;
String name;
//默认构造方法
public Person()
{
}
//构造方法:主要作用是初始化你的成员属性(变量),创建对象时调用
public Person(int age,String name)
{
age=age;
name=name;
System.out.println("我是构造1");
}
//构造方法2
public Person(String name)
{
System.out.println("我是构造2");
name=name;
}
/*
publc 返回类型 方法名(参数列表)
{
方法主体;
}
*/
//行为
//1.可以输出我是好人
//请注意:方法名的首字母是小写的
//如何定名字:1.驼峰法(匈牙利)myCry 2.下划线法 my_cry
public void speak()
{
System.out.println("我是一个好人");
}
//可以计算
public void jiSuan()
{
int result=0;
for(int i=0;i<=1000;i++)
{
result=result+i;
}
System.out.println("1到1000的和是:"+result);
}
//带参数的成员方法
public void jiSuan(int n) //函数/方法重载,参数不同
{
int result=0; //result作用域
for (int i=0;i<=n;i++)
{
result=result+i;
}
System.out.println("1到"+n+"的和是:"+result);
}
//计算两个数的和
public void add1(int num1,int num2)
{
int result=0;
result=num1+num2;
System.out.println(num1+"和"+num2+"的和是: "+result);
}
//计算两个数的和,并且把结果返回给调用它的函数
//要注意:1.返回类型和返回结果的类型要一样
//2.再调用某个成员方法的时候,给出具体数值的个数,
//和类型要和形参相互匹配
public int add2(int num1, int num2) //函数重载仅仅是返回类型不同是不行的
{
return num1+num2;
}
public float add3(int num1, float num2,float num3)
{
return num1+num2+num3;
}
}
//java中如何做一个类(猫)[类名的首字母大写]
class Cat
{
//下面就是类的成员变量/属性
int age;
String name;
String color;
Master MyMaster;
}
class Master
{
int age;
String name;
String address;
}
//一个全面的类定义
/*
package包名:
class 类名 extends 父类implements
接口名{
成员变量;
构造方法;
成员方法;}
*/
/*
类的成员方法的声明:
public int test(int a);
访问修饰符 返回类型 函数名(参数列表);
*/
/*
作者:gnfire
功能:this的必要性
时间:2014.02.24
*/
public class Demo3_1
{
public static void main(String[] args)
{
/* Dog dog1=new Dog(2,"大黄");
Person p1=new Person(dog1,23,"郭德纲");
Person p2=new Person(dog1,24,"刘谦");
p1.showInfo();
p1.dog.showInfo();*/
//int total=0;
Child ch1=new Child(3,"妞妞");
ch1.joinGame();
//total++;
Child ch2=new Child(4,"小小");
ch2.joinGame();
//total++;
Child ch3=new Child(5,"大大");
ch3.joinGame();
System.out.println("总共有"+ch1.total);
}
}
//定义小孩类
class Child
{
int age;
String name;
static int total=0;//total是静态变量/类变量,可以被任何一个对象访问
public Child(int age,String name)
{
this.age=age;
this.name=name;
}
public void joinGame()
{
total++;
System.out.println("有一个小孩加入了");
}
}
//定义一个人类
class Person
{
//成员变量
int age;
String name;
Dog dog; //引用类型
public Person(Dog dog,int age,String name)
{
//可读性不好
this.age=age; //this是属于当前对象的而不是属于类的,只能用于类定义内部
this.name=name;
this.dog=dog;
}
//显示人的名字
public void showInfo()
{
System.out.println("人名是:"+this.name);
}
}
class Dog
{
int age;
String name;
public Dog(int age,String name)
{
this.age=age;
this.name=name;
}
//显示狗名
public void showInfo()
{
System.out.println("狗名叫:"+this.name);
}
}
/*
作者:gnfire
功能:打印乘法表
时间:2014.02.24
*/
import java.io.*;
public class Exercise2
{
public static void main(String[] args)
{
try
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入口诀的最大数");
String str=br.readLine();
int n=Integer.parseInt(str);
Multiplicaiton mul=new Multiplicaiton(n);
mul.chengFaBiao();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
class Multiplicaiton
{
int n;
public Multiplicaiton(int n)
{
this.n=n;
}
public void chengFaBiao()
{
for (int i=1;i<=n;i++)
{
for(int k=1;k<=i;k++)
{
System.out.print(i+" x "+k+" = "+i*k+" ");
}
System.out.println();
}
}
}