1、“{ }”复合语句为局部变量创建了一个作用域,不能在作用域外使用在作用域中定义的局部变量,否则会发生错误。
1、注意该语句的不满足依次向下与满足即执行;
1、在编程中一个常见的问题就是检验一个变量是否满足某个条件,如果不符合,再用另一个值来检验。
2、语法示例:
public class GitSwitch{
public static void main(String[]args){
int week=7;
switch(week){
case 6:
System.out.println("周六");
break;
case 7:
System.out.println("周日");
break;
default:
System.out.println("工作日");
}
}
}
3、注意:
1)switch语句表达式中的值(上例中的week变量)必须是整型、字符型或字符串类型;
2)若上述变量与某一case后面的常量值相同,则执行该case语句后的若干个语句直到遇到break语句为止;
3)default语句为可选的。
1、do…while的语法:
do
{
执行语句
}
while(条件表达式);
for(初始化表达式;循环条件表达式;循环后操作表达式)
{
语句序列
}
1、语法:
for(元素变量x : 遍历对象obj)
{
引用了x的Java语句
}
2、示例:
public class Repetition{
public static void main(String args[]){
int []a={1,2,3,4};
System.out.println("该数组中的元素依次为:");
for(int x:a){
System.out.println(x);
}
}
}
1、含义:中断本层循环,即在嵌套循环中跳出内层循环,外层循环不受影响。
2、标签的用法:
标签名:循环体{
break 标签名;
}
public class BreakOutsideNested{
public static void main(String args[]){
Loop:for(int i=0;i<3;i++){
for(int j=0;j<5;j++){
if (j==3){
break Loop;
}
System.out.println("i="+i+"; j="+j);//外层循环在第一次就被中断,i只能等于0
}
}
}
}
1、含义:跳过“continue”直至本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。
2、在for循环中遇到continue后,首先执行循环的增量部分,然后进行条件测试。
3、while循环中直接回到条件测试部分。
4、continue也支持标签功能。
1、Sting类属于java.lang包;
2、创建字符串的方法:
//①用字符数组创建
char[]a={'g','o','o','d'};
String s =new String(a);
String t =new String(a,0,2);//t=="go"
//②引用字符串常量来创建
String r="good";
1、“+”运算符可以连接多个运算符并产生一个String对象;
2、字符串与其他基本数据类型用“+”连接时,会将其他数据类型直接自动转化成字符串,即自动调用toString方法。
int size= str.length();//空格也算字符串长度
1、查找首次出现位置
调用indexOf()方法,若没有检索到目标字符串,返回值为1;
String str="We are students";
int site= str.indexOf("a");//site==3
2、查找最后一次出现位置
int size= str.length();
int size= str.lastIndexOf("");
//空字符串在str中最后一次出现的位置等于字符串的长度
String str="hello world";
char mychar=str.charAt(6);//mychar=="w"
1、
str.substring(int beginIndex)
2、
str.substring(int beginIndex,int endIndex)
注意:包含beginIndex,不包含endIndex!
str.trim()
注意:该方法去除的是前导空格和尾部空格,不是所有空格!
str.replace(char oldChar, char newChar)
注意:若oldChar在原字符串中多次出现,则将会被全部替换成newChar!
以下两种方法的返回值均为布尔型:
str.startsWith(String prefix)
str.endsWith(String suffix)
1、比较运算符“==”比较的是两个字符串地址是否相同;
2、若想比较内容,应退化使用方法:
str.equals(String s);
str.equalsIgnoreCase(String s);//忽略大小写差异
方法:
str.compareTo(String s);
注:若str位于s之前,返回一个负整数,反之返回正整数,相等返回0。
用以下方法实现字符串中全部字母的带小写转换:
str.toLowerCase();
str.toUpperCase();
1、方法:
str.split(String sign,int limit);
sign:分割字符串的分隔符,若想定义多个分隔符,用“|”隔开,如“,|.”;
limit:拆分的次数,缺省则全部拆分;
注意:返回值为字符串数组型
2、应用示例
public class Division{
public static void main(String[]args){
String IP="193.168.1.0";
String[]firstArray= IP.split("\\.");//使用转义字符表示.
String[]secondArray= IP.split("\\.",2);
System.out.println("IP地址为"+IP);
System.out.println("IP分割结果为:");
for(String x: firstArray){
System.out.println("["+x+"]");
}
for(String x: secondArray){
System.out.println("["+x+"]");
}
}
}
1、String类的静态format方法用于创建格式化的字符串。
2、语法:
str.format(String format ,Object…args)
format: 格式字符串;
args:格式字符串中由格式说明符引用的参数。
1、日期格式化
2、时间格式化
3、格式化常见的日期和时间组合
示例:
import java.util.Date;
public class GetDate{
public static void main(String[]args){
Date date=new Date();
String hour= String.format("%tH",date);
String minute= String.format("%tM",data);
String second= String.format("%tS",data);
String time= String.format("%tc",data);//输出全部日期和时间信息
}
}
1、正则表达式通常被用在判断语句中,用来检查某一字符串是否符合相关格式。
2、元字符表
3、在正则表达式中可以使用方括号[ ]括起来若干个字符来表示一个元字符,该元字符可代表方括号中的任何一个字符。
4、E-mail地址格式核验:
public class Judge{
public static void main(String[]args){
String regex="\\w+@\\W+(\\.\\w{2,3})*\\.\\w{2,3}";
String str1="666@";
String str1="llllll";
String str1="[email protected]";
if(str1.matches(regex)){
System.out.println(str1+"是一个合法Email地址格式");
}
if(str2.matches(regex)){
System.out.println(str2+"是一个合法Email地址格式");
}
if(str3.matches(regex)){
System.out.println(str3+"是一个合法Email地址格式");
}
}
}
如果在程序中频繁地附加字符串,建议使用java.lang.StringBuilder的API。
1、append()方法:
append(content)
2、insert(int offset,arg)方法:
insert(字符串生成器的位置,插入内容)
StringBuilder bf= new StringBuilder("hello");
bf.insert(5,"world");
System.out.println(bf.toString());//输出:helloworld
3、delete(int start, int end)方法