漫漫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语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
随机推荐
- Codeforces Round #667 (Div. 3) C. Yet Another Array Restoration (数学)
题意:给你两个数字\(x\)和\(y\),让你构造一个长度为\(n\)的序列,要求包含\(x\)和\(y\),并且排序后相邻两项的差值相等. 题解:有排序后相邻两项的差值相等可知,构造的序列排序后一定 ...
- C#之抛异常
using System; namespace Demo { class Program { static void Main(string[] args) { try { BLLLayer(); } ...
- 002、Python中json字符串与字典转换
1.测试用例文件TestCase.xlsx 2.编写Python文件进行读取 #!/usr/bin/env python # -*- coding:utf-8 -*- import time impo ...
- 列表解析式 -- Python
列表解析的语法:[expr for iter_var in iterable], 它迭代iterable对象的所有条目.其中的expr应用于序列的每个成员,最后的结果值是该表达式产生的列表,迭代变量并 ...
- forEachRemaining()方法的用法
forEachRemaining()是java1.8新增的Iterator接口中的默认方法对于这个方法,官方文档是这么描述的:Performs the given action for each re ...
- 二进制安装kubernetes(六) kube-proxy组件安装
Kube-Proxy简述 参考文献: https://ywnz.com/linuxyffq/2530.html 运行在每个节点上,监听 API Server 中服务对象的变化,再通过管理 IPtabl ...
- bzoj4355 Play with sequence(吉司机线段树)题解
题意: 已知\(n\)个数字,进行以下操作: \(1.\)区间\([L,R]\) 赋值为\(x\) \(2.\)区间\([L,R]\) 赋值为\(max(a[i] + x, 0)\) \(3.\)区间 ...
- 牛客多校第九场 && ZOJ3774 The power of Fibonacci(二次剩余定理+斐波那契数列通项/循环节)题解
题意1.1: 求\(\sum_{i=1}^n Fib^m\mod 1e9+9\),\(n\in[1, 1e9], m\in[1, 1e4]\) 思路1.1 我们首先需要知道斐波那契数列的通项是:\(F ...
- JVM系列之一 JVM的基础概念与内存区域
前言 作为一名 Java 语言的使用者,学习 JVM 有助于解决程序运行过程中出现的问题.写出性能更高的代码. 可以说:学好 JVM 是成为中高级 Java 工程师的必经之路. 有感于从未整理归纳 J ...
- 如何用 js 实现一个类似微信红包的随机算法
如何用 js 实现一个类似微信红包的随机算法 js, 微信红包, 随机算法 "use strict"; /** * * @author xgqfrms * @license MIT ...