作者:-1的人生 | 来源:互联网 | 2023-05-18 11:24
Java常用的包有以下几个:Java.lang,这个包通常不用import导入,他会自动被东如,包含有String,Math,Integer,System,Runtime等类;Java.app
Java常用的包有以下几个:
Java.lang,这个 包通常不用import导入,他会自动被东如,包含有String,Math,Integer,System,Runtime等类;
Java.applet 包含有创建小应用程序的类;
Java.awt,编写与平台无关的图形界面(GUI)
Java.io,输入输出操作
Java.net 网络链接
Java.util 使用工具类,数据结构相关;
-------------
八个基本类型
Long ,short,int ,float,double,char,byte,boolean;其他的数据类型都被称为“引用类型”
-------------
用两个等号组成的符号“==”是用来测试两个变量是否相等,但是如果是对象变量,则不能用这个符号,因为对象变量他的值只是指向栈内存中的一个地址,是一个引用。这时候我们需要用到equals()函数。
说到string类,string类的对象可以和任何类型的数据相加,JAVA为string类型重载了两个运算符“+”和“+=”,这是JAVA里仅有的两个被重载的运算符,而且JAVA不允许程序员自我重载运算符,相加的结果是,被加的变量以一个字符串的格式被加到string类对象的后面。但是实质上,string类是某种程度上不可变的,例如,初始化一个String str=new String("abc");我们无法对这个str对象做任何修改,不能试图对他添加或者删除元素,却允许对他重新赋。在实际的应用中,这会带来很多麻烦,因此,我们常用StringBuffer来代替String,StringBuffer类有append函数可以不断朝其末尾添加元素。它还有很多其他有用的成员函数,比如添加,删除,在JDK文档中有相应说明,见java.lang.StringBuffer类。
以下代码测试了main函数中的String[]数组用于接受命令行参数,==和equals的区别,还有重载运算符真的可以将其他变量加到String末尾来显示,虽然他没有改变String变量的值。
这里的运行是打的相应语句java Equaltest hello world它会在屏幕上输出hello world,事实上,main()函数里的args变量会接受命令行中除了java 和类名之外的其他参数,以空格为间隔。
class Equaltest
{
public static void main(String[] args)
{
if(args.length>0)
{
for(int i=0;i {
System.out.println(args[i]);
}
}
int a=1,b=1;
if(a==b)
{
System.out.println("a==b");
}
else
{
System.out.println("a!=b");
}
String str1,str2;
str1=new String("abc");
str2=new String("abc");
if(str1.equals(str2))
{
System.out.println("str1 equals str2");
}
else
{
System.out.println("str2 not equals str2");
}
int i=1;
char c='m';
float f=1.5f;
System.out.println(str1+i+c+f);
}
}
以下代码测试了StringBuffer中的append()成员和toString(),toString()成员是将改变后的StringBuffer对象生成一个String对象,事实上,这个成员会在编译时候被自动调用。
class SbTest
{
public static void main(String[] args)
{
StringBuffer sb=new StringBuffer();
sb.append('s').append('b').append("is").append("you").toString();
System.out.println(sb);
}
}
以下代码测试了引用对象是如何克服传值引用的单向性的,即向函数传递参数而实质上却能改变传递值的值。这如果了解栈内存和堆内存的格式,可以有更好的理解。
class StackTest
{
int num;
StackTest(int i)
{
this.num=i;
}
}
class Test5
{
int[] num=new int[2];
public static void swap(int[] num)
{
num[0]=num[0]+num[1];
num[1]=num[0]-num[1];
num[0]=num[0]-num[1];
}
public static void swap(StackTest s1,StackTest s2)
{
s1.num=s1.num+s2.num;
s2.num=s1.num-s2.num;
s1.num=s1.num-s2.num;
}
public static void main(String[] args)
{
int num[]=new int[2];
num[0]=1;
num[1]=2;
StackTest s1=new StackTest(1);
StackTest s2=new StackTest(2);
swap(num);
swap(s1,s2);
System.out.println(num[0]+" "+num[1]);
System.out.println(s1.num+" "+s2.num);
}
}