实例一
package method;
//JAVA实例-如何编译JAVA文件
public class Method1 {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
实例二
package method;
//字符串的比较
/*以下实例中我们通过字符串函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object string)
来比较两个字符串,并返回字符串中第一个字母ASCII的差值。*/
public class Method2 {
public static void main(String[] args) {
String s1 = "HelloWorld";
String s2 = "Hello";
System.out.println( s1.compareTo (s2));
System.out.println( s1.compareToIgnoreCase (s2));
//System.out.println( s1.compareTo(object String());
}
}
实例三
package method;
//查找字符串最后一次出现的位置
//以下实例中我们通过字符串函数 strOrig.lastIndexOf(Stringname) 来查找子字符串 Stringname 在 strOrig 出现的位置:
public class Method3 {
public static void main(String[] args) {
String s1 = "Simon";
String s2 = "mon";
System.out.println(s1.lastIndexOf(s2));
}
}
package method;
//查找字符串最后一次出现的位置
//以下实例中我们通过字符串函数 strOrig.lastIndexOf(Stringname) 来查找子字符串 Stringname 在 strOrig 出现的位置:
public class Method3 {
public static void main(String args[]) {
String Str1 = "https://www.csdn.net.csdn.net/" ;
String Str2 = "csdn",Str3 = "net" ;
System.out.println("n第一次的位置:"+ Str1.indexOf( "n" ) ) ;
//第一位以0开始计算,比如abcd的顺序是0123
System.out.println("n最后的位置:" + Str1.lastIndexOf( "n" ) ) ;
System.out.println("字符串Str2【"+ Str2 +"】最后的位置:" + Str1.lastIndexOf( Str2 ) ) ;
System.out.println("从第16个位置开始,n第一次的位置:" + Str1.indexOf( "n", 16 ) ) ;
//虽然从10开始,但是返回值依然是从开始计算
System.out.println("从第15个位置开始,字符串Str2【" + Str2 +"】第一次的位置:" + Str1.indexOf( Str2, 15 )) ;
System.out.println("字符串Str3【"+ Str3 +"】最后的位置:" + Str1.lastIndexOf( Str3 )) ;
}
}
实例四
删除字符串中的一个字符
package method;//删除字符串中的一个字符
/*通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中*/
public class Method4 {
public static void main(String[] args) {
String s = "summer";
System.out.println(removeCharAt(s,2));
}
private static String removeCharAt(String s, int i) {
// TODO Auto-generated method stub
return s.substring(0, i) + s.substring(i + 1);
}
}
实例五
package method;
/*以下实例中我们使用 java String 类的 replace 方法来替换字符串中的字符:
*/
public class Method5 {
public static void main(String[] args) {
String s = "Hello";
System.out.println(s.replace('o','e'));
System.out.println(s.replace('H','B'));
System.out.println(s.replace("ll","mm"));
}
}
实例六
package method;
//Java 实例 - 字符串反转
/*使用 Java 的反转函数 reverse() 将字符串反转:
*/
public class Method6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "calulate";
String reverse = new StringBuffer(s).reverse().toString();
System.out.println(reverse);
}
}
实例七
package method;
/*以下实例使用了 String 类的 indexOf() 方法在字符串中查找子字符串出现的位置,
如果存在返回字符串出现的位置(第一位为0),如果不存在返回 -1:
*/
public class Method7 {
public static void main(String[] args) {
String strOrig = "Google Runoob Taobao";
int intIndex = strOrig.indexOf("Runoob");
if(intIndex == - 1)
{
System.out.println("没有找到字符串 Runoob");
}
else
{
System.out.println("Runoob 字符串位置 " + intIndex);
}
}
}
实例八
package method;
//以下实例使用了 split(string) 方法通过指定分隔符将字符串分割为数组:
public class Method8 {
public static void main(String[] args) {
String str = "www-runoob-com";
String[] temp;
String delimeter = "-"; // 指定分割字符
temp = str.split(delimeter); // 分割字符串
// 普通 for 循环
for(int i =0; i < temp.length ; i++){
System.out.println(temp[i]);
System.out.println("");
}
System.out.println("------java for each循环输出的方法-----");
String str1 = "www.runoob.com";
String[] temp1;
String delimeter1 = "\\."; // 指定分割字符, . 号需要转义
temp1 = str1.split(delimeter1); // 分割字符串
for(String x : temp1){
System.out.println(x);
System.out.println("");
}
}
}
案例九
package method;
import java.util.StringTokenizer;
//Java 中我们可以使用 StringTokennizer 设置不同分隔符来分隔字符串,默认的分隔符是:空格、制表符(\t)、换行符(\n)、回车符(\r)。
public class Method9 {
public static void main(String[] args)
{
String str = "This is String , split by StringTokenizer, created by runoob";
StringTokenizer st = new StringTokenizer(str);
System.out.println("----- 通过空格分隔 ------");
while (st.hasMoreElements())
{
System.out.println(st.nextElement());
}
System.out.println("----- 通过逗号分隔 ------");
StringTokenizer st2 = new StringTokenizer(str, ",");
while (st2.hasMoreElements())
{
System.out.println(st2.nextElement());
}
}
}
案例十
package method;
//以下实例使用了 String toUpperCase() 方法将字符串从小写转为大写:
public class Method10 {
public static void main(String[] args) {
String s = "abdeg";
String strUpper = s.toUpperCase();
System.out.println("原始字符串: " + s);
System.out.println("转换为大写: " + strUpper);
}
}
案例十一
package method;
//以下实例使用了 regionMatches() 方法测试两个字符串区域是否相等:
public class Method11 {
public static void main(String[] args) {
String first_str = "Welcome to Microsoft";
String second_str = "I work with microsoft";
boolean match1 = first_str.
regionMatches(11, second_str, 12, 9);//表示将 first_str 字符串从第11个字符"M"开始和 second_str 字符串的第12个字符"M"开始逐个比较,共比较 9 对字符,由于字符串区分大小写,所以结果为false。
boolean match2 = first_str.
regionMatches(true, 11, second_str, 12, 9); //第一个参数 true 表示忽略大小写区别
System.out.println("区分大小写返回值:" + match1);
System.out.println("不区分大小写返回值:" + match2);
}
}
案例十二
package method;
public class Method12 {
public static void main(String[] args) {
// TODO Auto-generated method stub
long startTime = System.currentTimeMillis();
for(int i=0;i<50000;i++){
String s1 = "hello";
String s2 = "hello";
}
long endTime = System.currentTimeMillis();
System.out.println("通过 String 关键词创建字符串"
+ " : "+ (endTime - startTime)
+ " 毫秒" );
long startTime1 = System.currentTimeMillis();
for(int i=0;i<50000;i++){
String s3 = new String("hello");
String s4 = new String("hello");
}
long endTime1 = System.currentTimeMillis();
System.out.println("通过 String 对象创建字符串"
+ " : " + (endTime1 - startTime1)
+ " 毫秒");
}
}
案例十三
package method;
//以下实例演示了通过 String.intern() 方法来优化字符串:
public class Method13 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String variables[] = new String[50000];
for( int i=0;i <50000;i++)
{
variables[i] = "s"+i;
}
long startTime0 = System.currentTimeMillis();
for(int i=0;i<50000;i++)
{
variables[i] = "hello";
}
long endTime0 = System.currentTimeMillis();
System.out.println("直接使用字符串: "+ (endTime0 - startTime0) + " ms" );
long startTime1 = System.currentTimeMillis();
for(int i=0;i<50000;i++)
{
variables[i] = new String("hello");
}
long endTime1 = System.currentTimeMillis();
System.out.println("使用 new 关键字:" + (endTime1 - startTime1) + " ms");
long startTime2 = System.currentTimeMillis();
for(int i=0;i<50000;i++)
{
variables[i] = new String("hello");
variables[i] = variables[i].intern();
}
long endTime2 = System.currentTimeMillis();
System.out.println("使用字符串对象的 intern() 方法: "
+ (endTime2 - startTime2)
+ " ms");
}
}
案例十四
package method;
//以下实例演示了通过 format() 方法来格式化字符串,还可以指定地区来格式化:
import java.util.*;
public class Method14 {
public static void main(String[] args){
double e = Math.E;
System.out.printf("%f%n", e);
System.out.format("%f%n", e);
System.out.printf(Locale.CHINA , "%-10.4f%n%n", e); //指定本地为中国(CHINA)
System.out.format(Locale.CHINA , "%-10.4f%n%n", e); //指定本地为中国(CHINA)
}
}
//Format是CString类的一个成员函数,它通过格式操作使任意类型的数据转换成一个字符串。 Format参数也是一个格式化字符串
案例十五
package method;
/*以下实例演示了通过 "+" 操作符和StringBuffer.append() 方法来连接字符串,并比较其性能:
*/
public class Method15 {
public static void main(String[] args){
long startTime = System.currentTimeMillis();
for(int i=0;i<5000;i++){
String result = "This is"
+ "testing the"
+ "difference"+ "between"
+ "String"+ "and"+ "StringBuffer";
}
long endTime = System.currentTimeMillis();
System.out.println("字符串连接"
+ " - 使用 + 操作符 : "
+ (endTime - startTime)+ " ms");
long startTime1 = System.currentTimeMillis();
for(int i=0;i<5000;i++){
StringBuffer result = new StringBuffer();
result.append("This is");
result.append("testing the");
result.append("difference");
result.append("between");
result.append("String");
result.append("and");
result.append("StringBuffer");
}
long endTime1 = System.currentTimeMillis();
System.out.println("字符串连接"
+ " - 使用 StringBuffer : "
+ (endTime1 - startTime1)+ " ms");
}
}
实例十六
package method;
import java.util.Arrays;
//以下实例演示了如何使用sort()方法对Java数组进行排序,及如何使用 binarySearch() 方法来查找数组中的元素, 这边我们定义了 printArray() 方法来打印数组:
public class Method16 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };
Arrays.sort(a);
printArray("数组排序结果为", a);
int index = Arrays.binarySearch(a, 2);
System.out.println("元素 2 在第 " + index + " 个位置");
}
public static void printArray(String message, int array[]) {
// System.out.println(message + ": [length: " + array.length + "]");
for (int i = 0; i < array.length; i++) {
if(i != 0){
System.out.print(", ");
}
System.out.print(array[i]);
}
System.out.println();
}
}
实例十七
package method;
import java.lang.reflect.Array;
import java.util.Arrays;
//如何使用sort()方法对Java数组进行排序,及如何使用 insertElement () 方法向数组插入元素, 这边我们定义了 printArray() 方法来打印数组:
public class Method17 {
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
int arr[] = {1,0,5,9,3,4};
Arrays.sort(arr);
printArray(arr);
int index = Arrays.binarySearch(arr, 2);
System.out.println("元素 1 所在位置(负数为不存在):"+ index);
}
int newIndex = -index - 1;
arr = insertElement(arr, 2, newIndex);
printArray("数组添加元素 2", arr);
private static void printArray(String message,int[] arr) {
// TODO Auto-generated method stub
for(int i = 0;i < Array.getLength(arr);i++) {
if(i!=0) {
System.out.print(",");
}
System.out.print(arr[i]);
}
System.out.println();
}
private static int[] insertElement(int original[],int element, int index) {
int length = original.length;
int destination[] = new int[length + 1];
System.arraycopy(original, 0, destination, 0, index);
destination[index] = element;
System.arraycopy(original, index, destination, index + 1, length - index);
return destination;
}
}
/* public static void main(String args[]) throws Exception {
int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };
Arrays.sort(array);
printArray("数组排序", array);
int index = Arrays.binarySearch(array, 1);
System.out.println("元素 1 所在位置(负数为不存在):"
+ index);
int newIndex = -index - 1;
array = insertElement(array, 1, newIndex);
printArray("数组添加元素 1", array);
}
private static void printArray(String message, int array[]) {
System.out.println(message
+ ": [length: " + array.length + "]");
for (int i = 0; i < array.length; i++) {
if (i != 0){
System.out.print(", ");
}
System.out.print(array[i]);
}
System.out.println();
}
private static int[] insertElement(int original[],
int element, int index) {
int length = original.length;
int destination[] = new int[length + 1];
System.arraycopy(original, 0, destination, 0, index);
destination[index] = element;
System.arraycopy(original, index, destination, index
+ 1, length - index);
return destination;
}
}*/
实例十八
package method;
public class Method18 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[][] data = new String[3][5];
System.out.println("第一维数组长度:" + data.length);
System.out.println("第二维数组长度" + data[0].length);
}
}
实例二十
package method;
//自定义的 reverse 方法将数组进行反转
public class Method19 {
/* 反转数组*/
public static void main(String[] args)
{
int [] arr = {10, 20, 30, 40, 50};
reverse(arr, arr.length);
}
public static void reverse(int a[], int n)
{
int[] b = new int[n];
int j = n;
for (int i = 0; i < n; i++) {
b[j - 1] = a[i];
j = j - 1;
}
System.out.println("反转后数组是: \n");
for (int k = 0; k < n; k++) {
System.out.println(b[k]);
}
}
实例二十一
package method;
public class Method23 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String []s =new String[3];
s[0] = "Jun";
s[1] = "Zhe";
s[2] = "Pi";
for(int i = 0;i < s.length;i++) {
System.out.println(s[i]);
}
}
}
实例二十二
package method;
import java.util.Arrays;
import java.util.Collections;
/*通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值*/
public class Method24 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer [] number = {9,5,6,11,29};//必须用Integer!!!
// int min = (int)Collections.min( Arrays.asList(number));
int min = Collections.min( Arrays.asList(number));
int max = Collections.max( Arrays.asList(number));
System.out.println("数组中的最小值:"+min);
System.out.println("数组中的最大值:"+max);
}
实例二十三
package method;
import java.util.ArrayList;
import java.util.Arrays;
//通过 List 类的 Arrays.toString () 方法和 List 类的 list.Addall(array1.asList(array2) 方法将两个数组合并为一个数组
public class Method25 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String a[] = { "A", "E", "I" };
String b[] = { "O", "U" };
ArrayList list = new ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
Object[] c = list.toArray();
System.out.println(Arrays.toString(c));
}
}
实例二十四
package method;
import java.util.Arrays;
/*Java Util 类的 Arrays.fill(arrayname,value) 方法和Arrays.fill(arrayname ,starting index ,ending index ,value) 方法向数组中填充元素:*/
public class Method20 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = new int[5];
Arrays.fill(array, 100);
int n=array.length;
for (int i=0; i < n; i++) {
System.out.println(array[i]);
}
System.out.println();
Arrays.fill(array, 3, 5, 50);
int m=array.length;
for (int i=0; i< m; i++) {
System.out.println(array[i]);
}
}
}
实例二十五
package method;
public class Method21 {
public static void main(String[] args) {
String[] names = new String[] { "A", "B", "C" };
String[] extended = new String[5];
extended[3] = "D";
extended[4] = "E";
System.arraycopy(names, 0, extended, 0, names.length);
for (String str : extended){
System.out.println(str);
}
}
}
实例二十六
package method;
public class Method22 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] my_array = {1, 2, 5, 5, 6, 6, 7, 2, 9, 2};
findDupicateInArray(my_array);
}
private static void findDupicateInArray(int[] array) {
// TODO Auto-generated method stub
int count =0;
for(int i = 0;i < array.length ;i++) {
for(int j = i+1;j <array.length;j++) {
if(array[i]==array[j]) {
count++;
}
}
if(count==1)
System.out.println("重复的数为:"+array[i]);
count =0;
}
}
}
实例二十七
package method;
import java.util.ArrayList;
//removeAll () 方法来计算两个数组的差集:
public class Method26 {
public static void main(String[] args) {
ArrayList objArray = new ArrayList();
ArrayList objArray2 = new ArrayList();
objArray2.add(0,"common1");
objArray2.add(1,"common2");
objArray2.add(2,"notcommon");
objArray2.add(3,"notcommon1");
objArray.add(0,"common1");
objArray.add(1,"common2");
objArray.add(2,"notcommon2");
System.out.println("array1 的元素" +objArray);
System.out.println("array2 的元素" +objArray2);
objArray.removeAll(objArray2);
System.out.println("array1 与 array2 数组差集为:"+objArray);
}
}
实例二十八
package method;
//使用 cc () 方法来计算两个数组的交集
import java.util.ArrayList;
public class Method28 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList objArray = new ArrayList();
ArrayList objArray2 = new ArrayList();
objArray2.add(0,"common1");
objArray2.add(1,"common2");
objArray2.add(2,"notcommon");
objArray2.add(3,"notcommon1");
objArray.add(0,"common1");
objArray.add(1,"common2");
objArray.add(2,"notcommon2");
System.out.println("array1 的元素" +objArray);
System.out.println("array2 的元素" +objArray2);
objArray.retainAll(objArray2);
System.out.println("array1 与 array2 数组交集为:"+objArray);
}
}
实例二十九
package method;
//使用 cc () 方法来计算两个数组的交集
import java.util.ArrayList;
public class Method28 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList objArray = new ArrayList();
ArrayList objArray2 = new ArrayList();
objArray2.add(0,"common1");
objArray2.add(1,"common2");
objArray2.add(2,"notcommon");
objArray2.add(3,"notcommon1");
objArray.add(0,"common1");
objArray.add(1,"common2");
objArray.add(2,"notcommon2");
System.out.println("array1 的元素" +objArray);
System.out.println("array2 的元素" +objArray2);
objArray.retainAll(objArray2);
System.out.println("array1 与 array2 数组交集为:"+objArray);
}
}
实例三十
package method;
//contains () 方法来查找数组中的指定元素
import java.util.ArrayList;
public class Method30 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList objArray = new ArrayList();
ArrayList objArray2 = new ArrayList();
objArray2.add(0,"common1");
objArray2.add(1,"common2");
objArray2.add(2,"notcommon");
objArray2.add(3,"notcommon1");
objArray.add(0,"common1");
objArray.add(1,"common2");
System.out.println("objArray 的数组元素:"+objArray);
System.out.println("objArray2 的数组元素:"+objArray2);
System.out.println("objArray 是否包含字符串common2? : "+objArray.contains("common2"));
System.out.println("objArray2 是否包含数组 objArray? :" +objArray2.contains(objArray) );
}
}
实例三十一
package method;
import java.util.Arrays;
//equals ()方法来判断数组是否相等:
public class Method31 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] ary = {1,2,3,4,5,6};
int[] ary1 = {1,2,3,4,5,6};
int[] ary2 = {1,2,3,4};
System.out.println("数组 ary 是否与数组 ary1相等? :"+Arrays.equals(ary, ary1));
System.out.println("数组 ary 是否与数组 ary2相等? :"+Arrays.equals(ary, ary2));
}
}
实例三十二
package method;
import java.util.HashSet;
import java.util.Set;
public class Method33 {
public static void main(String[] args) {
//使用 union ()方法来计算两个数组的并集
String[] arr1 = { "1", "2", "3" };
String[] arr2 = { "4", "5", "6" };
String[] result_union = union(arr1, arr2);
System.out.println("并集的结果如下:");
for (String str : result_union)
{
System.out.println(str);
}
}
private static String[] union(String[] arr1, String[] arr2) {
// TODO Auto-generated method stub
Set set = new HashSet();
for (String str : arr1) {
set.add(str);
}
for (String str : arr2) {
set.add(str);
}
String[] result = { };
return (String[]) set.toArray(result);
}
}
实例三十三
package method;
import java.text.SimpleDateFormat;
import java.util.Date;
//使用 SimpleDateFormat 类的 format(date) 方法来格式化时间
public class Method34 {
public static void main(String[] args)
{
// TODO Auto-generated method stub
Date date = new Date();
String strDateFormat = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
System.out.println(sdf.format(date));
}
}
实例三十五
package method;
import java.util.Calendar;
public class Method36 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DATE);
int month = cal.get(Calendar.MONTH) + 1;
int year = cal.get(Calendar.YEAR);
int dow = cal.get(Calendar.DAY_OF_WEEK);
int dom = cal.get(Calendar.DAY_OF_MONTH);
int doy = cal.get(Calendar.DAY_OF_YEAR);
System.out.println("当期时间: " + cal.getTime());
System.out.println("日期: " + day);
System.out.println("月份: " + month);
System.out.println("年份: " + year);
System.out.println("一周的第几天: " + dow); // 星期日为一周的第一天输出为 1,星期一输出为 2,以此类推
System.out.println("一月中的第几天: " + dom);
System.out.println("一年的第几天: " + doy);
}
}
实例三十六
package method;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Method37 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Long timeStamp = System.currentTimeMillis(); //获取当前时间戳
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sd = sdf.format(new Date(Long.parseLong(String.valueOf(timeStamp)))); // 时间戳转换成时间
System.out.println("格式化结果:" + sd);
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
String sd2 = sdf2.format(new Date(Long.parseLong(String.valueOf(timeStamp))));
System.out.println("格式化结果:" + sd2);
}
}