Java中的语句由3大类的结构
1.顺序结构—自上而下一行一行的有序的执行
2. 选择结构
(1) If语句结构
(2) Switch语句结构
3. 循环结构
(1) For循环
(2) While循环
(3) Do{}while()循环
3.8.判断语句中if语句的表现方式和用法
1.if(){}
2.if(){}else{}
3.if(){}else if(){} …
4.if(){ if(){}else{} }else{if(){}else{}}
例如:
public class IfDemo{
public static void main(String args[]){
//1.if(){}
int num1=10;
if(num1>20){
System.out.println("num1大于20");
}
//2.if(){}else{} [2选1]
if(num1>20){
System.out.println("num1大于20");
}else{
System.out.println("num1小于20");
}
//3.if(){}else if(){}...... [多选1]
if(num1>20){
System.out.println("num1大于20");
}else if(num1< 20){
System.out.println("num1小于20");
}else if(num1 == 20){
System.out.println("num1等于20");
}else{
System.out.println("上面的判断都失败!");
}
/*
*4.if(){ if(){true/true}else{true/false}
*}else{if(){false/true}else{false/false}}
* 不宜嵌套的过多,一般2层就够了
*/
if(num1>0){
if(num1>20){
System.out.println("num1大于20");
}else{
System.out.println("num1大于0,小于20");
}
}else{
if(num1<0){
System.out.println("num1是负数");
}else{
System.out.println("num1等于0");
}
}
}
}
3.9.判断语句中switch语句的用法和注意事项
例如:
public class SwitchDemo{
public static void main(String args[]){
/*
*switch(表达式){
* case 常量值1: java代码1;[break;]
* case 常量值2: java代码2;[break;]
* case 常量值3: java代码3;[break;]
* ......
* case 常量值n: java代码n;[break;]
* defult:java代码;[break;]
* }
*表达式的结果的数据类型
* byte short char int long String[JDK8.0],枚举
*1.计算表达式的值
*2.与case后面的常量值比较【是否相等】
* true【相等】 执行case对应的java语句,
* 判断是否存在[break;],有跳出switch
* 没有[break;]不与下一个case比较,直接执行下一个case后面的java代码
* 直至碰见break,否则后面的java代码全执行
* false【不相等】 与下一个case后面的常量值比较,
* true【相等】 执行case对应的java语句
* 判断是否存在[break;],有跳出switch
* 没有不与下一个case比较,直接执行下一个case后面的java代码
* 直至碰见break,否则后面的java代码全执行
* false【不相等】 与下下一个case后面的常量值比较
* 【与所有case后面的常量值比较都是false,执行defult后的java代码】
* 注意:1.表达式的结果的数据类型
* 2.是否有break;
*/
int num1=10;
int num2=3;
String op="+";
switch(op){
case "+":System.out.println(num1+"+"+num2+"="+(num1+num2));
case "-":System.out.println(num1+"-"+num2+"="+(num1-num2));break;
case "*":System.out.println(num1+"*"+num2+"="+(num1*num2));
case "/":System.out.println(num1+"/"+num2+"="+(num1/num2));break;
}
}
}
3.10.循环语句中for循环与while和do{}while()循环的用法
例如:
public class XunHuanDemo{
public static void main(String args[]){
//for循环
//for(初始条件;判断条件;循环增量/减量){循环体}
//1.执行初始条件
//2.执行判断条件
//true---循环体---循环增量/减量[修改初始值]--执行判断条件
//false--结束
//计算1--10的整数和
int sum=0;
for(int i=1;i<=10;i++){
sum=sum+i;
}
System.out.println("sum=="+sum);
//while循环
//while(判断条件){循环体}
//需要自行定义初始值,在循环体中的执行循环增量/减量
//如果不在循环体中的执行循环增量/减量,那么就有可能进入死循环
//计算1--100的整数和
int sum2=0;
int k=1;
while(k<=100){
sum2=sum2+k;
//修改初始值--【执行循环增量/减量】
k++;
}
System.out.println("sum2=="+sum2);
//do{循环体}while(判断条件);
//需要自行定义初始值,在循环体中的执行循环增量/减量
//如果不在循环体中的执行循环增量/减量,那么就有可能进入死循环
//计算1--100的整数和
int sum3=0;
int j=1;
do{
sum3=sum3+j;
j++;
}while(j<=100);
System.out.println("sum3=="+sum3);
}
}
3.11.for循环与while和do{}while()循环的区别
for循环 | while和do{}while()循环 |
---|---|
初始值,判断条件,循环增量/减量,循环体 | 判断条件,循环体 |
可以在结构之外定义初始值,也可不定义 | 需要自行在结构定义初始值 |
循环增量/减量循环结构自行控制 | 判断条件,循环体 |
需要明确循环次数 | 不需要考虑循环次数 |
import java.util.Scanner;
public class Test{
public static void main(String args[]){
Scanner input=new Scanner(System.in);
boolean flag=true;
while(flag){
System.out.println("请输入第一个运算数字:");
int num1=input.nextInt();
System.out.println("请输入一个运算符号:");
String op=input.next();
System.out.println("请输入第一个运算数字:");
int num2=input.nextInt();
switch(op){
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;
case "q":System.out.println("退出程序");flag=false;break;
}
}
}
}
3.12. while循环与do{}while()循环的区别
while | do{}while()循环 |
---|---|
先判断,后循环 | 先循环,后判断 |
初始判断条件的结果为false的时候,do{}while()循环会比while多执行一次循环体。
int i=1;
while(i<0){
System.out.println(“i==”+i);
}
do{
System.out.println(“i==”+i);
}while(i<0);
3.13.break语句与continue语句的用法和区别
public class BreakDemo{
public static void main(String args[]){
for(int i=1;i<=10;i++){
if(i==5){
break;
}
System.out.println("i=="+i);
}
}
}
continue语句—继续【结束当前循环进入下一次循环】
例如:
public class ContinueDemo{
public static void main(String args[]){
for(int i=1;i<=10;i++){
if(i==5){
continue;
}
System.out.println("i=="+i);
}
}
}
1.通过双层for循环输出99乘法表
public class ChengFaBiao{
public static void main(String[] args) {
for (int a = 1; a <=9 ; a++) {
for (int b = 1; b <=a; b++) {
System.out.print(a+"*"+b+"="+(a*b)+"\t");
}
System.out.println();
}
}
}
通过while计算一下1–10的阶乘的和
public class JieCheng{
public static void main(String[] rags){
int num = 0;
int i = 1;
int j = 1;
while(j<=10){
i=j*i;
num=num+i;
j++;
}
System.out.println("1!+2!+3!+4!+......+10!="+num);
}
}