选择结构
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])就不会报错了
```java
String 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语句:
程序调试:
可以在程序的任意地方加入断点,运行的时候就会在断点处停止程序,让用户下一步才会继续执行,方便观察参数的变化过程。