控制语句包括几类

选择语句

循环语句

转向语句

选择语句也可以叫做分支语句

if语句

switch语句

循环语句:反复执行特定的代码块

for循环

while循环

do..while..循环

转向语句

break

continue

选择语句 if

写法

if (布尔表达式){
java语句;
java语句;
}

原理:如果布尔表达式结果为true择执行大括号中的程序,否则不执行

//第一种写法
if (100 < 200){
}else {
}
//第二种写法
if (100 < 200){
if (100 < 200){
}else {
}
}else {
}
//第三种写法
if (100 < 200){
}else if (100 > 200) {
}
else if (100 > 200) {
}
//第四种写法
if (100 < 200){
}else if (100 > 200) {
}
else if (100 > 200) {
}else {
}

if语句当中凡是带有else运行的时候肯定会有一个分支代码块执行。相反如果没有else而且布尔表达式的判断结果都是false,所有的分支都不会执行

作业

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//创建一个键盘扫描器对象
Scanner s = new Scanner(System.in);
System.out.print("输入您的性别,1代表男0代表女");
int x = s.nextInt();//让用户输入并且给x值赋值
System.out.print("输入现在的天气,1代表晴天0代雨天");
int t = s.nextInt();//让用户输入并且给t值赋值
if (x < 0 || x > 1 ){ //判断用户输入是否合法
System.out.print("性别不合法,1代表男0代表女");
}else if (t < 0 || t > 1 ){ //判断用户输入是否合法
System.out.print("天气不合法,1代表晴天0代表雨天");
}else if (x == 1 ){ //等于一代表是男进行下一步,否则进行判断是否是女
if (t == 1){//天气等于1进行下一步
System.out.println("男晴天");
}else if (t == 0){//天气等于0进行下一步
System.out.println("男雨天");
}
}else if (x == 0 ){//等于一代表是女进行下一步
if (t == 1){//天气等于1进行下一步
System.out.println("女晴天");
}else if (t == 0){//天气等于1进行下一步
System.out.println("女雨天");
}
}
}
}

emmm我就不解释了上面有注释

选择语句 switch

示例作业

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//创建一个键盘扫描器对象
Scanner s = new Scanner(System.in);
System.out.print("输入成绩");
double c = s.nextInt();//让用户输入并且给x值赋值
if (c < 0 || c > 100) {
System.out.println("成绩不合法");
return;
}
int d = (int) (c / 10);//将成绩强转成int类型如果输入的小数95.5除以10就是9.55强转就是int类型的9
String b = "不及格";
switch (d) {//进行比对case值,注意不加break会导致case穿透现象知道遇到break才会停止
case 10:
case 9:
b = "优秀";
break;
case 8:
b = "良";
break;
case 7:
b = "中";
break;
case 6:
b = "及格";
break;
default://如果上面都不匹配执行default
b = "不及格";
}
System.out.println(b);
}
}

for循环

语法结构

for (表达式;布尔表达式;更新表达式 ){

循环体

System.out.println(a);
}

示例

public class Main {
public static void main(String[] args) {
for (int a = 0; a < 100;a++ ){
System.out.println(a);
}
}
}

示例意思就是输出一百次a的值

示例

用for计算1-100之间奇数的和

public class Main {
public static void main(String[] args) {
int h = 0;
for (int a = 1; a <= 100; a++) {
if (a % 2 == 1) {//求余数如果等于1代表这个值是奇数
System.out.println(a); //输出a的值,肯定是奇数
h += a;//计算奇数的和
}
}
System.out.println(h);//输出h的值和
//第二个方法
int sum = 0;
for (int r = 1; r < 100; r += 2) {//如果r值小于100然后sum加上r值然后r+2在进行判断是否小于100以此类推
sum += r;
}
System.out.println(sum);
}
}

示例for九九乘法表,嵌套

//九九乘法表
for (int i = 0;i <= 9;i++){
for (int j = 1;j <= i;j++){
System.out.print(j +"*"+ i +"="+ i * j+" ");
}
System.out.println();
}

解析

这里我搞的也比较懵,在这里我给自己写一个解析的过程,方便我的理解,如果看的话请照上面的示例在看,哈哈!

i=0 0是否小于等于9呢 ,是的 进行下一个for循环语句

j=1 1是否小于等于0呢 ,不是的 进行外面的for循环

i++(自加1原本是0现在是1) 现在i是1了 进行比较 1是否小于等于9呢 是的 进行里面的循环体

j=1 1是否小于等于1呢 是的 进行里面的for循环的循环体进行输出文字 j +""+ i +"="+ i * j+" " 因为现在 j值和i值都是1 意思就是11=11 因为这里是有优先级的所以是已经算出来了等与1 结果就是11=1,好的循环体已经结束

j++(自加1原本是1现在是2 ) 2是否小于等于1呢(先在的i值任然是1) , 不是的小于等于了,进行外面的循环体

i++(自加1原本是1现在是2) 2是否小于等于9呢,是的,进行这个循环里面的循环体

j=1 1是否小于等于2呢, 是的 ,进行循环体输出 j +""+ i +"="+ i * j+" " 12=12 就等于 12=2 ,循环体结束

j++ (自加1原本是1现在是2) 2是否小于等于2呢,是的 ,进行这个循环里面的循环体 j +""+ i +"="+ i * j+" " 因为这里的j值已经有变化了现在是2 就等于 22=22 就是2*2=4

剩下的就以此类推就行, 这里我可能说的会更迷糊,但是我只确保自己能看懂,这个需要会for的语法运行原理和for的嵌套

while循环

语法机制

while (布尔表达式){

循环体

}

原理

判断布尔表达式为true执行循环体,为false不执行

do...while

示例

//do ...while示例
int i = 0;
do {//先执行循环体在判断
System.out.println(++i);
}while (i < 10);
break示例与continue示例
//break示例
for (int a = 0; a < 10; a++ ){
if ( a == 5){
break;//等于a==5时停止当前循环
}
System.out.println(a);
}
//continue示例
for (int a = 0; a < 10; a++ ){
if ( a == 5){
System.out.println("继续");
continue;//终止当前本次循环进行更新表达式继续判断循环
}
System.out.println(a);
}

上面示例都有解释可以自行理解