Java-菜鸟学习之路(四)
来源:互联网 发布:vmware14 mac os补丁 编辑:程序博客网 时间:2024/05/29 03:33
Java-菜鸟学习之路(四)
今天是培训Java的第四天,下面的今天的一些代码,分享给大家。
- 根据输入的日期,得到是星期几
import java.util.Scanner;import java.util.Date;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;public class CalendarTest{public static void main(String[] args){System.out.println("请输入2014-09-04格式日期:");Scanner scanner = new Scanner(System.in);String str = scanner.nextLine();Calendar c = null;try{SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date date = sdf.parse(str);c = Calendar.getInstance();c.setTime(date);}catch(Exception e){}System.out.println("一年中第"+c.get(Calendar.DAY_OF_YEAR)+"天。");switch(c.get(Calendar.DAY_OF_WEEK)){case 1:System.out.println("星期天");break;case 2:System.out.println("星期一");break;case 3:System.out.println("星期二");break;case 4:System.out.println("星期三");break;case 5:System.out.println("星期四 ");break;case 6:System.out.println("星期五");break;case 7:System.out.println("星期六");break;}}}
- 继承的测试,多参构造函数,对父类构造方法的调用
class Person{String name;String addr;String sex;int age;public Person(){}public Person(String name,int age){this.name = name;this.age = age;}public Person(String name,String addr,String sex,int age){this.name = name;this.age = age;this.addr = addr;this.sex = sex;}public String toString(){return this.name+" "+this.age+" "+this.addr+" "+this.sex;}}class Student extends Person{int mathScore;int englishScore;public Student(){}public Student(String name,int age){super(name,age);}public Student(String name,String addr,String sex,int age,int mathScore,int englishScore){super(name,addr,sex,age);this.mathScore = mathScore;this.englishScore = englishScore;}public String toString(){return this.name+" "+this.age+" "+this.addr+" "+this.sex+" "+this.mathScore+" "+this.englishScore; }}public class ExtendsTest{public static void main(String[] args){Student stu = new Student("某某","苏州","男",22,99,98);System.out.println(stu.toString());}}
- 求圆形,三角形和梯形的周长和面积
interface Shape{public String getArea();public String getPerimeter();}class Round implements Shape{int radius;final double π = 3.14;Round(int radius){this.radius = radius;}public String getArea(){return "圆形面积为:"+π*radius*radius;}public String getPerimeter(){return "圆形周长为:"+π*radius*2;}}class Triangle implements Shape{double a,b,c;Triangle(double a,double b,double c){if((a+b>c)&&(a+c>b)&&(b+c>a)){this.a = a;this.b = b;this.c = c;} else {System.out.println("无法创建一个三角形!!!");}}public String getArea(){double p = (a+b+c)/2;//System.out.println(p+"--------"+a+" "+b+" "+c);double area = Math.sqrt(p*(p-a)*(p-b)*(p-c));return "三角形面积为:"+area;}public String getPerimeter(){double length = a+b+c;return "三角形周长为:"+length;}}class Ladder implements Shape{double top,down,left,right;Ladder(double top,double down,double left,double right){this.top = top;this.down = down;this.left = left;this.right = right;}public String getArea(){double p = (left+right+down-top)/2;double area = Math.sqrt(p*(p-left)*(p-right)*(p-down+top));double height = 2*area/(down-top);double ladArea = (top+down)*height/2;return "梯形面积为:"+ladArea;}public String getPerimeter(){double length = top+down+left+right;return "梯形周长为:"+length;}}public class ShapeTest{public static void main(String[] args){Round r = new Round(3);System.out.println(r.getArea());System.out.println(r.getPerimeter());Triangle t = new Triangle(1,1,1);System.out.println(t.getArea());System.out.println(t.getPerimeter());Ladder lad = new Ladder(4,10,5,5);System.out.println(lad.getArea());System.out.println(lad.getPerimeter());}}
- 今天学习的重点是继承和多态,Java的类只可以实现单继承,即只有一个父类。Java中的多继承通过接口实现。
- 继承:是OOP(Object Oriented Programming)编程技术的一块基石。它意味着基于一个已经定义好的类创建一个新的类,新的类将以某种方式扩展原有的类。体现的是is-a的关系。在OOP的编程中,继承意味着新的类来自父类,且每个类都有一个直接的父类。父类或者显示定义的,或者隐式规定的,如果没有显示地定义父类,那隐含的父类就是Object类。
好处:代码的可重用性 缺点:依赖性太强 (低藕合 高内聚)
0 0
- Java-菜鸟学习之路(四)
- windows API 菜鸟学习之路(四)
- Java-菜鸟学习之路(一)
- Java-菜鸟学习之路(二)
- Java-菜鸟学习之路(三)
- 菜鸟我的JAVA学习之路
- 菜鸟入门:Java程序员学习之路
- 菜鸟入门:Java程序员学习之路
- 菜鸟猿大战Java之集合框架系列(四)
- Java程序员从笨鸟到菜鸟之(四)练习
- 菜鸟的 PHP 学习之路(四):PHP 的数据类型转换
- 菜鸟springboot学习之旅四
- Java程序员从笨鸟到菜鸟之(一百一十)一步一步学习webservice(四)Axis2开发webservice详解
- 菜鸟学习笔记之java
- JAVA菜鸟学习之旅
- java菜鸟之路
- J2EE学习从菜鸟变大鸟之四 JNDI(Java Naming and Directory Interface)
- java菜鸟学习之路之JDBC连接Oracle数据库
- QPaintEvent原理
- Java输入输出流
- DSP程序优化方法
- 私有域
- solr4.6安装配置(服务器tomcat 6.0)
- Java-菜鸟学习之路(四)
- JPA2中的查询:类型安全与面向对象
- 初学python,作为菜鸟的第一篇博客
- ZOJ3261——Connections in Galaxy War
- Eclipse版本
- 输入法 框架 分析
- COM编程入门不得不看的文章 :第一部分 什么是COM,如何使用COM
- 【追梦少年】微信如何发广告
- 整个进程安全CoInitializeSecurity