1.Java语句中的三大类结构:
(1)顺序结构:自上而下按顺序执行
(2)选择结构:①if语句结构 ②switch语句结构
(3)循环结构: ①for循环 ②while循环 ③do{} while()循环
1.1选择语句中if语句的表现方式和用法
①if(){}
②if(){}else{}
③if(){}else if(){} …
④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");
}
}
}
}
1.2判断语句中switch语句的用法和注意事项
(1)格式:
switch(表达式){
case 常量值1: java代码1;[break;]
case 常量值2: java代码2;[break;]
case 常量值3: java代码3;[break;]
......
case 常量值n: java代码n;[break;]
defult:java代码;[break;]
}
(2)表达式结果的数据类型
byte short char int long String[JDK8.0], 枚举
(3)执行过程
①计算表达式的值
②与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代码】
例如:
public class SwitchDemo{
public static void main(String args[]){
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
}
}
}
1.3 循环语句中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);
}
}
1.4 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("请输入第一个运算数字:");
inswitch(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;
}
}
}
}
1.5 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);
1.6 break语句与continue语句的用法和区别
//break语句---中断执行
//例如:
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);
}
}
}
2.案例练习
2.1 通过双层for循环输出99乘法表
public class NineText
{
public static void main(String[] args)
{
for(int i = 1; i < 10; i++)
{
//内层for循环控制每行打印的个数
for(int j = 1; j <= i; j++)
{
System.out.print(j + "*" + i + "=" + (i * j) + "\t");
}
//内层循环每结束一次换行一次
System.out.println("\n");
}
}
}
2.2 通过while计算一下1–10的阶乘
public class JieChengHe
{
public static void main(String args[])
{
//1到10的阶乘和
int i = 1;
int sum = 0;
while(i <= 10)
{
int result = 1;
for(int j = i; j >= 1; j--)
{
result *= j;
}
sum += result;
i++;
}
System.out.println("10的阶乘和是" + sum);
}
}