算法结构
顺序结构
从上到下执行
选择结构
if语句大多数时候在if结构外把scanner赋值
if单选择结构
语法:
if(布尔表达式){
//如果布尔表达式为true将被执行的语句
}
实例:
package com.wang.scanner;
import java.util.Scanner;
public class IfDemo1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String str = scanner.nextLine();
//equals 判断字符串是否相等
if (str.equals("hello world")) {
System.out.println("yes");
}
System.out.println("end");
scanner.close();
}
}
if双选择结构
语法:
if(布尔表达式){
//布尔表达式为ture将执行的命令
}else{
//布尔表达式为false将执行的命令
}
实例:
package com.wang.scanner;
import java.util.Scanner;
public class IfDemo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的成绩:");
double i = scanner.nextDouble();
if (i>=60){
System.out.println("及格");
}else {
System.out.println("不及格");
}
scanner.close();
}
}
if多选择结构
语法:
if(布尔表达式1){
//如果布尔表达式1为ture则执行代码
}else if(布尔表达式2){
//如果布尔表达式2为true则执行代码
}else if(布尔表达式3){
//如果布尔表达式3为true则执行代码
}.....
...
....
}else{
//如果以上表达式都不为true时执行该代码
}
实例:
package com.wang.scanner;
import java.util.Scanner;
public class IfDemo3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的成绩:");
double i = scanner.nextDouble();
if (i>=90 && i<=100){
System.out.println("A等成绩");
}else if(i>=80 && i<90){
System.out.println("B等成绩");
}else if (i>=70 && i<80){
System.out.println("C等成绩");
}else if (i>=60 && i<70){
System.out.println("D等成绩");
}else if(i>=0 && i<60){
System.out.println("E等成绩");
}else{
System.out.println("成绩不合法");
}
scanner.close();
}
}
if嵌套结构
语法:
if(布尔表达式1){
//如果布尔表达式1为ture则执行代码
if(布尔表达式2){
//如果布尔表达式2为true则执行代码
}
}
switch选择结构
语法:
case标签必须为字符串常量或字面量
switch(expression){
case value:
//语句
break; //可选
case value:
//语句
break; //可选
//可以有人一数量的case语句
default : //可选
//语句
}
实例:
package com.wang.scanner;
import java.util.Scanner;
public class SwitchDemo1 {
public static void main(String[] args) {
//case穿透 若不写 break 则会运行以下全部程序
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的成绩等级(A,B,C,D):");
String grade = scanner.nextLine();
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;
default:
System.out.println("非法输入");
}
}
}
循环结构
while循环
语法:
while(布尔表达式){
//布尔表达式为true执行代码
}
实例:
package com.wang.scanner;
public class WhileDemo1 {
public static void main(String[] args) {
int i = 0;
while (i<=100){
System.out.println(i);
i = i + 1;
}
}
}
死循环:
while(true){
//代码
}
DO While循环
语法:
do{
//代码
}whlie(布尔表达式);
不论布尔表达式是否为true
do里的代码至少先要执行一次之后,再判断while
实例1:
package com.wang.scanner;
public class WhileDemo1 {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum = sum + i;
i++;
}while (i<=100);
System.out.println(sum);
}
}
----------------------------------------------
输出:
5050
实例2:
package com.wang.scanner;
public class WhileDemo1 {
public static void main(String[] args) {
int i = 101;
int sum = 0;
do {
sum = sum + i;
i++;
}while (i<=100);
System.out.println(sum);
}
}
----------------------------------------------
输出:
101
理解两个实例的异同
For循环
语法:
for(初始化;布尔表达式;更新){
//代码
}
实例:
package com.wang.scanner;
public class ForDemo1 {
public static void main(String[] args) {
int sum = 0;
//初始化//判断条件//迭代
for (int i = 0;i<=100;i++){
sum = sum + i;
}//先执行判断条件,再执行代码,最后执行迭代!!!!
System.out.println(sum);
}
}
练习1:
package com.wang.scanner;
public class ForDemo2 {
//用for循环输出1到1000之间能被5整除的数,且每行输出三个
public static void main(String[] args) {
for (int i = 0; i <= 1000; i++) {
//求被5整除的数
if((i % 5) == 0){
System.out.print(i+"\t");
}
//三个以换行
if((i % 15) == 0){
// \n 换行
System.out.print("\n");
}
//print 不换行输出
//println 换行输出
}
}
}
练习2:输出99乘法表
package com.wang.scanner;
public class 输出99乘法表 {
public static void main(String[] args) {
for (int i = 1; i <=9; i++) {
int m = 1;
while (m<=i){
System.out.print(m+"*"+i+"="+m*i+"\t");
m++;
}
System.out.print("\n");
}
}
}
----------------------------------------------
package com.wang.scanner;
public class 输出99乘法表 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int m = 1; m <= i; m++) {
System.out.print(m + "*" + i + "=" + m * i + "\t");
}
System.out.print("\n");
}
}
}
For的增强
语法:
for(声明语句:表达方式)
{
//代码句子
}
实例:
package com.wang.scanner;
public class ForDemo3 {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50}; //定义数组!!
for (int x :numbers){
System.out.println(x);
}
System.out.println("=========================");
for (int i = 0;i < 5;i++){
System.out.println(numbers[i]);
}
}
}
==============================================
输出:
10
20
30
40
50
=========================
10
20
30
40
50