Java小知识

将级别高的变量值赋值给级别低的变量值,需要用到类型转换运算


length数组长度   length()字符串的长度  size()泛型集合的元素个数


int boy = new int[4];//数组变量boy存储这些元素的首地址,该地址称作数组的引用


toCharArray()  将字符串变为字符数组


System.arraycopy(a1,i1,a2,i2,n);  ---复制数组

a1:源数组,a2:目标数组,i1 i2:开始复制的位置,n:复制的长度


str1.indexOf("c")---返回c在str1中的位置,没有则返回-1

str1.trim()去掉前后空格

str1.substring(5)从第5个位置开始截取到最后----从0开始

str1.substring(0,5)截取0-5个位置的内容

str1.split(" ")---以(空格)拆分字符串,以字符串数组的形式返回

toUpperCase()小写——>大写    toLowerCase()

str1.replaseAll("i","n")将字符串中的i全部替换成n

str1.startsWith("*")判断字符串是否以*开头   endsWith()结尾

str1.equalsIgnoreCase(str2)不区分大小写的字符串比较

equals()两个变量是否是对同一个对象的引用,即堆中的内容是否相同。 

==比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。


类方法(static修饰的静态方法)可通过类名直接调用


使用super可以从子类中调用父类中的构造方法、普通方法和属性


使用Integer包装类将字符串变为基本数据类型   如Integer.parseInt(str1);


匿名对象只在堆内存中开辟空间,而不存在栈内存的引用,使用一次就被GC回收


封装性:类中全部属性都必须封装,通过setter和getter进行访问


接口回调是指把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量,

那么该接口变量就可以实现被类实现的接口方法


为了使java不依赖于具体的数据库,java提供用于操作数据的API,即JDBC 


日期类

SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

format.format(new Date());  //获取中国式的日期格式


Math类(其中的方法都是静态的)

Math.sqrt()---开平方根  Math.round()---四舍五入(不保留小数部分) 

Math.max(10,13)---2个数求最大  Math.pow(2,3)---2的3次方


Random类

Random random = new Random();

random.nextInt();//返回一个随机整数

random.nextInt(n);//返回一个0至n之间的随机数(包含0,但不包含n)


BigInteger(大整数类)

BigInteger b1=new BigInteger("123456789");

BigInteger b2=new BigInteger("987654321");

b2.add(b1);//加法

b2.subtract(b1);//减

b2.multiply(b1);//乘

b2.divide(b1);//除

b2.max(b1);//取最大值


Arrays类

int a[] = {3,5,1,8,4};

Arrays.sort(a);//(升)排序

Arrays.toString(a);//以字符串输出数组

Arrays.binarySearch(a,2);//检索数据2在数组中的位置

Arrays.fill(a,0);//用0填充数组


正则表达式(regex---regular  express)

String regex = "[a-zA-Z]+";

String str = "Hello123";

if(str.matches(regex)){

    system.out.println("匹配");

}else{

     system.out.println("不匹配");

}


File类

File f = new File("d:"+File.separator + "test.txt"); //File.separator分隔符

try{

      f.createNewFile();   //创建新文件

}catch(IOException e){

      e.printStackTrace();

}


if(f.exists()){

      f.delete();   //若文件存在则删除文件

}


f.mkdir();//创建文件夹


String str[] = f.list();//列出给定目录中的内容


字节流(程序需要数据时要使用输入流读取数据,保存数据时用输出流)

输出流:

OutputStream out = new FileOutputStream(f);//实例化一个输出对象

String str = "Hello World";

byte b[] = str.getBytes();//只能输出byte数组,所以将字符串变为byte数组

out.write(b);//输出内容,保存文件

out.close();//关闭输出流

输入流:

InputStream input = new FileInputStream(f);

byte b[] = new byte[1024];

input.read(b);

input.close();

System.out.println(new String(b));


字符流

向文件中写入数据

Write out = new FileWrite(f);

String str = "Hello World";

out.write(str);

out.close();

从文件中读取数据

Reader reader = new FileReader(f);

char c[] = new char[1024];

int len = reader.read(c);

reader.close();

System.out.print(new String(c,0,len));


Iterator迭代器(集合输出操作时使用)


使用class类创建某类对象

Class cs=Class.forName("Rect");    //创建与Rect类相关的class对象cs(Rect是已定义好的一个类)

Rect rect=(Recst)cs.newInstance();   //用class对象调用newInstance()方法创建Rect类对象

本文出自 “闲庭信步、” 博客,请务必保留此出处http://summersunshine.blog.51cto.com/9606147/1584761

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。