API手冊
下載jdk1.5手冊
注意:chm檔案從網路下載后,選單能展現點擊后內容不能展現,按下面圖修改下即可

api
了解即可,用到具體的api會用 System.in,System.out.println
日常常用的不到20%

字串工具類

package test;
import java.util.Arrays;
import org.junit.Test;
//字串api方法
public class TestString {
@Test //concat 字串拼接
public void concat() {
System.out.println("hello" + " world." + " hi");
System.out.println("hello".concat(" world.").concat(" hi"));
String str = "hello world.";
System.out.println("字串長度:" + str.length());
}
@Test //trim 去掉字串兩邊空格
public void trim() {
String s = " 達內 CGB java大資料方向 ";
System.out.println( s.trim() );
}
@Test //charAt 得到某個位置字符,下標,字串底層字符陣列
public void charAt() {
String s = "達內CGB方向";
//第一個字符
System.out.println(s.charAt(0));
System.out.println(s.charAt(2));
//最后一個字符
System.out.println(s.charAt(s.length()-1));
}
@Test //substring 截取子串(截串)
public void substring() {
String s = "達內CGB Java大資料方向很棒";
//獲取“達內”
System.out.println( s.substring(0,2) );
//獲取“Java大資料”
System.out.println( s.substring(6, 13));
//獲取“方向”,一個引數時,默認截取到字串最尾巴
System.out.println( s.substring(13) );
}
@Test //轉換大小寫 toUpperCase、toLowerCase
public void toCase() {
String name = "Chen ZiShu";
System.out.println(name.toUpperCase());
System.out.println(name.toLowerCase());
//需求:已知類名,利用api生成它的物件實體名稱
//規則:小駝峰,首字母小寫
//PersonMan personMan = new PersonMan();
//思路:獲取字串首字母charAt(0),變小寫toLowerCase()
// 截取字串substring(),拼接字串concat();
String className = "PersonMan";
String s1 = className.charAt(0)+""; //獲取首字母
s1 = s1.toLowerCase();
System.out.println(s1);
String s2 = className.substring(1);
System.out.println(s2);
System.out.println(s1.concat(s2));
}
@Test //indexOf和lastIndexOf 獲取某個字符、子串它的位置(索引值、下標)
public void indexOf() {
String s = "周杰倫.雙.節.棍.mp3"; //有格式.
//1.獲取歌手名稱:周杰倫,思路找到名字后面.,然后截串
int pos1 = s.indexOf("."); //從左向右找,找到回傳第一個就結束
System.out.println("位置:"+pos1);
System.out.println( s.substring(0, pos1) );
//2.獲取歌曲的名稱:周杰倫.雙節棍
int pos2 = s.lastIndexOf("."); //從右向左找
System.out.println( s.substring(0, pos2) );
//3.獲取歌曲檔案后綴:mp3
System.out.println( s.substring(pos2+1) );
}
@Test //startsWith什么前綴prefix開頭,endsWith什么后綴suffix結尾
public void with() {
String name = "http://www.baidu.com"; //url地址
//1.判斷是否是http協議
if( name.startsWith("http://")) {
System.out.println("這是一個HTTP網站");
}else {
System.out.println("這是其他型別的網站");
}
//2.判斷是否是com公司,.cn中國,.com全球公司,.net網路提供
if( name.endsWith(".cn")) {
System.out.println("cn中國公司");
}else if( name.endsWith(".com") ) {
System.out.println("com全球公司");
}else if( name.endsWith(".net") ) {
System.out.println("net網路提供商");
}
}
@Test //正則運算式 regex
public void regex() {
//java中默認采用UTF16
String s = "王180a,李133b,陳139c,張130d";
//需求:把數字替換成*
//思路:獲取每個字符charAt(i),判斷是否是一個數字
//怎么判斷是數字,ASCII表,0(48)~9(57) ASCII值
//如果是數字就改成*,如果不是繼續for回圈
String r = ""; //空串
for(int i=0; i<s.length(); i++) {
char c = s.charAt(i); //for回圈變數剛好和下標匹配
if(c>=48 && c<=57) { //0(48)~9(57)
c = '*'; //如果是數字就被改為*
}
r += c;
}
System.out.println(r);
//采用正則運算式方式,正則代碼量少,不好理解
System.out.println(
s.replaceAll("\\d", "*").replaceAll("[a-z]", "+")
);
}
@Test //replace、replaceAll 替換
public void replace() {
String s = "劉若英.后天.mp3";
//需求:把.替換成*
System.out.println( s.replace(".", "*") );
// \\.代表不是正則中的規則點,而是字符的點,轉義
System.out.println( s.replaceAll("\\.", "*") );
}
@Test //split 轉換字串為陣列,必須有一個分隔符
public void split() {
String s = "劉若英.后天.mp3"; //分隔符是不出現結果中
String[] arr = s.split("\\.");
System.out.println( Arrays.toString(arr));
String type = "手機,電視,冰箱,燒水壺,空調";
System.out.println( Arrays.toString(type.split(",")));
String grade = "100;90;88;120;80";
System.out.println( Arrays.toString(grade.split(";")));
}
@Test //需求:學生姓名,只留下姓,其他的字替換*
public void star() {
String s = "劉德華,張曼玉,齊秦,周星馳";
//思路:獲取每個姓名,for回圈把第一個字后面的都用*替代
String[] names = s.split(",");
//遍歷陣列
for(int i=0; i<names.length; i++) {
String name = names[i];
System.out.println( name );
//再次for回圈,把姓之后字變成*
String r = name.substring(0,1); //姓
for(int j=1; j<name.length(); j++) {
r += "*";
}
System.out.println(r);
}
}
}
身號決議
package test;
import org.junit.Test;
/*
* 身號
* 1)總共18位
* 2)前6地址碼
* 3)8位出生年月日
* 3)3位順序碼,最后一位性別,奇數:男,偶數:女
* 4)最后一位校驗位
*/
public class TestCardNo {
@Test
public void cardNo() {
String cardNo = "610113198009102113";
if(cardNo.length()==18) { //判斷輸入長度是否正確
String address = cardNo.substring(0,6);
System.out.println("地址碼:"+address);
String birthday = cardNo.substring(6,14);
System.out.println("出生年月:" + birthday);
String sno = cardNo.substring(14,17);
System.out.println("順序號:" + sno);
String x = sno.substring(2);
System.out.println(x);
//字串轉換為整數型別
int i = Integer.parseInt(x);
if(i%2==0) {
System.out.println("性別:女");
}else {
System.out.println("性別:男");
}
System.out.println("校驗碼:" + cardNo.substring(17));
}else {
System.out.println("身號不正確");
}
}
}
小結
1)API,java提供應用程式介面(插線板)就可以按規則來寫程式,
寫程式有了java(JDK)就像搭積木,事半功倍,開發效率就高,
這才是java核心,主要就是學習這些api的用法,(多練習,api的組合去完成需求)
API需要一定背

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/290866.html
標籤:java
上一篇:Java常用類小結
