漫漫Java路1—基础知识2—注释和命名规则
## 注释 |
---|
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; |
} |
``` |
### 软件或在线生成:以后补 |
## 标识符 |
- 不用刻意去记,因为常用 |
- 类名、变量名和方法名都被称为标识符 |
- 标识符特点: |
标识符以由大小写字母、数字、下划线(_)和美元符号($)组成,但是不能以数字开头。 |
常用命名的规范: |
变量命名应该具有对应的意义,即见名知意、结合驼峰命名法使用。 |
包名:使用小写字母。 |
类名和接口名:所有单词的首字母大写。 |
方法名:第一个单词首字母小写,其他单词的首字母都大写。 |
变量名:成员变量和方法相同,局部变量全部使用小写。 |
常量名:全部使用大写,使用下划线分割单词。 |
## 注意:可以中文命名,但是强烈建议不要使用 |
漫漫Java路1—基础知识2—注释和命名规则的更多相关文章
- 漫漫Java路1—基础知识—初涉java
前言 主学信息安全,在编程的路上还是一个孩子,还在一步一步探索,有些东西可能是站在自己的位置思考的,很可能会出现一些啼笑皆非的错误,如果有误,还希望各位斧正. Java安装 jdk的安装 甲骨文官网选 ...
- 漫漫Java路1—基础知识3—数据类型和变量作用域以及常量
强类型语言 所有变量定义后才能使用,区别于js等弱类型语言 数据类型分类 基本类型(primitive type) 引用类型(reference type) 整数类 byte:占1字节 short:占 ...
- 第76节:Java中的基础知识
第76节:Java中的基础知识 设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat 折佣动态代理解决网站的字符集编码问题 使用request. ...
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
- Java面试题-基础知识
参考文章:Java面试题-基础知识 基础能力 什么是值传递和引用传递 线程状态有哪些,它们之间是如何转换的 进程与线程的区别,进程间如何通讯,线程间如何通讯? HashMap的数据结构是什么?如何实现 ...
- JAVA核心技术I---JAVA基础知识(工具类Arrays和Collections类)
一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort ...
- JAVA核心技术I---JAVA基础知识(static关键字)
一:static特殊关键字用处 –变量 –方法 –类 –匿名方法 二:静态变量:类共有成员 –static变量只依赖于类存在(通过类即可访问),不依赖于对象实例存在. –所有的对象实例,对于静态变量都 ...
- Java JDBC的基础知识(三)
在前面的Java JDBC的基础知识(二)和(三)中,主要介绍JDBC的原理和简单的应用过程.尤其在(二)中,可以发现代码进行多次try/catch,还有在前面创建连接等过程中好多参数我都给写定了. ...
- Java JDBC的基础知识(二)
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
随机推荐
- C# EventWaitHandle类解析
EventWaitHandle 类用于在异步操作时控制线程间的同步,即控制一个或多个线程继行或者等待其他线程完成. 构造函数 EventWaitHandle(bool initialState, Ev ...
- Logstash 日志收集(补)
收集 Tomcat 日志 安装 Tomcat # 安装 jdk [root@web01 ~]# rpm -ivh jdk-8u181-linux-x64.rpm # 下载 [root@web01 ~] ...
- While & For 循环
While 循环 可以将 While 循环称为 "条件循环" While 循环语法 # 条件为 true 就执行循环体代码,条件变为 false 循环结束 while 条件 do ...
- WOJ1022 Competition of Programming 贪心 WOJ1023 Division dp
title: WOJ1022 Competition of Programming 贪心 date: 2020-03-19 13:43:00 categories: acm tags: [acm,wo ...
- codeforces 920E(非原创)
E. Connected Components? time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- C# 类 (8) - 抽象方法
抽象 抽象方法 只能 定义在抽象类 里,并且抽象方法里没有具体的代码,像这种 为啥要定义一个空空如也的函数呢?这是为了用来约束 它的派生类 的行为, 这个例子,建立了一个数组,放了cat和dog,这两 ...
- C++ part9
1.静态多态和动态多态 静态多态:函数重载,模板.编译期间完成. 动态多态:虚函数.运行期间实现. 2.模板的实现和优缺点 函数模板的代码并不能直接编译成二进制代码,而是要实例出一个模板实例.写了模板 ...
- Angular 2 for 2017 web full stack development
1 1 1 Angular 2 for 2017 web full stack development 1 1 https://angular2.xgqfrms.xyz/ https://ng2-he ...
- git merge all in one
git merge all in one you can follow below steps 1. merge origin/master branch to feature branch # st ...
- react 遍历 object
@observable obj = { name: "ajanuw", age: 22, }; @computed get list() { return _.toPairs(th ...