-------android培训、java培训、期待与您交流! ----------
1如果你觉得你很熟悉java,那么你认识这些关键字吗?
abstract | assert | boolean | break | byte |
case | catch | class | continue | |
default | do | double | else | enum |
extends | final | finally | float | for |
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 |
如果不出意外的话,我想会有assert,native,strictfp你不会很熟悉。但除此之外const和goto也是关键字,并且为保留字!
假如你这样int const=2;//那么你会有编译错误!java不用这两个值,也不许你用!
native的作用是你要假如java外的编程语言的话,就要用到她了。assert是断言的标记符。strictfp是用于标记方法的,精确标记符。实际上以上的关键字要认识,有些不是很常用。
2第一个demo是hello java。
public static void main(String[] args) {
System.out.println("hello java");
}
你会认为太简单吗?那么public可以换成private吗?会出现什么情况?
在java语言规范中有main函数必须为public,但是jvm的规范中没有。也就是说有的jvm或许可能编译通过!只是一个可能哦。要看jvm的技术细节了。
3当你写下short的demo
short lit;
lit=lit+1;//Type mismatch: cannot convert from int to short
你会认为他很正确吗?你试一下,由于lit为short,1在这里为int型的。会有convert转换异常!太让人恍然大悟了!
3你知道if()里面是什么类型的吗?
int flag=1;
if(flag==1)
System.out.println("right");
int flag=1;
if(1==flag)//你知道吗?c/c++高手是这样写代码的!但在java中flag=1再也不会骗过编译器了!
Boolean n=new Boolean(true);
if(n)
System.out.println("right");
Boolean的对象也是可以的!一定要活学活用!不要死记忆概念!
4你知道switch()里是什么吗?
int flag=0;
switch(flag)
{case 0:System.out.println("right");
break;//关于break你还会丢吗?如果丢了,会有right和wrong两个结果!
case 1:System.out.println("wrong");
break;
default :System.out.println("never");
}
你知道switch是只有byte,short,int,char如果是其他的会报错!如果为String的话Type mismatch: cannot convert from int to String,又是这个异常!Long你试一下!如果是Integer的话你知道了吗?
5你知道怎么去测试二维数组的大小么?
int[][] array=new int[3][4];
System.out.println(array.length);
是这样吗?你会得到3!好的怎么样去计算呢?你可以先计算维度i,利用维度i计算数组大小!
int i=array.length;
int sum=0;
for(int j=0;j<i;j++)
{
sum=sum+array[j].length;
}
System.out.println(sum);
你明白了没?array[i].length计算的是该维度下的长度!
6 break和continue怎么跳出循环?我觉得是break跳出这层循环!然后continue继续这层循环。好吧这些大家都知道。怎么用break跳出多个循环?用标签!
1.loop:
for(int i=0;i<10;i++)
2.loop:
for(int j=0;j<10;j++)
{
if(j==1)
{
System.out.println("haha");
break loop;
}
}
当你测试这个用例的时候会发现loop在1时会打印1个haha而在2的时候有10个!break+标签会跳出标签处的循环!你了解吗?
7if语句的奇怪waring
public static int sign(int n)
{
if(n<0)
return 0;
else if(n>0)
return 1;
else if(n==0)
return 0;
}
你能忍受这个警告?竟然是由于必须返回一个值!虽然你认为你的判断完美无缺,但是java编译器并没有你那么聪明!你需要改的是最后一个else if换为else!
如果你感觉我的demo帮到你了,谢谢。用心思考问题。
------- android培训、java培训、期待与您交流! ----------