文章目录
- 流程控制
- 分支
- 循环
- 控制语句
- Scanner用法
- 数组
- 标准输出
- String
- charAt(int index) 返回指定索引处的char值
- compareTo(String s) 按字典序比较两个字符串
- compareToIgnoreCase(String s) 按字典顺序比较两个字符串 不考虑大小写
- concat(String s) 将字符串连接到字符串的结尾
- contains(String s) 判断一个字符串是否包含另外一个字符串
- endsWith(String s) 判断字符串的后缀
- equals (Object anObject) 比较两个字符串对象
- format (String s,Object args) 按照格式输出字符串
- indexOf(String s) 获取指定字符串 在当前字符串的位置
- replace(charSequence target,charSequence replacement) 使用replacement替换target
- split() 按照参数分割字符串
- substring(int beginIndex) 从beginIndex开始截取字符串
- toCharArray() 将此字符串转换为一个新的字符数组
- toLowerCase()/toUppercase() 将字符串中的所有字符转换为小写/大写
- trim() 返回字符串的副本 忽略前导空白和尾部空白
- valueOf() 将任意类型的数据类型转换为字符串
流程控制
顺序
从上到下依次执行
eg.
输出
分支
单路分支 if
- 使用场景 做条件的补充
eg.
输出
两路分支 if else
eg.
输出
多路分支 if else if…
输出
switch case 开关语句
- switch 只能做==比较
- 在jdk1.7之前 只能做byte short int char的比较 1.7后可以做String的比较 即switch后的括号内可以使用String类型
eg.
break的注意事项:如果每条case中没有使用break,则会一直执行到遇到break为止
输出:
循环
while
while(表达式)
{
循环体
}
#表达式为true 执行循环体
#表达式为false 跳出循环体
eg.
输出
do while
do
{
循环体
}while(表达式);
#先执行语句 后判断表达式
#表达式为false 跳出循环
eg.
输出:
for
与C语言中的一致
eg.
输出:
forEach
与for对比来看比较清晰
forEach只能遍历数组
eg.
输出:
递归
递归也是一种循环
递归的思想是自己调用自己
eg.
输出
控制语句
java语言中的控制语句与C中一致
- break 跳出当前语句块
- continue 跳出本次循环 执行下一次循环
- return 返回当前方法 只要执行了return 当前方法就结束了
break
eg.
输出
可见,截至在i=5时退出了循环
continue
eg。
输出
可以看出 ,没有6的输出,因为结束了本次循环,直接进行了下一次循环
return
eg.
输出:
在return之后结束了程序,而不是只结束了循环,因为ok没有被输出
Scanner用法
- java.util.Scanner 是Java5的新特征
- 通过创建Scanner对象来获取用户输入
eg.
使用scanner接收数据类型基本都是next数据类型()
有必要说一下next()和nextLine()的区别
- next() 一定要读到有效字符后才可以结束输入 在未读到有效字符前,所遇到的空白字符,都会被自动去掉
- next()是以空格作为分隔符或结束符的 所以不能输入带有空格的字符串
- nextLine() 以Enter为结束符 即nextLine()会返回输入回车前的所有字符
- nextLine() 可以接收空格
Scanner的hasNext方法
- Scanner中有多个hasNext方法,如hasNextInt()、hasNextDouble()、hasNextFloat()、hasNext和hasNextLine
- 这些hasNext方法用来判断是否输入的下一字符是Int、Double等类型的
数组
数组:一组相同数据类型、固定长度的集合
一维数组
未赋值时使用的是类型的默认值
如int 默认值为0
创建数组方式1
创建数组方式2
多维数组
多维数组可以看成是数组的数组
比如二维 :可以看成是特殊的一维数组 每个数组的元素又是一个数组
标准输出
- Java通过系统类System实现标准的输入/输出功能
- 定义了三个流变量 in out err
这三个流变量都是静态变量 可以直接通过System类进行调用 - System.in 标准输入 从键盘获取数据
- System.out 标准输出 将数据输出到控制台或屏幕
- System.err 标准错误输出 将数据输出到控制台或屏幕
这里只显示System.out的运行
String
String java提供了String类帮助我们方便操作字符串
- String 是一个引用数据类型 特殊的引用数据类型
- 当使用String str=new String(“abc”)时 保存在堆空间
- 当使用String str="abc"时 保存在栈空间
String类常用API的演示
charAt(int index) 返回指定索引处的char值
compareTo(String s) 按字典序比较两个字符串
compareToIgnoreCase(String s) 按字典顺序比较两个字符串 不考虑大小写
ps:在两个字符串长度一致时,返回的是第一个不同字符相差的Unicode码
concat(String s) 将字符串连接到字符串的结尾
contains(String s) 判断一个字符串是否包含另外一个字符串
endsWith(String s) 判断字符串的后缀
可用于对文件类型的判断
equals (Object anObject) 比较两个字符串对象
format (String s,Object args) 按照格式输出字符串
indexOf(String s) 获取指定字符串 在当前字符串的位置
replace(charSequence target,charSequence replacement) 使用replacement替换target
split() 按照参数分割字符串
substring(int beginIndex) 从beginIndex开始截取字符串
toCharArray() 将此字符串转换为一个新的字符数组
toLowerCase()/toUppercase() 将字符串中的所有字符转换为小写/大写
trim() 返回字符串的副本 忽略前导空白和尾部空白
valueOf() 将任意类型的数据类型转换为字符串