Java学习十四

今天学习了Java中的注解,以及联系了两道Java小程序。

一、注解与注释

  注解:说明程序,给计算机看;    注释:说明程序,给人看。

二、注解定义与作用

  定义:注解又被称为元数据,是代码级别的说明,可包含包、类、字段、方法、变量说明、注释。

  作用:①编写文档:通过代码里标识的注解生成文档;

        ②代码分析:通过代码里标识的注解对代码分析;

        ③编译检查:通过代码里标识的注解让编译器实现编译检查。

三、JDK预定义的一些注解

  @override:检测该方法是否继承自父类;

  @Oeprecated:标注的内容已过时;

  @SuppressWarnings:压制警告  一般传递参数@SuppressWarning("all")。

四、自定义注解

  格式:元注解  public @interface 名称{}

  本质:一个接口,默认继承Annotation接口

  属性:接口中可以定义的成员方法。

    (1)属性返回值:基本数据类型、String、枚举、注解、上述类型的数组。

    (2)属性赋值:①定义属性,使用default初始化,使用注解不需赋值;

             ②属性名称为value,value可省略,直接定义;

             ③数组赋值,使用{}包裹,只有一个值时,{}可省略。

五、解析注解

  1、获取注解定义的位置对象;

  2、获取指定注解 getAnnotation(Class);

  3、调用注解中的抽象方法获取配置属性值。

六、练习题目

  1、比赛名单,根据题目要求自己进行名单推算,根据自己推算名单写程序

 1 public class Lianxi17 {
 2     static char[] m={'a','b','c'};
 3     static char[] n={'x','y','z'};
 4 
 5     public static void main(String[] args) {
 6         for(int i=0;i<m.length;i++){
 7             for(int j=0;j<n.length;j++){
 8                 if(m[i]=='a'&&n[j]=='x'){
 9                     continue;
10                 }else if(m[i]=='a'&&n[j]=='y'){
11                     continue;
12                 }else if((m[i]=='b'&&n[j]=='y')||(m[i]=='b')&&n[j]=='z'){
13                     continue;
14                 }else if((m[i]=='c'&&n[j]=='x')||(m[i]=='c'&&n[j]=='y')){
15                     continue;
16                 }else{
17                     System.out.println(m[i]+"VS"+n[j]);
18                 }
19             }
20         }
21     }
22 }

  2、菱形打印,菱形打印长度和高度为奇数为宜,使用循环进行打印

 1 public class Lianxi18 {
 2     public static void main(String[] args) {
 3         int h=7,w=7;
 4         //上半部分
 5         for(int i=0;i<(h+1)/2;i++){
 6             for(int j=0;j<w/2-i;j++){
 7                 System.out.println(" ");
 8             }
 9             for(int k=1;k<(i+1)*2;k++) {
10                 System.out.print("*");
11             }
12         }
13         //下半部分
14         for(int i=1;i<(h+1)/2;i++){
15             for(int j=1;j<=i;j++){
16                 System.out.println(" ");
17             }
18             for(int k=1;k<=w-2*i;k++){
19                 System.out.print("*");
20             }
21         }
22     }
23 }

 

posted on 2021-10-04 22:04  跨越&尘世  阅读(25)  评论(0编辑  收藏  举报