1、顺序结构
2、if条件语句
判断输入的字符是否为大写字母(if......else........):
package 选择结构; import java.util.Scanner; public class IfDemo { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String s = sc.next();//返回 指定索引处的值。 char c = s.charAt(0); if(c>=65&&c<=90) System.out.println("大写字母"); else System.out.println("其他"); } }
3、switch选择语句
import java.util.*; public class SwitchDemo { public static void main(String [] args) { int num1,num2,num; String c; Scanner reader=new Scanner(System.in); System.out.println("输入正整数·"); num1=reader.nextInt(); System.out.println("输入运算符"); c=reader.next(); System.out.println("输入正整数"); num2=reader.nextInt(); switch(c) { case"+":System.out.println("num1+num2="+(num1+num2));break; case"-":System.out.println("num1-num2="+(num1+num2));break; case"/":System.out.println("num1/num2="+(num1/num2));break; case"*":System.out.println("num1*num2="+(num1*num2));break; } } }
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。
4、while语句
package WhileDemo; import java.util.Scanner; public class WhileDemo { public static void main(String[] args) { int i=2,n; float fac=1; System.out.println("请输入一个正整数"); Scanner sc=new Scanner(System.in); n=sc.nextInt(); if(n==0||n==1){ System.out.println(1); } while(i<=n){ fac=fac*i; i++; } System.out.println(fac); } }
5、do......while()语句
package DOWhileDemo; import java.util.Scanner; public class DoWhileDemo { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int x=1,add=0; do { add=add+x; x++; // 将x的值自增 } while (x <= n); // 循环条件 System.out.println(add); } }
while与do... ...while的区别在于,while()是先对循环条件进行判断,如果条件允许,则循环执行后面的程序,直到条件不满足跳出循环;而do...while()是不管条件是否满足,先执行一次要循环执行的内容,然后对循环条件进行判断。
6、for循环语句
package 九九乘法表; public class MultiplicationTable { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { System.out.println(" "); for (int j = 1; j <= i; j++) { System.out.print(i + "*" + j + "=" + i * j + " "); } } } }
这里用到的是for循环的嵌套,即:外层for循环执行一次,内层for循环要执行多次。
7、无限循环(死循环)
(1)while(true){}
import java.util.Random; import java.util.Scanner; public class GuestNumber { public static void main(String[] args) { System.out.println("猜数字开始了"); System.out.println("输入1-100之间数据"); //创建Random类变量 Random ran = new Random(); //变量.使用功能nextInt()获取1-100随机数 int ranNumber = ran.nextInt(100) + 1;//创建Scanner类变量 Scanner sc = new Scanner(System.in); while (true) { //获取键盘输入 int number = sc.nextInt(); //随机数和,用户输入的数据,比较 if (number > ranNumber) { System.out.println("猜大了"); } else if (number < ranNumber) { System.out.println("猜小了"); } else { System.out.println("中了"); break; } } } }
猜数字游戏,这里用到的就是死循环,只要输入的数字不与产生的随机数的大小相等就要一直输入,直到和随机数大小相等,执行break,跳出死循环。
(2)for(;;){}
import java.util.Random; import java.util.Scanner; public class GuestNumber { public static void main(String[] args) { System.out.println("猜数字开始了"); System.out.println("输入1-100之间数据"); //创建Random类变量 Random ran = new Random(); //变量.使用功能nextInt()获取1-100随机数 int ranNumber = ran.nextInt(100) + 1;//创建Scanner类变量 Scanner sc = new Scanner(System.in); for(;;) { //获取键盘输入 int number = sc.nextInt(); //随机数和,用户输入的数据,比较 if (number > ranNumber) { System.out.println("猜大了"); } else if (number < ranNumber) { System.out.println("猜小了"); } else { System.out.println("中了"); break; } } } }
将上述的猜数字游戏的while部分改为for(;;)产生的效果是相同的,因为没有结束for循环的条件,因此,会一直执行for循环里面的内容。