流程控制
Scanner
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
语法:Scanner s = new Scanner(System.in);
-
next
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符前的空白,next()方法会自动将其去掉
- 只有输入有效字符后才能将后面的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
-
nextLine()
- 以Enter为结束符,该方法返回的是输入回车之前的所有字符
- 可以获得空白
public static void main(String[] args) {
/*创建一个扫描器对象,用于接收键盘数据。
使用Scanner类创建了一个名为scanner的啥,*/
Scanner scanner = new Scanner(System.in);
//本句属于提示词,没啥用
System.out.println("使用next方法接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方法接收,定义了一个字符串来接收输入,接收方法为next
String str = scanner.next();
System.out.println("输出内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要用完就关掉
scanner.close();
顺序结构
选择结构
if(){
//if true 需要执行的语句
}else if{
}else{
}
单选择结构,没有else
双选择结构,有一个else
嵌套的if
switch多选择结构
switch(){
case 1:语句;
default:语句;
}
注意:
- 变量类型可以是byte,short,int,char
- javase7开始,switch支持字符串String类型,本质上还是转换成数字进行计算
- case标签必须为字符串常量或字面量
循环结构
while(){
}
do{
}while();
do while至少执行一次
for循环
for(x=0;x<n;x++){
执行语句
}
idea里快捷键
100.for快速形成一个for循环
println输出完会换行
print输出完不会换行
增强for循环
Java5引入的一种主要用于数组或集合的增强型for循环
int[] num={10,20,30};
for(int x:num){
sout(x);
}
//遍历数组
break和continue
- break强制退出循环,离最近的,不执行剩余的语句
- continue不执行下面的语句,开始新一轮循环
goto
Java没有goto