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
日,貌似是贴图库崩了。我假期时候再抢救吧。