漫漫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语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
随机推荐
- Git使用出现Automatic merge failed; fix conflicts and then commit the result.解决方法
产生原因 首先这个问题产生的原因是因为你git pull 的时候会分为两步,第一步先从远程服务器上拉下代码,第二步进行merge,但是merge时候失败了就会产生上述问题. 解决方法: 丢弃本地提交, ...
- 牛客多校第六场G Is Today Friday?(吉姆拉尔森/蔡勒公式 + 思维)题解
题意: 给你\(A-J\)的字母组成的日期,形式为\(yyyy/mm/dd\).现给你\(n\)个这样的串\((n<=1e5)\),问你把字母映射成数字,并且使得所有日期合法且为星期五的最小字典 ...
- 微信小程序开发抖音去水印功能
之前找了很多抖音去水印的工具全是广告,所以索性自己写了一个,提供给大家免费试用以下是微信小程序的二维码 使用教程: 1.打开微信搜索小程序:沸点软件技术服务 2.打开沸点软件技术服务小程序 3.去抖音 ...
- MDN All In One
MDN All In One https://github.com/mdn/ https://wiki.mozilla.org/MDN MDN 要凉了 https://developer.mozill ...
- MySQL 8.x
MySQL 8.x SQL & NoSQL $ mysql --version # mysql Ver 8.0.21 for osx10.15 on x86_64 (Homebrew) # M ...
- js bitwise operation all in one
js bitwise operation all in one 位运算 & 按位与 | 按位或 ^ 按位异或 / XOR let a = 5; // 000000000000000000000 ...
- Frameworkless Movement
Frameworkless Movement 无框架运动 https://www.frameworklessmovement.org/ vanilla javascript https://githu ...
- node.js & Unbuntu Linux & nvm & npm
node.js & Unbuntu Linux & nvm & npm https://websiteforstudents.com/install-the-latest-no ...
- chrome device remote debug
chrome device remote debug chrome://inspect/#devices chrome inspect devices Android chrome MIDI / MT ...
- TypeScript 3.7 RC & Nullish Coalescing
TypeScript 3.7 RC & Nullish Coalescing null, undefined default value https://devblogs.microsoft. ...