Java学习笔记--流程控制
Java流程控制
Scranner对象
用于获取用户输入
Scanner s = Scanner(System.in);
import java.util.Scanner;
public class Demo01 {
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);
}
//IO流不关闭会一直占用资源
scan.close();
}
}
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("NextLine");
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出"+str);
}
scanner.close();
}
}
java顺序结构
public class SeqDemo {
public static void main(String[] args) {
System.out.println("H");
System.out.println("e");
System.out.println("l");
System.out.println("l");
System.out.println("o");
System.out.println("!");
}
}
Java选择结构
if选择结构
package com.hu.struct;
import java.io.StreamCorruptedException;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
if (score>100)
System.out.println("???");
else if (score >= 90 )
System.out.println("A+");
else if(score>=80)
System.out.println("A");
else if (score>=60)
System.out.println("B");
else if (score>=0)
System.out.println("不及格");
else
System.out.println("???");
scanner.close();
}
switch结构
-
switch语句的变量类型为:
- byte short int char类型
- String类
public class switchDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入等级: ");
String grade = scanner.next();//JDK7新特性,支持字符串
switch (grade){
case "A":
System.out.println("强啊");
break;
case "B":
System.out.println("还行");
break;
case "C":
System.out.println("一般");
break;
case "D":
System.out.println("垃圾");
break;
case "E":
System.out.println("没救了,等死吧");//未break,输入"E"时出现case穿透,输出后面语句内容
default:
System.out.println("瞎几把输入些啥");
scanner.close();
}
}
}
循环结构
while循环
while(boolean){
//循环内容
}
do{
//循环
}while(boolean);
while循环和do while循环的区别:
whlie循环先判断后执行,do while循环先判断后执行
do while循环至少被执行一次
public class DoWhileDemo {
public static void main(String[] args) {
int a=0;
while(a<0){
System.out.println(a);
a++;
}
System.out.println("==============");
do {
System.out.println(a);//输出0
a++;
}while (a < 0);
}
}
for循环
for(初始化;boolean;更新){
//表达式
}
for(; ; ){//死循环
}
for循环初始化可以初始化一个或者多个变量,也可以是空语句
布尔语句结果为true时循环执行,为false不执行
public class ForDemo04 {
public static void main(String[] args) { // 打印九九乘法表
for (int i = 1; i < 10; i++) {
for (int i1 = 1; i1 <= i; i1++) {
System.out.print(i1 + "*" + i + "=" + i*i1 + "\t");
}
System.out.println();
}
}
}
增强for循环
public class ForDemo05 {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};//定义一个数组
for(int x:numbers){ //增强for循环,用于遍历数组和集合中的元素
System.out.println(x);
}
System.out.println("============");
for (int i = 0; i < 5; i++) {//等价于
System.out.println(numbers[i]);
}
}
}
break continue
break
-
break语句在循环内部的任何位置被执行时,都会生效
-
被执行时强制退出整个循环过程,结束为执行语句
public class BreakDemo {
public static void main(String[] args) {
int i = 0;
while (true){
i++;
System.out.println(i);
if(i>=30)
break;
}
}
}
continue
- continue用于跳过某次循环,直接进行下一次循环
public class ContinueDemo {
public static void main(String[] args) {
int i=0;
while(i<50){
i++;
if(i>30)
continue; //i大于30时终止某次循环,直接进行下一次
System.out.println(i);
}
}
}
打印三角形
public class Test {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for(int j=3;j>=i;j--){
System.out.print(" ");
}
for(int j=0;j<=i;j++){
System.out.print("*");
}
for (int j=0;j<i;j++){
System.out.print("*");
}
System.out.println();
}
}
}