Java基础知识(二)(《Java从入门到精通(第五版)》学习笔记)

文章目录

  • 4流程控制
    • 4.1 复合语句
    • 4.2 条件语句
      • if...else if 多分支语句
      • switch 多分支语句
    • 4.3 循环语句
      • while与do...while语句
      • for循环语句
        • for语句
        • for-each语句
    • 4.4 循环控制
      • break语句
      • continue 语句
  • 5字符串
    • 5.1 String 类
    • 5.2 连接字符串
    • 5.3 获取字符串信息
      • 5.3.1 获取字符串长度
      • 5.3.2 字符串查找
      • 5.3.3获取指定索引位置的字符
    • 5.4 字符串操作
      • 5.4.1 获取子字符串
      • 5.4.2 去除空格
      • 5.4.3 字符串替换
      • 5.4.4 判断字符串的开始与结尾
      • 5.4.5 判断字符串是否相等
      • 5.4.6 按字典顺序比较两个字符串
      • 5.4.7 字母大小写转换
      • 5.4.8 字符串分割
    • 5.5 格式化字符串
      • 5.5.1 日期和时间字符格式化
      • 5.5.2常规类型格式化
    • 5.6 使用正则表达式
    • 5.7字符串生成器

4流程控制

4.1 复合语句

1、“{ }”复合语句为局部变量创建了一个作用域,不能在作用域外使用在作用域中定义的局部变量,否则会发生错误。

4.2 条件语句

if…else if 多分支语句

1、注意该语句的不满足依次向下与满足即执行;

switch 多分支语句

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语句为可选的

4.3 循环语句

while与do…while语句

1、do…while的语法:
do
{
执行语句
}
while(条件表达式);

for循环语句

for语句

for(初始化表达式;循环条件表达式;循环后操作表达式)
{
语句序列
}

for-each语句

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);
		}
	}
}

4.4 循环控制

break语句

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
			}
		}
	}
}

continue 语句

1、含义:跳过“continue”直至本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。
2、在for循环中遇到continue后,首先执行循环的增量部分,然后进行条件测试。
3、while循环中直接回到条件测试部分。
4、continue也支持标签功能。

5字符串

5.1 String 类

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";

5.2 连接字符串

1、“+”运算符可以连接多个运算符并产生一个String对象
2、字符串与其他基本数据类型用“+”连接时,会将其他数据类型直接自动转化成字符串,即自动调用toString方法。

5.3 获取字符串信息

5.3.1 获取字符串长度

int size= str.length();//空格也算字符串长度

5.3.2 字符串查找

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中最后一次出现的位置等于字符串的长度

5.3.3获取指定索引位置的字符

String str="hello world";
char mychar=str.charAt(6);//mychar=="w"

5.4 字符串操作

5.4.1 获取子字符串

1、

str.substring(int beginIndex)

2、

str.substring(int beginIndex,int endIndex)
注意:包含beginIndex,不包含endIndex!

5.4.2 去除空格

str.trim()
注意:该方法去除的是前导空格和尾部空格,不是所有空格!

5.4.3 字符串替换

str.replace(char oldChar, char newChar)
注意:若oldChar在原字符串中多次出现,则将会被全部替换成newChar!

5.4.4 判断字符串的开始与结尾

以下两种方法的返回值均为布尔型:

str.startsWith(String prefix)
str.endsWith(String suffix)

5.4.5 判断字符串是否相等

1、比较运算符“==”比较的是两个字符串地址是否相同;
2、若想比较内容,应退化使用方法:

str.equals(String s);
str.equalsIgnoreCase(String s);//忽略大小写差异

5.4.6 按字典顺序比较两个字符串

方法:

str.compareTo(String s);

注:若str位于s之前,返回一个负整数,反之返回正整数,相等返回0。

5.4.7 字母大小写转换

用以下方法实现字符串中全部字母的带小写转换:

str.toLowerCase();
str.toUpperCase();

5.4.8 字符串分割

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+"]");
		}
	}
}

5.5 格式化字符串

1、String类的静态format方法用于创建格式化的字符串。
2、语法:
str.format(String format ,Object…args)
format: 格式字符串;
args:格式字符串中由格式说明符引用的参数。

5.5.1 日期和时间字符格式化

1、日期格式化
Java基础知识(二)(《Java从入门到精通(第五版)》学习笔记)_第1张图片
2、时间格式化
Java基础知识(二)(《Java从入门到精通(第五版)》学习笔记)_第2张图片
3、格式化常见的日期和时间组合
Java基础知识(二)(《Java从入门到精通(第五版)》学习笔记)_第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);//输出全部日期和时间信息
	}
}

5.5.2常规类型格式化

Java基础知识(二)(《Java从入门到精通(第五版)》学习笔记)_第4张图片

5.6 使用正则表达式

1、正则表达式通常被用在判断语句中,用来检查某一字符串是否符合相关格式。
2、元字符表
Java基础知识(二)(《Java从入门到精通(第五版)》学习笔记)_第5张图片
Java基础知识(二)(《Java从入门到精通(第五版)》学习笔记)_第6张图片
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地址格式")}
	}
}

5.7字符串生成器

如果在程序中频繁地附加字符串,建议使用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)方法

你可能感兴趣的:(JAVA,学习笔记)