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 }