1. 单行注释 |
|
```java |
//这是一个注释 |
``` |
|
2. 多行注释 |
|
```java |
/* |
这是一个注释 |
*/ |
``` |
|
3. 文档注释 |
|
```java |
/** |
* |
* |
* |
*/ |
``` |
|
文档注释是有功能的,它允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表格取自菜鸟教程,侵权删 |
|
## 关于注释的彩蛋 |
|
### 直接复制 |
|
```java |
/*** |
* ┌─┐ ┌─┐ |
* ┌──┘ ┴───────┘ ┴──┐ |
* │ │ |
* │ ─── │ |
* │ ─┬┘ └┬─ │ |
* │ │ |
* │ ─┴─ │ |
* │ │ |
* └───┐ ┌───┘ |
* │ │ |
* │ │ |
* │ │ |
* │ └──────────────┐ |
* │ │ |
* │ ├─┐ |
* │ ┌─┘ |
* │ │ |
* └─┐ ┐ ┌───────┬──┐ ┌──┘ |
* │ ─┤ ─┤ │ ─┤ ─┤ |
* └──┴──┘ └──┴──┘ |
* 神兽保佑 |
* 代码无BUG! |
*/ |
``` |
|
### 手动生成 |
|
原理是用opencv读取图片,转成灰度图,只含有一个通道,然后把0-255对应到可打印字符上,然后一个像素一个像素处理。由于是单像素采集,所以最后生成的文字多少就取决你的图片像素,太大了的话做注释效果不太好,也可以每四个像素取一个平均值,生成一个字符,这样横竖就缩小了一倍,也可以根据自己的需求自行调整。黑白,清晰的图片效果更好。 |
|
```c++ |
#include <opencv/cv.h> |
#include <opencv/highgui.h> |
#include <string.h> |
#include |
#include |
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; |
} |
``` |
|
### 软件或在线生成:以后补 |
|
## 标识符 |
|
- 不用刻意去记,因为常用 |
|
- 类名、变量名和方法名都被称为标识符 |
|
- 标识符特点: |
|
标识符以由大小写字母、数字、下划线(_)和美元符号($)组成,但是不能以数字开头。 |
|
|
|
常用命名的规范: |
|
变量命名应该具有对应的意义,即见名知意、结合驼峰命名法使用。 |
|
包名:使用小写字母。 |
|
类名和接口名:所有单词的首字母大写。 |
|
方法名:第一个单词首字母小写,其他单词的首字母都大写。 |
|
变量名:成员变量和方法相同,局部变量全部使用小写。 |
|
常量名:全部使用大写,使用下划线分割单词。 |
|
## 注意:可以中文命名,但是强烈建议不要使用 |