《疯狂Java讲义》 3-数据类型与运算符

总结

  Java是强类型语言:变量想声明后使用,类型要匹配。

1、注释

  Java的单行注释与多行注释与C++类似,//  /*  */

  Java还提供了文档注释,使用javadoc工具可以直接将注释提取为API文档。(好多好多好多类,指导如何使用)

    • javadoc只处理在类最前部的注释,默认只处理public、protected修饰的类。
    • javadoc -private
    • 文档注释以/**开始,以*/结束
    • javadoc的参数

    

    

    

    *Test.java 所有以Test结尾的程序

    

    

    javadoc默认不提取@author,@version,如要则加-author等参数

    

    包?首行的  package yeeku;  对包的注释。

    包注释并非在java源文件中,需另外指定。标准的HTML文件,文件名为package.html

    

2、标识符与关键字

  分隔符与C#.net类似。命名的标识符还可以用$作为开头。

  Java所有关键字都是小写的。

  

3、数据类型

  变量相当于一个有名称的容器(内存),用于装各种不同类型的数据。

  • 基本类型:boolean型,数值型。char相当于无符号整数类型。
  • 引用类型:类,接口,数组(String),null。实际相当于指针

  

  注意:要想将大数(超出int范围)当作long来处理,必须在数字后加L标注。因Java自动当作int来处理。

  0b开头:二进制;0开头:8进制;0x开头:16进制;之后字符倒是不区分大小写。

  

  总之,如果用二进制表示,最高位是符号位!对long来说也是。默认右边都是32位,溢出?

  \uxxxx:Unicode值

  char类型可以当做字符对应的编码参与运算。16位。可以用String类来表示字符串,双括号。

  Java的浮点数采用科学计数法(符号位+指数+尾数),用精确可用BigDecimal类

  Java默认是double,float要用F在末尾标记。

  除0.0得三个特殊的浮点数:double类的POSITIVE_INFINITY,NEGATIVE_INFINITY,NAN(与任何数不相等,甚至NAN)

  可以在数值中使用下划线分隔来数位数。

  Java的布尔型只能true,false,不能0或非0(所以不能通过数值转换得到)

  +可作为字符串连接符,且从左到右执行。3+4+“”

  强制类型转换的数值变化应当注意一下。

  生成随机字符串->生成多个特定范围内的数字,再转换

  float a=5.6 是错的。5.6默认是double型,得接F或(float)

  基本类型对应的包装类。int的Integer有parseInt方法可以直接转换字符串

  表达式类型保持与表达式中最高等级操作数相同的类型。23/3=7,这点和C++一样诶

  这里主要字符串和数值的加法,与字符(自动提升为int)与int数值的加法的区别。从左至右,注意书上的例子。

  

  常量池:编译器被确定,保存在.class 中的数据。故同样的字符串可以用==判断,只有一个该常量,全都是它的引用。

  运算符一些要注意的:3/2  3.2%2.1  a++ ++a  Math.pow(3,2)  Math.random  Math.sin  

  Java支持连续赋值,表达式值等于右边的值。

  注意复数的取反~,对计算机底层的二进制码进行操作,复数是补码。

  >>(填充符号位)  >>>(补0)  位移不超限的话,可以用来作为*2 /2

  

  可以用+=等  可防止右端表达式类型不同。底层运行机制不同

  

  > >=只支持数值类型(char也ok吧),==可用于同一对象的引用,以及false==true返回false,具体可见P95

  &&和&的区别,&不短路,&前是0了仍计算后面的,4<5 & a++>10  ||与|类似

  是否? 1:2  这个在Java里也有。可多重嵌套

问题

1、文档注释?

  描述部分+标记部分。这篇文章比较详细:https://blog.csdn.net/garfielder007/article/details/54959587

2、包级别的注释?

  和python的包有何异同?

3、数字的计算机表示方法:原码,反码,补码。

 

posted @ 2018-10-05 15:10  iamwlx  阅读(132)  评论(0编辑  收藏  举报