thinking in java知识小记(一)

知识点一(javadoc):

使用javadoc时特别注意选择encoding和charset为utf-8,要不然生成的javadoc会是乱码,命令:javadoc -encoding utf-8 -charset utf-8 *.java

附录(javadoc标记)

@author    作者标识

@version    版本号

@param    参数

@return    描述

@deprecated    过期

@throws    异常

@see    引用

@since    描述(API在什么程序的什么版本后开发支持)

@link    链接到某个特定的成员对应的文档中(用法为)

@value    对常量进行注释时,将常量的值包含在标签中

此外还有@serial、@serialField、@serialData、{@docRoot}、{@inheritDoc}、{@literal}、{@code} {@value arg}不常用标签

示例程序:

* @author rjh

* @version v1.0

* @param args The<code>args</code>will be print

* @deprecated  从下一个版本过期

* @exception Exception a exception will{@link Test4} be throw

* @see #toString()

* @serialData 2016/6/02

参考地址:http://baike.baidu.com/view/975838.htm

知识点二(按位运算符):

需知道    1101=(1*2^0)+(0*2^1)+(1*2^2)+(1*2^3)=13,抽象出数学表达式如下:

n为第x位上的数字(默认都是从低位到高位),则每一位上对应的十进制数通用表达式为n*2^x,最后求和即是答案

&    按位与,若两位中有一位是0则为0否则为1,例子:

1101    13(Decimal)

0110    6(Decimal)

按位与为    00100    4(Decimal)

 |    按位或,若两个输入位都是0的情况下才会产生一个0,例子:

1101    13(Decimal)

0110    6(Decimal)

按位或为    1111    15(Decimal)

 ^    按位XOR(异或)若两个输入位相反则为1,例子

1101    13(Decimal)

0110    6(Decimal)

按位异或为    1011    11(Decimal)

 ~    按位非,是一元运算符,只针对一个二进制数据起作用,取相应进制位上边,例子:

1101    13(Decimal)

按位非为    0010    2(Decimal)

知识点三(equals)

默认的equals方法比较的是引用的句柄,而其它一些类比较的是对象内容,是因为实现了equals方法。

Object中的equals方法为:

public boolean equals(Object obj) {

        return (this == obj);

 }

  

可以很直观的看出来这是使用==号判断是否相等,即比较的是值。

补充例子:char c = (char)(Math.random() * 26 + ‘a‘);输出的c是一个a-z中间任意英文字母,此时+号计算的是double和int值(a所对应的ACII)

时间: 2024-10-14 04:30:38

thinking in java知识小记(一)的相关文章

java 知识收集

1,若方法传入的对象参数为空,则在方法中改变参数并不会改变声明的对象 public void setList(List<String> list){ list = new ArrayList<String>() ; } @Test public void t4(){ List<String> list = null ; setList(list); System.out.println(list );//输出 null } 2,不要再foreach遍历的时候删除 jav

java知识查漏补缺

一.重写(override)和重载(overload)的区别 二者除了名字相似,其实没什么联系 范围不同:重写发生在同一个类的不同方法之间.重载发生在父类和子类自荐. 前提: 重写要求:方法名相同,参数列表不同,对于返回值类型不要求相同. 重载要求:方法名形同,参数列表也相同.重载是实现多态的关键,注意如果父类中的方法是private类型,那么子类中对应方法不算重载,而相当于是定义了一个新方法. 二.final的用法 修饰类:该类不能被继承 修饰方法:该方法不能被重写 修饰属性:该属性初始化后不

java中断小记(二)

在上一篇博文中,介绍了成员方法interrupt()的用法,这篇接上上篇继续介绍剩下的两个与中断有关的方法. 2.成员方法new Thread().isInterrupted() 通常使用Thread.currentThread().isInterrupted()方法判断某个线程是否已被发送过中断请求(某一线程被发送过中断请求后并一定会中断),因为它将线程中断标示位设置为true后,不会立刻清除中断标示位,即不会将中断标设置为false.程序示例如下: package com.szw.test;

wine习得知识小记

1. VS2008: sizeof cout:56 sizeof cin:60 sizeof streamsize: 4 VS2012 sizeof cout:80 sizeof cin:96 sizeof streamsize: 8 这样就很明显了,为了支持大的stream而故意引入streamsize的改变. 2. 以前初学C\C++用pow函数的时候也有点疑惑,为什么参数int要转化成double,以为是系统规定的,当时为了编译能过就用了转换了,也没有看源代码的想法.今天看了HongQia

Java知识简介与环境变量配置问题

一.在学习一门语言中,不仅需要掌握其语法结构,开发平台以及环境也是很重要的.在开始Java学习之前首先对其进行压缩包的下载安装,以及开发平台环境下载安装.基于此下面文章就此展开: 1.        下载并安装JDK包,然后进行快速正确安装操作.(具体安装步骤网上很多,不在赘述.) 2.        安装成功后,需要对其进行环境变量配置,这一点有点特别,特别针对C语言.C#语言开发的同学更应该注意. 环境变量配置步骤如下: 打开:计算机属性->高级->环境变量选项卡->系统变量->

java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础

补充聊天项目功能,做如下需求分析: 梳理项目开发所需的必要Java知识基础 GUI将使用更快速的swt实现 SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的. 在SWT之前,Sun已经提供了一个跨平台GUI开发工具包就是AWT (Abstract Windowing Toolkit). swt开发包下载地址 链接: https:/

Java知识图谱(附:阿里Java学习计划)

摘要:     本文主要描绘了Java基础学习过程,给出Java知识结构图,以及阿里Java岗学习计划,对Java学习爱好者.准备及将要从事Java开发方面的同学大有裨益. 温馨提示:     由于CSDN对图片的压缩,导致图片观看效果不理想,建议大家通过右键"在新标签页打开图片"进行观看或直接把图片下载下来观看. JVM 1. 内存模型( 内存分为几部分? 堆溢出.栈溢出原因及实例?线上如何排查?) 2. 类加载机制 3. 垃圾回收 Java基础 什么是接口?什么是抽象类?区别是什么

Java知识回顾 (11) 异常处理

距离最近的 Java知识回顾系列(10),2019.4.24日,到现在,已经近半年过去了. 感觉,做一件事情,如果有头无尾,实在不好,心里会一直悬着.所以,现在继续上面的内容. 再次声明,正如(1)中所描述的,本资料来自于runoob,略有修改. 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error. 异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据. 要打开的文

Java知识树梳理

Java知识树梳理 1.前端 HTML CSS JavaScript 2.后台 Java基础 算法 web方面 分布式.中间件.服务器等方面 大数据方面 3.数据库 原文地址:https://www.cnblogs.com/Lonnn/p/11727752.html