1、关于自加自减的题目
int i = 1 ; int j = 10 ; while(i++ < --j){ System.out.println("yes"); } |
从题目来看主要是考查自加和自减操作符,首先来复习下自加自减操作符。
i++ : 首先这是一个表达式,这个表达式的值是i,执行完该表达式之后,i的值加1
++i:这个表达式的值为i+1,执行完这个表达式之后,i的值加+1
i--:这个表达式的值为i,执行完该表达式之后,i的值减1
--i:这个表达式的值为i-1,执行完该表达式之后,i的值减1
所以,while中判断条件应该是:
1<9符合,打印输出
2<8符合,打印输出
3<7符合,打印输出
4<6 符合,打印输出
5<5 不符合,退出while
2、java中为什么没有sizeof关键字
在c/c++中有sizeof关键字用于告诉你为数据项分配的字节数。在c/c++中,需要使用sizeof的最大原因就是为了“移植”,不同的数据类型在不同的机器上可能大小不相同,
所以在进行一些与存储空间大小有关的运算时,程序员必须知道那些数据类型具体有多大,例如一台计算机用32位来保存整数,而另外一台计算机用16位来保存整数,
显然,在第一台计算机中,程序可以保存更大的值,可以想象,移植令c/c++程序员来说是一件多么痛苦的事情!
而java不需要sizeof来满足这方面的需求,因为所有的数据类型在所有的机器中的大小都是一样。我们不必考虑移植问题,它已经被设计在语言中了。这些事情JVM会自
动帮我们做。
3、java中的数据类型
A:java中的数据类型分为基本类型和引用类型
基本数据类型有8种
int 32bit
short 16bit
char 16bit
float 32bit
double 64bit
byte 8bit
boolean 1bit or 8bit ?
引用类型有3类
类
数组
接口
B:关于boolean类型的大小
关于boolean类型的大小,众说纷纭,有的说是占1个bit,因为它只有两种可能,1个bit就能满足两种可能了。有的说是占8个bit,因为JVM在处理时,按字节为单位,去看看官方的文档,官方的文档也没有准确的说明是1bit还是8bit。个人认为boolean的大小是具体版本JVM去决定的。
C:Boolean 与 boolean的区别
Boolean是boolean的封装类,可以new,而boolean不行。同样的还有其他的基本数据类型。
D:String和StringBuilder
他们两个类的区别就在于String是不可变的,而StringBuilde是可以变的,在实际的开发中,如果需要做大量的字符串拼接的话,建议用StringBuilder,效率比用String要高很多。