| abstract | assert | boolean | break | byte |
| case | catch | char | class | const(保留) |
| continue | default | do | double | else |
| enum | extends | final | finally | float |
| for | goto(保留) | if | implements | import |
| instanceof | int | interface | long | native |
| new | package | private | protected | public |
| return | strictfp | short | static | super |
| switch | synchronized | this | throw | throws |
| transient | try | void | volatile | while |

| 整数类型 | 所占空间 | 精度 |
| long | 64位 | -2^63~2^63-1 |
| int | 32位 | -2^31~2^31-1 |
| short | 16位 | -2^15~2^15-1 |
| byte | 8位 | -2^7~2^7-1 |
学生提问:为什么一个类型的精度的幂数总是所占空间-1?例如int类型占32为,为什么精度的幂数是31?
答:二进制中的原码需要使用最高的一位作为符号位,如果为0则为正、1为负。32位中有一位被用作符号位,剩余的31位便是绝对值。
| 浮点类型 | 所占空间 | 精度 |
| double | 64位 | 4.9^-324~1.7976931348623157^308 |
| float | 32位 | 1.4^-45~3.4028235^38 |



学生提问:为什么我对两个int进行除法运算,结果却是向下取整的?我想要结果是一个精确的小数,怎么办?
答:两个int相除结果必定是向下取整的。如果两个数字中有一个以上是浮点的话,结果就会是小数。不过也不需要专门因为除法运算把变量声明为浮点,以后学到强制转换了就可以解决。目前来讲先暂时把一个变量声明为浮点吧。



| 输入1 | 输入2 | 输出 |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
| 输入1 | 输入2 | 输出 |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
| 输入 | 输出 |
| 0 | 1 |
| 1 | 0 |
| 输入1 | 输入2 | 输出 |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |

学生提问:那么“&”和“&&”,“|”和“||”真的没有什么区别吗?
回答:其实有区别,主要有两点。第一点:与和非中有两个布尔参与运算。先说与运算。如果第一个布尔为假,那么结果肯定为假,两者的区别是&&一旦看到第一个布尔为假,就不会管第二个了,直接返回假;若使用&,就算第一个为假,他也会计算后面的布尔。或运算一样,如果第一个为真,结果肯定为真。若使用||,第一个为真,就不会去管第二个了,直接返回真;若使用|,就算第一个布尔是真,他也会去计算第二个布尔。这是第一点。第二点:&&和||双方只能用布尔类型来运算。但是&和|双方也可以是数值类。这点我们马上会讲。















| 扩展运算符 | 意义 |
| += | a+=b与a=a+b等价 |
| -= | a-=b与a=a-b等价 |
| *= | a*=b与a=a*b等价 |
| /= | a/=b与a=a/b等价 |
| %= | a%=b与a=a%b等价 |
| &= | a&=b与a=a&b等价 |
| |= | a|=b与a=a|b等价 |
| ^= | a^=b与a=a^b等价 |
| <<= | a<<=b与a=a<<b等价 |
| >>= | a>>=b与a=a>>b等价 |
| >>>= | a>>>=b与a=a>>>b等价 |


学生提问:那么我想要储存一个句子,而非一个字符,如何做到?
答:要储存一个句子,也就是“一堆字符”,需要用到字符串String。String是一个类,我们在讲面向对象之后会学习到。


FinalDemo.java:5:错误:不可以把一个值赋值给常量PI
学生提问:如果被声明为final的常量刚开始没有被赋值会怎么样?例如:
复制代码
- class FinalDemo3{
- public static void main(String[] args){
- final double PI; //仅声明,没有赋值
- PI = 3.1415926535;
- System.out.println("PI的值为"+PI);
- }
- }
答:可以通过。常量的定义是只能赋值一次。在这个例子当中刚开始都没有赋值过,所以后来的赋值没有关系。





| 可被转义的字符 | 意义 |
| \n | 换行 |
| \t | 按下tab |
| \r | 按下回车 |
| \b | 退格 |
| \" | 双引号(不会开始/关闭字符串) |
| \' | 单引号(不会开始/关闭字符) |
| \\ | 反斜杠(不会转义字符) |


| 运算符 | 描述 |
| () | 括号 |
| +、- | 正负号 |
| ++、--、! | 一元运算符(自增自减以及非门) |
| *、/、% | 乘除、取余数 |
| +、- | 加减 |
| <<、>>、>>> | 位移运算 |
| <、>、<=、>= | 比较大小 |
| ==、!= | 比较是否相等 |
| & | 数值与运算 |
| ^ | 数值异或运算 |
| | | 数值或运算 |
| && | 布尔与运算 |
| || | 布尔或运算 |
| ? : | 三元运算符 |
| =、+=、-=、*=、/=..... | 赋值运算或扩展赋值运算 |
WuYunzhe 发表于 2015-10-17 05:15
发现一点小问题。。
jinyigeng 发表于 2015-11-27 06:21
感觉新手np++比较好一些
新手代码不熟悉,以很容易出现代码错误
你像halloworld就用记事本足矣
ufof 发表于 2015-11-27 22:39
我给你的关键字并没有让你背,我只是列举出来让大家看一下就可以了。
关于javadoc的制作,第八章有。 ...
Grave_tiger 发表于 2015-12-6 03:36
感谢楼主的教程,受教了。其实我没有一点关于java的基础,提个问题:
大驼峰和小驼峰在原文中只是说“适合 ...
ufof 发表于 2015-12-6 20:05
层主的意思是说,用大驼峰命名变量;小驼峰命名类,是吗?
如果用这样的方法命名,不会有任何语法方面的 ...
Innovators 发表于 2016-1-26 23:43
有点不懂数据转换的意义
如果开始就声明一个long类型的变量num
就不用出现
QQ图片20160505172819.png (44.62 KB, 下载次数: 2)
QQ图片20160505172757.png (38.34 KB, 下载次数: 1)
c20080110 发表于 2016-5-5 01:23
为什么会出现这个问题
ufof 发表于 2016-5-5 18:44
运行非法的代码不报错会怎样
c20080110 发表于 2016-5-9 01:40
谢谢哈 因为不知道为什么 看教程时不能看见图片 所以理解有点费力 现在懂了 ...
ufof 发表于 2016-5-9 17:43
日,貌似是贴图库崩了。我假期时候再抢救吧。