java重_重拾JAVA,重识JAVA(一)
一转眼就大四了,大学的时光荒废了不少,临近毕业,面临就业,不得不敲醒警钟,再不努力我们就老了。
从今天开始翻书,同时也用blog记录一下学习成长的过程。看的第一本是相当基础的
不得不说的就是这本书的厚度,不解释啊,就是块砖。就当巩固基础,查漏补缺了。能翻到几条以前没注意过的细节就算赚了。
快速翻阅了一下前五章,没有什么特别需要记录的,就两点懒得记,用到再翻的小知识,写在这,方便以后查阅。
一、常用的javadoc标签(2.8.4)
1.1 @see
@see标签允许用户引用其他类的文档。javadoc会在其生产的HTML文件中,通过@see标签连接到其他文档。格式如下:
1 @see classname2 @see fully-qualified-classname3 @see fully-qualified-classname#method-name
1.2 {@link package.class#member label}
该标签与@see极其相似,只是它用于行内,并且使用“label”作为超链接文本而不用“See Also”。
1.3 {@dorRoot}
该标签产生到文档根目录的相对路径,用于文档树页面的显示超链接。
1.4 {@inheritDoc}
该标签从当前这个类的最直接的基类中继承相关文档到当前的文档注释中。
1.5 @version
该标签格式如下:
1 @version version-information
1.6 @author
该标签可以使用多个,以便列出所有作者,但是它们必须连续放置。全部作者信息会合并到统一段落,置于生成的HTML中。格式如下:
1 @author author-information
1.7 @since
该标签允许你指定程序代码最早使用的版本,可以在HTML java文档中看到它被用来指定所用的JDK版本的情况。
1.8 @param
该标签用于方法文档中,格式如下:
1 @param parameter-name description
其中,parameter-name是方法的参数列表中的标识符,description是可延续数行的文本,终止于新的文档标签出现之前。可以使用任意多个这种标签。
1.9 @return
该标签用于方法文档,格式如下:
1 @return description
1.10 @throws
该标签格式如下:
1 @throws fully-qualified-class-name description
其中,fully-qualified-class-name给出一个异常类的无歧义的名字,而该异常类在别处定义。
1.11 @deprecated
该标签用于指出一些旧特性已由改进的新特性所取代。在Java SE5中,javadoc标签@deprecated已经被@Deprecated注释所替代。
二、移位操作符(3.11)
移位操作符操作的运算对象也是二进制的“位”。移位操作符只可用来处理整数类型(基本类型的一种)。
左移位操作符(<
“有符号”右移位操作符(>>)能按照操作符右侧指定的位数将操作符左边的操作数向右移动。“有符号”有移位操作符使用“符号扩展”:若符号为正,则在高位插入0,;若符号为负,则在高位插入1。
"无符号"右移位操作符(>>>)使用“零扩展”:无论正负,都在高位插入0。
如果对char、byte或者short类型的数值进行移位处理,那么在移位进行之前,它们会被转换为int类型,并且得到的结果也是一个int类型的值。只有数值右端的低5位才有用。这样可以防止我们移位超过int类型所具有的的位数(32位)。若对一个long类型的数值进行处理,最后得到的结果也是long。此时只会用到数值右端的低6位,以防止移位超过long型数值具有的位数(64位)。
“移位”可与“等号”(<<=、>>=或>>>=)组合使用。此时,操作符左边的值会移动由右边的值指定的位数,再将得到的结果赋给左边的变量。但在进行“无符号”右移位结合赋值操作时,可能会遇到一个问题:如果对byte或short值进行这样的移位运算,得到的可能不是正确的结果。它们会先被转换成int类型,再进行右移操作,然后被截断,赋值给原来的类型,在这种情况下可能得到-1的结果。
三、练习(4.8 练习10)
在翻阅过程中,还碰到一道比较有趣的课后小题,在这分享下:
吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如,下列数字都是“吸血鬼”数字:
1260 = 21 * 60
1827 = 21 * 87
2187 = 27 * 81
写一个程序,找出四位数的所有吸血鬼数字。
1 packagecom.gy.study;2
3 public classStudy_0003 {4 public static voidmain(String[] args) {5 for (int i = 10; i < 100; i++) {6 for (intj = Math.max(i, 1000 / i);
7 j < 100 && i * j < 10000; j++) {
8 if (i * j < 1000) {
9 continue;10 }
1112 if(check(i, j, i * j)) {13 System.out.println(i + " * " + j + " = " +(i * j));14 }15 }16 }17 }18
19 static boolean check(int i, int j, intk) {20 char[] ci = ("" +i).toCharArray();21 char[] cj = ("" +j).toCharArray();22 char[] ck = ("" +k).toCharArray();23 char[] cij = new char[ci.length +cj.length];24 for (int l = 0; l < cij.length; l++) {25 if (l
32 int count = 0;33 for (int m = 0; m < ck.length; m++) {34 for (int n = 0; n < cij.length; n++) {35 if (ck[m] ==cij[n]) {36 count++;37 cij[n] = 'n';38 break;39 }40 }41 }42
43 if (count ==ck.length) {44 return true;45 } else{46 return false;47 }48 }49 }
由于时间有限,我也没有仔细去优化以及修改代码了,原书答案比我的代码更针对题目,不过思路差不多,凑合着看吧。
本书作者也给出了所有原代码,请大家参阅。我也将原书答案贴出,供大家研究学习。
1 packagecontrol;2
3 public classE10_Vampire {4 public static voidmain(String[] args) {5 int[] startDigit = new int[4];6 int[] productDigit = new int[4];7 for (int num1 = 10; num1 <= 99; num1++)8 for (int num2 = num1; num2 <= 99; num2++) {9 //Pete Hartley's theoretical result:10 //If x·y is a vampire number then11 //x·y == x+y (mod 9)
12 if ((num1 * num2) % 9 != (num1 + num2) % 9)13 continue;14 int product = num1 *num2;15 startDigit[0] = num1 / 10;16 startDigit[1] = num1 % 10;17 startDigit[2] = num2 / 10;18 startDigit[3] = num2 % 10;19 productDigit[0] = product / 1000;20 productDigit[1] = (product % 1000) / 100;21 productDigit[2] = product % 1000 % 100 / 10;22 productDigit[3] = product % 1000 % 100 % 10;23 int count = 0;24 for (int x = 0; x < 4; x++)25 for (int y = 0; y < 4; y++) {26 if (productDigit[x] ==startDigit[y]) {27 count++;28 productDigit[x] = -1;29 startDigit[y] = -2;30 if (count == 4)31 System.out.println(num1 + " * " + num2 + "
32 :" +product);33 }34 }35 }36 }37 }
好了,这篇博客就先写到这吧,继续学习,大家加油。
java重_重拾JAVA,重识JAVA(一)相关推荐
- 精通java图片_面试必备:详解Java I/O流,掌握这些就可以说精通了?
Java IO概述 IO就是输入/输出.Java IO类库基于抽象基础类InputStream和OutputStream构建了一套I/O体系,主要解决从数据源读入数据和将数据写入到目的地问题.我们把数 ...
- 小白学习python好还是java好_小白应该学Python还是Java?
Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...
- cmd编译java命令_使用CMD命令编译执行java命令
写程序时,有时候需要动态编译执行,经过各种百度及实战,总结一些使用经验. .java文件分为有包名,无包名,又分为有jar包,无jar包,是否指定jre等等. 接下来总结如下: cmd 编译执行jav ...
- selenium java 验证码_如何使用Selenium WebDriver和Java从图像(验证码)中读取文本
我有注册网页,但在最后验证码显示.. 我无法从图像中读取文本.我要提一下代码和输出.. @Test public void loginTest() throws InterruptedExceptio ...
- 零基础可以学习java吗_零基础真的可以学习java吗?
Java是一个比较抽象的开发语言,涉及知识点比较多,如果自学的话,可以按照五个阶段来学习,先学好基础知识,再逐步扩展,由易到难.要注意视频和书本内容相辅相成,切记不要只看视频而不忽略书本基础的知识要点 ...
- lr java脚本_【上海校区】 LR Java脚本编写方法
之前在某一家银行也接触过java写的性能接口脚本,最近因项目,也需编写java接口性能测试脚本,脑袋一下懵逼了,有点不知道从何入手.随后上网查了相关资料,自己又稍微总结了一下,与大家共同分享哈~ 首先 ...
- 第三方工具监控java进程_前9个免费的Java进程监视工具以及如何选择一种
第三方工具监控java进程 这样就可以运行Java代码了. 也许它甚至可以在生产服务器上运行. 当您做好工作后,我们得到了好消息和令人讨厌的消息. 令人讨厌的消息是,现在开始调试. 就是进行调试和应用 ...
- amd cpu不能在cmd环境下运行java代码_如何在Windows10中配置java的JDK环境
今天给大家分享一下如何配置java的JDK环境.操作步骤如下: 1.下载好 jdk 的安装文件,我下载的是 jdk-10.0.1_windows-x64_bin.exe 这个版本的安装文件: 2.使用 ...
- 银河麒麟配置java环境_中标麒麟系统上安装Java、Eclipse指南.doc
中标麒麟系统上安装Java环境指南 Java_NeoKylin_Install_Guide 2015-01-12 修订记录 序号 版本号 日期 修订人 摘要 1 1.0 目录Content 概述 -- ...
- 用控制台怎么编译java程序_怎么在cmd中运行java控制台程序?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2010-08-07 17:00 1,111 SendGift.java 2010-08-09 17:40 ...
最新文章
- Ajax全局加载框(Loading效果)的配置
- set python用法_Python set()用法及代码示例
- 代码动态改变 NGUI UILabel 的字体
- Unicode 和 UTF-8 之间的关系
- asp.net中DataList和Repeater的使用
- c语言程序设计怎么改卷,C语言程序设计(B卷)教程.doc
- python 爬虫视频教学
- SiamFC代码讲解,训练过程讲解
- Windows系统口令扫描之——使用NTScan扫描Windows口令
- Altium Designer快捷键,布线技巧
- 爬取Google网站的图片
- ubuntu安装anaconda3报错
- 红米k40和红米k40pro的区别 哪个好
- tm1650按键处理c语言,求助51C语言X9C系列APP遥控驱动显示TM1650怎么将下面的程序合成...
- 商务工作人员用什么邮箱,超好用的商务邮箱申请攻略!
- C++ 缺省参数及函数重载分析
- SDWebImage 图片加载失败
- redis分布式事务锁
- 优秀!24岁北航博士一毕业即受聘211高校副教授
- gradle mysql方言_2020 年 4月 随笔档案 - xj_aks - 博客园
热门文章
- python新式类c3算法_python中的MRO和C3算法
- 虚拟机Ubuntu20.04.2LTS卸载python3.8出现tty1-tty6循环登录,无法进入图形化界面,乱码(亲测)
- 一个常用的Android工具库
- 发动机性能测试软件,发动机的性能测试方法
- C++案例 利用基本语法实现程序
- OpenShift 4 之Istio-Tutorial (7) 利用VirtualService的故障注入实现混沌测试Chaos Testing
- Abp Vnext应用程序项目中添加docker支持的小结
- 进入REST Core
- 实现机器学习的循序渐进指南VI——AdaBoost
- coreldraw凹槽_CorelDRAW教程 打造逼真静物写生油画