漫漫Java路1—基础知识2—注释和命名规则

注释

  1. 单行注释

    //这是一个注释
    
  2. 多行注释

    /*
    这是一个注释
    */
    
  3. 文档注释

    @author 作者们

    @version 版本号

    @since 指名需要最早使用的jdk版本

    @param 参数名

    @return 返回值情况

    @throws 异常抛出情况

    给类加

    		/**
             * @author lijing
             * @version 1.0
             * @since 1.8
             */
    

    给方法加

    会自动加一些参数

    生成文档

    javadoc demo.java -encoding UTF-8 -charset UTF-8

    后续还会进行详解

    文档注释是有功能的,它允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。

    标签 描述 示例
    @author 标识一个类的作者 @author description
    @deprecated 指名一个过期的类或成员 @deprecated description
    指明当前文档根目录的路径 Directory Path
    @exception 标志一个类抛出的异常 @exception exception-name explanation
    从直接父类继承的注释 Inherits a comment from the immediate surperclass.
    插入一个到另一个主题的链接
    插入一个到另一个主题的链接,但是该链接显示纯文本字体 Inserts an in-line link to another topic.
    @param 说明一个方法的参数 @param parameter-name explanation
    @return 说明返回值类型 @return explanation
    @see 指定一个到另一个主题的链接 @see anchor
    @serial 说明一个序列化属性 @serial description
    @serialData 说明通过writeObject( ) 和 writeExternal( )方法写的数据 @serialData description
    @serialField 说明一个ObjectStreamField组件 @serialField name type description
    @since 标记当引入一个特定的变化时 @since release
    @throws 和 @exception标签一样. The @throws tag has the same meaning as the @exception tag.
    显示常量的值,该常量必须是static属性。 Displays the value of a constant, which must be a static field.
    @version 指定类的版本 @version info

    表格取自菜鸟教程,侵权删

关于注释的彩蛋

直接复制

/***
 *      ┌─┐       ┌─┐
 *   ┌──┘ ┴───────┘ ┴──┐
 *   │                 │
 *   │       ───       │
 *   │  ─┬┘       └┬─  │
 *   │                 │
 *   │       ─┴─       │
 *   │                 │
 *   └───┐         ┌───┘
 *       │         │
 *       │         │
 *       │         │
 *       │         └──────────────┐
 *       │                        │
 *       │                        ├─┐
 *       │                        ┌─┘
 *       │                        │
 *       └─┐  ┐  ┌───────┬──┐  ┌──┘
 *         │ ─┤ ─┤       │ ─┤ ─┤
 *         └──┴──┘       └──┴──┘
 *                神兽保佑
 *               代码无BUG!
 */

手动生成

原理是用opencv读取图片,转成灰度图,只含有一个通道,然后把0-255对应到可打印字符上,然后一个像素一个像素处理。由于是单像素采集,所以最后生成的文字多少就取决你的图片像素,太大了的话做注释效果不太好,也可以每四个像素取一个平均值,生成一个字符,这样横竖就缩小了一倍,也可以根据自己的需求自行调整。黑白,清晰的图片效果更好。

#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <string.h>
#include <iostream>
#include <fstream>
using namespace std;
using namespace cv;

char Book[] = " $@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'.";

char Chang(int gray) {
    if(gray>240) return ' ';
    int unit = 255.0 / strlen(Book);
    return Book[int(gray / unit)];
    //return int(gray / unit)? '0':'1';
    //return rand()%2? '$':'%';
}

int main()
{
    char name[] = "timg.jpg";
    char name2[] = "timg.txt";
    IplImage *a = cvLoadImage(name,0);
    ofstream Txtout(name2);
    for (int i = 0; i < a->height; i++) {
        for (int j = 0; j < a->width; j++) {
            CvScalar s = cvGet2D(a, i, j);
            Txtout << Chang(s.val[0]);
            printf_s("%c",Chang(s.val[0]));
        }
        Txtout << endl;
        cout << endl;
    }
    Txtout.close();
    
    return 0;
}

软件或在线生成:以后补

标识符

  • 不用刻意去记,因为常用

  • 类名、变量名和方法名都被称为标识符

  • 标识符特点:

    标识符以由大小写字母、数字、下划线(_)和美元符号($)组成,但是不能以数字开头。

常用命名的规范:

变量命名应该具有对应的意义,即见名知意、结合驼峰命名法使用。

包名

使用小写字母。

类名和接口名

所有单词的首字母大写。

除了常量,定义用驼峰原则

除第一个单词,首字母大写

常量

大写字母+下划线

类名

首字母大写+驼峰原则

方法名

首字母小写+驼峰

注意:可以中文命名,但是强烈建议不要使用

posted @ 2021-03-08 21:19  l1j1ng  阅读(72)  评论(0)    收藏  举报