Android学习笔记day7

day2程序题

1编写一个圆类Circle,该类拥有: 

①一个成员变量 

Radius(私有,浮点型);  // 存放圆的半径; 

       ②两个构造方法 

          Circle( )                 // 将半径设为0 

          Circle(double  r )         //创建Circle对象时将半径初始化为r        ③ 三个成员方法 

            double getArea( )       //获取圆的面积             double getPerimeter( )   //获取圆的周长 

            void  show( )          //将圆的半径、周长、面积输出到屏幕 (2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有: 

①一个成员变量 

double hight(私有,浮点型);  // 圆柱体的高; 

       ②构造方法 

          Cylinder (double r, double  h )           //创建Circle对象时将半径初始化为r 

       ③ 成员方法 

            double getVolume( )             //获取圆柱体的体积 

            void  showVolume( )             //将圆柱体的体积输出到屏幕 

编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。

 

package com.jikexueyuan.ch02;
class Circle{ //定义父类--园类
private double radius; // 成员变量--园半径
Circle(){ //构造方法
radius = 0.0;
}
Circle(double r){ //构造方法
radius = r;
}
double getPerimeter(){ //成员方法--求园周长
return 2*Math.PI*radius;
}
double getArea(){ //成员方法--求园面积
return Math.PI*radius*radius;
}
void disp(){ //成员方法--显示圆半径、周长、面积
System.out.println("圆半径:"+radius);
System.out.println("圆周长:"+getPerimeter());
System.out.println("圆面积:"+getArea());
}
}
class Cylinder extends Circle{ //定义子类--圆柱类
private double hight; //成员变量--圆柱高
Cylinder(double r,double h){ //构造方法
super(r);
hight = h;
}
public double getVol(){ //成员方法--求圆柱体积
return getArea()*hight;
}
public void dispVol(){ //成员方法--显示圆柱体积
System.out.println("圆体积:"+getVol());
}
}


public class text22 {


public static void main(String[] args) { //主程入口
Circle Ci = new Circle(10.0); //生成园类实例
Ci.disp(); //调用园类的方法
Cylinder Cy1 = new Cylinder(5.0,10.0); //生成圆柱类实例
Cy1.disp(); //调用父类方法
Cy1.dispVol(); //调用子类方法
}
}

day2程序题定义一个表示学生信息的类Student,要求如下:  (1)类Student的成员变量: 

sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。 

 (2)类Student带参数的构造方法:  

在构造方法中通过形参完成对成员变量的赋值操作。 (3)类Student的方法成员: getNo():获得学号;  getName():获得姓名;  getSex():获得性别; getAge()获得年龄; 

getJava():获得Java 课程成绩 

(4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。 

package com.jikexueyuan.ch02;
class Student{
String sNo,sName,sSex;
int sAge,sJava;
public Student(String XH,String XM,String XB,int NL,int XF){
super();
sNo = XH;
sName = XM;
sSex = XB;
sAge = NL;
sJava = XF;
}
public String getNo(){
return sNo;
}
public String getName(){
return sName;
}
public String getSex(){
return sSex;
}
public int getAge(){
return sAge;
}
public int getJava(){
return sJava;
}
}


public class text23 {


public static void main(String[] args) {
Student[] st = new Student[5];
st[0] = new Student("1234","张三","",19,94);
st[1] = new Student("5678","李四","",18,99);
st[2] = new Student("1265","王五","",17,86);
st[3] = new Student("4589","赵四","",19,88);
st[4] = new Student("7895","杨柳","",16,100);
int max=0,min=100,sum=0;
System.out.println("学生信息:");
for(int i=0;i<st.length;i++){
if(st[i].sJava<min){
min = st[i].sJava;
}
if(st[i].sJava>max){
max = st[i].sJava;
}
sum = sum+st[i].sJava;
System.out.println("学生学号:"+st[i].getNo()+"学生姓名:"+st[i].getName()+"学生性别:"+st[i].getSex()+"年龄:"
+st[i].getAge()+"Java学分:"+st[i].getJava());
}
System.out.println();
System.out.println("共有学生="+st.length+"平均成绩:"+sum/st.length);
System.out.println("最小学分:"+min+"最大学分:"+max);

}

}




学习笔记:

如果经常对字符串进行各种各样的修改,或者说不可预见的修改,使用String代表的字符串会引起很大内存开销,这是应该考虑使用StringBuffer类,它允许修改。

同时如果要使用内容相同的字符串,不必每次都new一个String

例如我们要在构造器中对一个名叫sString引用变量进行初始化,把它设置为初始值,应当这样做:
public class Demo {
private String s;
...
public Demo {
s = "Initial Value";
}
...
}
而非
s = new String("Initial Value");
后者每次都会调用构造器,生成新对象,性能低下且内存开销大,并且没有意义,因为String对象不可改变,所以对于内容相同的字符串,只要一个String对象来表示就可以了。也就说,多次调用上面的构造器创建多个对象,他们的String类型属性s都指向同一个对象。
下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d";

答:对于如下代码:

String s1 = "a";

String s2 = s1 + "b";

String s3 = "a" + "b";

System.out.println(s2 == "ab");

System.out.println(s3 == "ab");

第一条语句打印的结果为false,第二条语句打印的结果为true,这说明javac编译可以对字符串常量直接相加的表达式进行优化,不必要等到运行期去进行加法运算处理,而是在编译时去掉其中的加号,直接将其编译成一个这些常量相连的结果。
16年2月26日,此刻是晚上20点54分。我正在回往学校的路上,刚看了几个JAVA的知识点,十分受用,再往下看就不太懂了,火车上没网,还是要结合点视频资料我才能理解的更加透彻。回到学校是要更加努力了,荒废了一整个假期,现在感觉十分惭愧,但是玩的时候却是一点感觉都没有,想是玩的过多,可能开始还想着要学习,但是后来便麻木了。知道自己不是一个很有毅力的人,所以很多时候便放纵了自己,实是不该,自己22岁,22岁了。一些但是该要挑起来了,家里的父母那么辛苦,自己作为唯一的孩子,却还是像个小孩子一样,在家里那就是皇上。现在马上就回到学校了,远离了父母亲人,远离了兄弟朋友,真正自强起来吧!看到学姐发的一些话,浮躁的人分为两种:只观望而不学的人,只学而不坚持的人,浮躁的人永远成为不了高手。没错我认为自己就是太过浮躁,后面的日子我会慢慢改变。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值