1、
String tt;
System.out.println(tt);
提示语法错误,需要初始化,即为:
String tt=null;
System.out.println(tt);
2 、
1 Java变量写法
Java变量,只能以字母,下划线、美元开头。
String abc; 正确
String _dkj;正确
String $dks;正确
String %abc; // 此不正确,因为此时%为取摸运算,故不正确。
String abc%; //不正确,
String a%bc; //不正确,因%为运算符。 *********************运算符不可以出现在变量名中,如+-*/%,无论位置,都不可以出现在变量中。
2 static常见错误
static变量,只能定义在类下,不可以定义在类中的方法中,包括静态方法也不行
public static int amethod(){
static int i=0; //XXX 不可以定义在方法中
i++;
return i;
}
public static void main(String[] args) {
static int e[]=new int[15]; //XXX static也不可以出现在main中,即static不可以出现在方法中
}
public class StaticTest {
static int e[]=new int[15];
public static void main(String[] args) {
System.out.print(e[1]); //为0,初始化为0
}
3 substring和concat错误,
String foo="ABCDE";
foo.substring(3);
foo.concat("XYZ");
System.out.println(foo);
输出为:ABCDE
foo.substring(3);为把foo截取后返回一个值,但foo没有变。
t2= foo.substring(3); //返回的值为foo截取后的字符串,此为DE,为t2的值,但foo没有变。
System.out.println(t2+" "+foo1); //DE ABCDE
concat 为把两个字符串拼接,但原字符串不改变,只是返回值为合成的值。
String foo1="ABCDE";
String t2=foo1.concat("XYZ");
System.out.println(t2+" "+foo1);// ABCDEXYZ ABCDE
4
public static void fun(StringBuffer x,StringBuffer y){
x=x.append(y);
y=x;
}
StringBuffer a=new StringBuffer("A");
StringBuffer b=new StringBuffer("B");
fun(a,b);
System.out.println(a+","+b); //AB,B
5 比较数据的对错
public class ClassA {
Long val;
public ClassA(Long i){
val=i;
}
}
public class StaticTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Long a=new ClassA(10L).val;
Long b=new ClassA(10L).val;
Long c=b;
Long x=10L;
int y=10;
System.out.println("a="+a+" b="+b+" c="+c+" x="+x+" y="+y);
System.out.println(a==b);
System.out.println(a==c);
System.out.println(x==a);
System.out.println(y==b);
System.out.println(x==y);
System.out.println(y==c);
}
//输出为:
a=10 b=10 c=10 x=10 y=10
true
true
true
}
164

被折叠的 条评论
为什么被折叠?



