JAVA中,引用的类,可以在引用之后定义
public static void main(String[] args)
args 指的是命令行里的数组,java 类名 pp1 pp2
其中args[0]为pp1
java 类名 不作为数组元素
是否有命令参数,可以通过args.length > 0来判断
if(args.length>0)
{
for(int i=0;i<args.length;i++)
{
System.out.println(args[i]);
}
}
在Java中,boolean、byte、short、int、long、char、float、double这八种是基本数据类型,其余的都是引用类型。
“==”是比较两个变量的值是否相等,“equals”是比较两个对象变量所代表的对象的内容是否相等。
String str1=new String("abc");
String str2=new String("abc");
String str3=str1;
if(str1==str2)//它们不相等,因为它们比较的不是内容,是引用的值,相当于地址的比较
{
System.out.println("str1==str2");
}
if(str1==str3)//它们相等,因为它们引用的值相等
{
System.out.println("str1==str3");
}
if(str1.equals(str2))//它们相等,因为它们是在比较内容,内容相等
{
System.out.println("str1 equals str2");
}
当我们声明一个引用类型变量时,系统只为该变量分配了引用空间,并未创建
一个具体的对象;当用new为对象分配空间后,将对象的引用赋值给引用变量。
String str=“abc”;
int i=3;
float f=4.5f;
char ch='a';
boolean b=true;
System.out.println(str + i + f + ch + b);//***********str的内容会变成abc34.5atrue
针对String的“+”和“+=”,是Java中唯一被重载的操作符;在Java中,不允许程序员重载操作符。
String类对象一个常量对象。
String str=“abc”;//"abc"是个String类对象
str2 = str;
str=“def”;//作为引用的str变量被改变了,作为String类对象的"abc"成了垃圾内存,
则 str 不等于 str2//所以"abc"是常量**************
在处理大量字符串的程序中,我们通常用StringBuffer来替代String。
StringBuffer类, 在处理大量字符串的程序中,我们通常用StringBuffer来替代String,StringBuffer的内容变化时,引用的地址不改变,但要对其进行初始化,StringBuffer str = new StringBuffer();。
常用方法delete, insert
JAVA中,索引都是从0开始的
JAVA中,所有数组都有个属性,ARRAY.length(数组元素个数),ARRAY=null(相当于C中的取消地址)
int i=3;
float f=1.5f;
char ch='f';
boolean b=false;
//System.out.println(str1+i+f+ch+b);//引用地址改变
StringBuffer sb=new StringBuffer();
sb.append(str1).append(i).append(f).append(ch).append(b);//引用地址不改变
//System.out.println(sb.toString());系统会自动加上.toString();
sb.delete(4,8);
sb.insert(4,"mybole");
System.out.println(sb);
int[] num=new int[3];
for(int i=0;i<num.length;i++)//所有数组都有这个属性,ARRAY.length
{
System.out.println(num[i]);
}
num=null;
ToString的用法,当println时,会自动调用toString函数
public String toString()
{
return "x="+x+","+"y="+y;
}