1.用户交互Scanner
我们可以通过Scanner类来获取用户的输入,通过Scanner类的**next()与nextLine()方法来获取输入的字符串,在读取之前,使用hasNext()**和hasNextLine()判断是否还有输入的数据
基本语法:
Scanner s = new Scanner(System.in);
使用举例:
package com.hyy.scanner;
import java.util.Scanner;
public class Devil1 {
public static void main(String[] args) {
//创建一个扫描器对象,用来接收键盘数据
Scanner scan = new Scanner(System.in);
System.out.println("使用next方法接收:");
//判断用户是否输入字符串
if(scan.hasNext()){
//使用Next方式接收
String str = scan.next();
System.out.println("输入的内容为:"+str);
}
//不关闭会占用资源
scan.close();
}
}
**next()和nextLine()**的使用区别:
- next()
- 一定要读取到有效字符后才结束输入
- 对输入有效字符之前的空白,会自动去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- 不能得到带有空格的字符串
- nextLine()
- 以Enter为结束符
- 可以获得空白
2.顺序结构
顺序结构是任何一个算法都离不开的一种基本算法结构
3.选择结构
-
if单选择结构
if(布尔表达式){ //如果布尔表达式的值为true }
-
if双选择结构
if(布尔表达式){ //如果布尔表达式为true }else{ //如果布尔表达式为false }
-
if多选择结构
if(布尔表达式 1){ //如果布尔表达式 1的值为true }else if(布尔表达式 2){ //如果布尔表达式 2的值为true }else if(布尔表达式 3){ //如果布尔表达式 3的值为true }else{ //如果以上布尔表达式都为false }
-
嵌套的if结构
if(布尔表达式 1) ){ //如果布尔表达式 1的值为true if(布尔表达式 2){ //如果布尔表达式 2的值为true } }
-
switch多选择结构
//expression可以是byte、short、int、char、String类型 switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选 default: //可选 //语句 }
4.循环结构
-
while循环
while(布尔表达式){ //循环内容 }
我们需要一个让表达式失效的方式来结束循环
-
do…while循环
do{ //代码语句 }while(布尔表达式)
while和do-while的区别:
1.while先判断再执行,do-while先执行后判断
2.do-while保证循环体至少会被执行一次
-
for循环
for(初始化; 布尔表达式; 更新){ //代码语句 }
for循环是最有效、最灵活的循环结构
*增强的for循环
public static void main(String[] args) { //定义一个数组 int[] number = {10,20,30}; //遍历数组 for(int x:number){ System.out.println(x); } }
5.break & continue
- break
- 用于强行退出循环,不执行循环中剩余的语句
- 在循环和switch中使用
- continue
- 用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断
- 在循环中使用
- goto关键字
- Java中没有goto,goto是Java的一个保留字,但没有得到正式使用