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("\n");
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循环里面的内容。