新手java程序员经常犯的错误

虽然说java是c++进化而来,去除了c++复杂的一面。强调了对象。但是人非圣贤谁能无过。

下面我们就来说说程序员经常犯的错误:

1、局域和全部:来一段代码。

class Aa{

ArrayList arrayList;

Aa(){

ArrayList arrayList = new ArrayList();//将成员变量arrayList new出来。

}

}

看上面,不注意的小伙伴肯定觉得没错啊。其实应该是这样的

Aa(){

arrayList = new ArrayList();//将成员变量arrayList new出来。

}

前面不应该加ArrayList,加了的话,就是说在这个区域重新声明了arrayList。所以这是新程序员总数犯错的变量的局域。

2、java中的字符串比较:还是来一段代码。

public static void main(String ages[]){

String s = "java";

if(s == "java"){

//判断后执行的语句

}

}

上面声明了一个字符串String对象,然后赋值"java",后面用if语句进行判断。本来这也没错,但是这样的话,就是比较地址了。学过java,字符串对象就知道。类型变量“==“是比较值,对象用”==“是比较地址。上面if(s == "java")是不会成立。

正常的写法应该是if(s.equals("java")),使用字符串比较方法,这样就可以了。

3、数组越界问题:来一段代码。

public static void main(String ages[]){

int a[]=;

for(int i=0;i

System.out.println(a[i]);

}

}

回顾下以前学过的java知识,数组下标从0开始,也就是说a[0] 元素的值是1,a[1] 元素的值是2。但是要访问a[5]就会报数组越界错误。

正确的写法应该是for(int i=0;i

“我自己是一名从事了多年的java开发的老程序员,辞职目前在做线上教育讲师,今年4月我花了一个月整理了一份最适合2018年学习的java材料,从最基础的面向对象到线程,jdbc都有整理,送给每一位小伙伴,这里是学习者聚集地,欢迎初学和进阶中的小伙伴。"

加QQ群:850665689 (招募中)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180804A0JZM400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券