目录
选择语句
if语句
语法: if(条件表达式){执行语句}
if(条件表达式){执行语句}else{执行语句}
if(条件表达式){执行语句}else if(条件表达式){执行语句}......else{执行语句}
if()后若不加大括号,则只会执行if语句下一句的语句
//if或else后若不加大括号则只会执行后面紧跟的一句
/*if(10>5)
System.out.println("abc");
else
System.out.println("cba");*/
int num=5;
if(num>9){
System.out.println("数字太大");
}else if(num>5){
System.out.println("数字不大不小");
}else{
System.out.println("小数字");
}
switch语句
语法格式:switch (表达式){
case value1: 语句序列1;
[break];
…………
case valueN: 语句序列N;
[break];
[default : 缺省语句;]
}
switch语句的表达式值的类型为byte,short,int,char,枚举,String
若是某个case的分支没加break则会执行下一个case分支,且case的值不允许重复
当表达式的值与任一case子句中的值都不匹配时,将执行default后面的语句;如果没有default子句,则程序直接跳出switch语句。
switch语句与if语句的区别:
switch语句不会对条件进行比较,选项会与条件进行固定的匹配,故多用于选项比较固定的情况 switch语句实现的代码,if语句都可以实现,但是选项固定时switch语句效率较高
int w =4;
switch(w){
case 1://case的值不能重复,且case的值只能是常量
System.out.println("今天是星期一");
break;
case 2:
System.out.println("Today is Toco Tuesday");
break;
case 3:
System.out.println("Today is Wednesday");
break;
case 4:
System.out.println("Today is Crazy Thursday");
break;
default:
System.out.println("输入日期不合法");
}
循环语句
while语句
两种格式:
while(表达式){循环体} //进入循环前判断,条件成立则进入循环体否则不进入循环
do{循环体}while(表达式) //先执行一次循环体,再进行条件判断
两者应用场景区别在于是否需要先执行某些操作再进入循环
int i =0;
while(i<5){//括号内表达式为布尔值,令表达式为true则变为死循环
System.out.println(i);
i++;
}
System.out.println("i="+ i);
for语句
for(定义变量1;循环条件2;变量赋值4){循环体3}//执行顺序为数字顺序
若在括号内定义变量则变量只在循环内有效
注:定义变量1(只执行一次),循环条件2(执行多次),循环体3(执行多次),变量赋值4(执行多次)
for (int j=0;j<5;j+=1){
System.out.println(j);
}//无法测试j最终值为多少,j只在循环内有效
for与while的应用场景:while一般用于执行次数未知的循环for一般用于执行次数已知的循环
两个循环的死循环写法为for(;;)与while(true)//其中while更常用一点
break与continue关键字
break关键词: break 语句用于终止某个语句块的执行。用在switch与循环语句体中,可以强行退出switch与循环; 对循环进行标记后(例如标记符:while/for),再使用break 标记符 可以结束循环语句
for (int i=0;i<8;i++){
if(i==5){
break;//i=5时结束循环
}
System.out.println(i);//最终结果为0 1 2 3 4
}
continue关键字: continue 语句用在循环语句体中 用于终止某次循环过程,跳过循环体中 continue 语句下面未执行的循环,开始下一次循环过程
for(int j=0;j<8;j++){
if(j==5){
System.out.println("跳过循环");
continue;
}
System.out.println(j);//循环在进行到j=5时跳过
}
循环嵌套
将一个循环放在另一个循环体内,就形成了嵌套循环。其中, for ,while ,do…while均可以作为外层循环和内层循环。
//输出一个nxn的矩阵
int num=4;
for (int i=0;i<num;i++){//外层循环控制行
for(int j=0;j<=num;j++){//内层循环控制列
System.out.print("* ");
}
System.out.println();//外层循环换行
}
Java中的方法
java是面向对象的语言,java中可以创建类,然后解决一类问题的步骤的有序组合,写进一个类里面,进行包装,将这些有序组合称为方法.
语法格式: [访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){
Java语句;
… … …
[return 返回值;] }
• 修饰符:这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
• 形式参数: 在方法被调用时用于接收外界输入的数据。
• 实参:调用方法时实际传给方法的数据。
• 返回值:方法在执行完毕后返还给调用它的环境的数据。
• 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
public static void main(String[] args) {
Demo3.print();//调用无参的构造方法
System.out.println("--------------");
Demo3.printstar(10);//调用有参的构造方法
//注意有参的构造方法涉及数据类型的转换,调用时需注意
byte a=10;
short b=5;
int test=Demo3.compare1(a,b);//调用有返回值的构造方法,调用无返回值的构造方法时不能使用return语句返回值,若用return语句则后面不能跟值,将会直接终止方法
System.out.println(test);
}
/*
无参的方法
打印3*3的*矩阵
*/
public static void print(){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print("* ");
}
System.out.println();
}
}
/*
有参的方法
打印指定数量的*矩阵
*/
public static void printstar(int num){
for(int i=0;i<num;i++){
for(int j=0;j<=num;j++){
System.out.print("* ");
}
System.out.println();
}
}
/*
有参有返回值的方法
*/
public static int compare1(int x, int y){
return (x>y)?x:y;
}
}