选择结构
if语句:
if语句:如果if里面的表达式为真,执行if后面括号中的代码块,如果为假则执行if语句块后面的语句。
int a=0;if (a==1){System.out.println(a);
if else语句:
if else语句:从上往下挨个执行,只需要有一个成立,那么跳出整个结构,如果都不成立,则执行最后的else。
if(a==0){System.out.println(1);}else if(a==2){System.out.println(2);}else {System.out.println(3);}
switch语句:
switch:条件成立执行分支,条件不成立继续向下判断分支,如果分支都不满足,则执行default语句块
支持类型:int,byte,short,char,枚举类型。
注意点:每个语句后面必须加break;
default语句必须放到最后
switch (a){case 1 :System.out.println("第一名");break;case 2:System.out.println("第二名");break;case 3:System.out.println("第三名");break;default:System.out.println("没有名次");}
总结:
if -else: 二选一
- if-else-if:范围多选一
-
特殊:
产生随机数
int x=(int)(Math.random()*10);
数据比较:
八大本类型:用==比较。
- 对象类型:只能用equals来比较。
- equals方法如果数组值为空会报错 ```java string[] str={“12”,”13”,null}; string deta=”12”; if(str[i].equls(deta))//当str[3]是会报错,因为str[3]为空值换成deta.equls(str[i])就不会报错了
```javaString s1 = "tom";String s2 = "hello";System.out.println(s1.equals(s2));//结果:false
输入字符:
Scanner input=new Scanner(System.in);char c=input.next().charAt(0);
hasnext
hasnextint:判断写一个输入是不是int类型,如果是返回true,不是返回false
Scanner input = new Scanner(System.in);int a = input.nextInt();if (input.hasNextInt()) {}
循环语句:
while语句:
先判断条件表达式是否成立,再执行语句块,如果不成立则跳过语句块,执行后面的语句
while (表达式){语句块}
do while语句:
先执行循环中的语句块,然后在判断while中的表达式,如果成立再次执行,如果不成立跳出循环,执行后面的语句
do {语句块}while (表达式);
for语句:
进入循环,先判断循环变量,第二步判断循环条件会否成立,第三步执行语句块,第四部循环变量自增,如果判断循环条件不成立,则直接跳出循环
for (循环变量;循环条件;变量自增(自减);){语句块;}
for语句增强版:
常用于数组遍历打印
int stu[]={1,2,4,87,7,6,6,21,2,7,7,445,8,8};for (int i : stu) {System.out.print(i+" ");}
循环嵌套:
所有循环体中可以嵌套另外任意一个其他循环体,外层循环执行一遍,内层循环执行一个完整循环。
99乘法表打印:
for (int i=1;i<=9;i++){for (int j=1;j<=i;j++){System.out.print(j+"*"+i+"="+i*j+"\t");}System.out.println();}
跳出语句:
break语句:
如果在循环体中加入break语句则结束本次循环
for(int i=1;i<=5;i++){if(i>5){//if条件成立则执行break;break;//如果执行break,跳出循环体。}}
如果循环嵌套中需要让内层循环中的break控制到外层循环,可以给循环加一个标识符,从而达到控制外层循环的效果。
outer: for(int i=0;i<10;i++){inner: for(int j=1;j<=10;j++){if(j>=5){break outer;}}}
continue语句:
强制循环提前返回,跳过本次循环体中的剩余部分,返回到循环控制条件处
如果在for循环体中用continue语句结束本次循环,需要把循环控制条件自减一位。
for (int i = 1; i <= 5; i++) {System.out.print("请输入第" + i + "个学生的成绩:");double x = input.nextDouble();if (x < 0 || x > 100) {System.out.println("成绩不合法,请重新输入");i--;continue;}sum = sum + x;}
return语句:
程序调试:
可以在程序的任意地方加入断点,运行的时候就会在断点处停止程序,让用户下一步才会继续执行,方便观察参数的变化过程。
