控制语句包括几类
选择语句
循环语句
转向语句
选择语句也可以叫做分支语句
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);
}
上面示例都有解释可以自行理解