前言:
现在咱们对“java中形参和实参”大概比较看重,同学们都想要了解一些“java中形参和实参”的相关内容。那么小编同时在网络上搜集了一些对于“java中形参和实参””的相关内容,希望朋友们能喜欢,姐妹们快快来了解一下吧!分支语句
1、if分支语句
1.1、if单分支语句
语法: if(逻辑关系表达式){ 代码段1 }
当逻辑关系表达式的值为true时,执行对应{}种的代码段,为false不执行
//if分支语句public class Demo01 { public static void main(String[] args) { /* * 1.单分支语句 语法: if(逻辑关系表达式){ 代码段1 } * * 当逻辑关系表达式的值为true时,执行对应{}种的代码段,为false不执行 * * * 注:if后面的{}可以省略,此时此条if语句和挨的最近的那条代码段匹配 */ if (10 > 9) { System.out.println("10>9");
1.2、if双分支语句
语法: if(逻辑关系表达式){ 代码段1 }else{ 代码段2 }
/* * if双分支: if(逻辑关系表达式){ 代码段1 }else{ 代码段2 } * 如果逻辑关系表达式的值为true,则执行代码段1;如果为false,则执行代码段2; */ int i = 10; if (i % 2 == 0) { System.out.println(i + "是偶数"); } else { System.out.println(i + "是奇数"); }
1.3、if多分支语句
语法:if多分支語句: if(逻辑表达式1){ 代码段1 }else if(逻辑表达式2){ 代码段2 }else if{ 代码段3}
/* * if多分支語句: if(逻辑表达式1){ 代码段1 }else if(逻辑表达式2){ 代码段2 }else if{ 代码段3 * }else{ 代码段4 } * * if else if 中每一个分支都是互斥的,只有一个逻辑表达式的值为true,在该条分支执行,其余的都不执行 */ Scanner sc = new Scanner(System.in); System.out.println("請輸入學生的分數"); // 调用nextInt()方法,返回一个int值作为分数 int score = sc.nextInt(); if (90 <= score && score <= 100) { System.out.println("A"); } else if (80 <= score && score < 90) { System.out.println("B"); } else if (70 <= score && score < 80) { System.out.println("C"); } else if (60 <= score && score < 70) { System.out.println("D"); } else { System.out.println("不及格"); }
1.4、if嵌套语句
语法:if(条件1){ if(条件2){ if(条件3){ }else{ }else{ }//闰年的判断:闰年的规律:4的倍数,但不是100倍数,或者400的倍数 Scanner sc = new Scanner(System.in); System.out.println("请输入你要的年份"); int year = sc.nextInt(); if (year % 4 != 0) { System.out.println("这年不是闰年"); } else { if (year % 100 != 0) { System.out.println("这年是闰年"); } else { if (year % 400 == 0) { System.out.println("这年是闰年"); } else { System.out.println("这年不是闰年"); } } } } }}
2、Switch语句
数值表达式的结果值,会和case后面的数值意义匹配,匹配到哪个case语句,则执行相对应的代码段
在jdk1.7以前,数值表达式可以是字符串
注意1:数值表达式中的值的数据类型要和case后面的数据类型一致
注意2:在使用switch语句的时候要注意case渗透问题,即当case语句后面没用跟上break关键字的时候,如果执行了此case语句,那么当此case语句后面的代码执行完了以后,代码它会继续往下执行,执行下一个case语句,直到遇到break为止。
语法: Switch(数值表达式){ case 值1: 代码段1 break; case 值2: 代码段2 break; case 值3: 代码段3 break; default: 代码段4 }示例1:Scanner sc = new Scanner(System.in);System.out.println("请输入你要的分数");int score = sc.nextInt();Switch(score / 10){ case 9: System.out.println("A"); break; case 8: System.out.println("B"); break; case 7: System.out.println("C"); break; case 6: System.out.println("D"); break; default: System.out.println("不及格");}示例2:// 输入月份,判断是哪一个季节 System.out.println("请输入一个月份"); int month = sc.nextInt(); switch (month) { case 1: case 2: case 3: System.out.println("春天"); break; case 4: case 5: case 6: System.out.println("夏天"); break; case 7: case 8: case 9: System.out.println("秋天"); break; case 10: case 11: case 12: System.out.println("冬天"); break;
3、for循环语句
注意:在使用for循环的时候要先对其值进行初始化
语法:for(1.初始化计数; 2.循环条件判断语句; 3.再求值参数){ 循环体 }示例://打印10个helloWorldfor(int i = 1; i <= 100; i++){ System.out.println("helloWorld"); }示例2://将 123456789数字倒置 int j = 123456789; int temp = j % 10; int LastNum = 0; //用来存放取出来的最后一个数字 int num = 0; for(;j>0;j=j/10){ LastNum = j % 10; num = num * 10 + LastNum; } System.out.println("num:"+num);
4、while循环
当我们知道循环次数的时候使用for循环,当我们不知道循环次数的时候使用while循环
语法: while(条件判断语句){ 循环体 }即当满足条件判断语句时才执行while循环语句/* 系统随机产生1~100之间的随机数 用户从控制台输入数字进行猜测,如果猜大了,给与提示猜大了;如果猜小了,给 与提示猜小了 猜对推出游戏*/ Scanner sc = new Scanner(System.in); // 使用random随机数工具类来帮助产生随机数 Random ra = new Random(); // ra.nextInt(100)产生0-99之间的随机数 int randomNum = ra.nextInt(100) + 1; System.out.println("游戏开始,请输入一个数字"); int inputNum = sc.nextInt(); while (inputNum != randomNum) { if (inputNum > randomNum) { System.out.println("猜大了,请继续输入"); } else if (inputNum < randomNum) { System.out.println("猜小了,请继续输入"); } inputNum = sc.nextInt(); } System.out.println("猜对了,游戏结束"); } for (; inputNum != randomNum;) { if (inputNum > randomNum) { System.out.println("猜大了,请继续输入"); } else if (inputNum < randomNum) { System.out.println("猜小了,请继续输入"); } inputNum = sc.nextInt(); } System.out.println("猜对了,游戏结束"); //while循环也可以替代for循环
5、Do while 循环语句
无论给出的条件是否满足do while语句的条件,它都会执行一次,
特点:无论是否满足循环条件,循环体至少被执行一次
语法: do{ 循环体 }while(条件判断语句)示例:int i = 19; do{ System.out.println("hello"); }while(i > 20); }此时我们给到i的值为19,它不满足while中的条件判断语句(i>20),但是由于do while循环语句的特点,它是先执行循环,因此。它会输出一次hello而后对该条件进行判断,不满足给出的条件语句,则停止循环。输出一次hello
6、循环结束的关键字
1、break:
结束当前整个循环,即使还有剩余的循环次数,也强制结束
int i = 0; while(i<5){ if(i == 3){ break; } System.out.println("i:"+i); i++; }在此处它表示当i = 3 的时候 结束当前整个循环,因此它的输出结果为 0 1 2
2、continue
表示忽略当前这一次循环(即忽略当前这一次循环体中的内容),如果还有循环次数,继续执行。
for(int i = 0; i < 5; i++){ if(i == 3){ // break; continue; } System.out.println("i:"+i); }此处它表示跳过 i = 3 的这次循环,因此它的输出结果为 0 1 2 4
7、Java中的方法
1、什么是方法?
方法:是指对程序中的某个代码段进行封装,方便以后调用。一个方法尽量只执行一个功能。
2、如何定义方法
定义方法的语法:修饰词(权限修饰词,类型修饰词..) + void/返回数据类型 + 方法名(参数列表){ 方法体(具体的方法逻辑); }
8、return和void
1、什么是return?
return关键字,一般用于方法体的末尾,在表示结束某个方法,在return后面不允许在出现代码
2、什么是void
void它紧跟方法名,表示此方法没有返回值
3、什么是返回数据类型
返回数据类型:返回数据类型它和void一样都是紧跟方法名。表示此方法会有对应类型的数据返回,并且要通过return关键字将该对应类型的数据返回,否则编译报错示例:import java.util.Scanner;public class Demo01 { //此方法用于找零钱操作 public static double getRish(double price,int num,double money){ double rush = money - price * num; return rush; } //此方法用于实现打印小票的操作 public static void print(double price,int num,double money){ System.out.println("商品名:xxx" + "商品单价:" + price + "商品数量:" + num + "商品总价:" + (num * price)); } //显示找回的零钱 public static void showRish(double rush){ System.out.println("应找零钱:" + rush); } public static void main(String[] args) { //在此处模拟一个收银台操作,从控制台输入用户需要的数量,商品价格,和用户所给的钱 //计算机做出找零操作并显示 Scanner sc = new Scanner(System.in); System.out.println("请输入商品单价"); double price = sc.nextDouble(); System.out.println("请输入商品数量"); int num = sc.nextInt(); System.out.println("请输入您给收银台的钱"); double money = sc.nextDouble(); //计算找零操作 double rush = getRish(price,num,money); showRish(rush); }}
9、嵌套for循环
嵌套for循环值指的是在一个for循环中在写一个for循环,用图像思维表示的话:1层for循环可以看作是一条直线2层for循环可以看作是一个平面3层for循环可以看作是一个立体图形;用表格思维表示的话:1层for循环可以看作是控制的行2层for循环可以看作外层for循环控制的是行,内层for循环控制的是列注意:嵌套for种,外层for循环外层循环一次,内层for循环要执行一遍。示例:public class Demo02 { public static void main(String[] args) { int i,j; for (i = 0;i < 5;i++){ System.out.println("i = " + i); for (j = 0;j < 5;j++){ System.out.println("j =" + j); } } }}他的输出结果为 :第一次循环结果:i=0 j=0,j=1,j=2,j=3,j=4第二次循环结果:i=1 j=0,j=1,j=2,j=3,j=4第三次循环结果:i=2 j=0,j=1,j=2,j=3,j=4第四次循环结果:i=3 j=0,j=1,j=2,j=3,j=4第五次循环结果:i=4 j=0,j=1,j=2,j=3,j=4例题:通过嵌套for循环实现以下效果*****************************for (int i = 0;i < 5; i++){ for (int j = 0; j < (5 - i); j++){ System.out.print("*"); } System.out.println(); } for (int i = 1;i < 5;i++){ for (int j = 0; j <= i ; j++){ System.out.print("*"); } System.out.println(); }例题2:通过嵌套for循环实现 用循环输出等腰三角形的效果(如下图):最好能动态命令行的数字输出 * 1 *** 3 ***** 5 ******* 7 ********* 9 for(int i = 1;i<5;i++){ for(int j = 0;j<(5-i);j++){ System.out.print(" "); } for(int k= 1;k<=(2*i-1);k++){ System.out.print("*"); } System.out.println(); } }
10、形参和实参的区别
1、什么是形式参数:
形式参数指的是函数调用时,用来接收实际参数的值,称为形式参数
形参:全称为形式参数,由于它不是实际存在的参数,所以它又称之为虚拟变量,是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时所传进来的参数。调用该函数时,实参将值赋给形参,因此必须要注意实参的个数,类型要于形参一一对应。并且实参要有确定的值。
2、什么是实际参数
实际参数是指在调用是传递给函数的值,它可以是变量,常量,表达式,函数等,无论实际参数是什么变量的值,在进行函数调用的时候,都必须要有一个确定值。以便于把这些值传给形式参数,因此应该先对实际参数预先赋值,使实际参数拥有一个确定的值。
3、形式参数和实际参数的区别
形式参数通常出现在函数中定义,即写在方法名后的括号中。在整个函数中可以使用,离开这个函数则不能使用。
实际参数通常出现在主函数(main方法)中,当实际参数进入到被调函数中,实际参数变量也不能被使用。
实际参数和形式参数无论是在类型上,数量上还是顺序上都要严格一致,否则会出现"类型不匹配的错误"。
形式参数只要在被调用的时候才会分配内存空间,在调用结束后,立即释放内存,因此形式参数值只在函数内部有效,当函数调用结束,返回主函数后,该形式参数变量则不能在被使用
实际参数可以是常量,变量,表达式,函数等,但是无论实际参数是什么样的值,在进行函数调用的时候,实际参数都必须要有一个确定的值。以便于把这些值传给形式参数,因此应先对实际参数进行预先赋值。使实际参数拥有一个确定的值。
例子:形式参数:public void method(int a,int b){ 方法体; } 这里的a和b就是形式参数,即形参是一个没有赋值的变量,通常是在函数定义时使用的。实际参数当进行函数调用的时候add(1,2) 这里的1和2就是实际参数,即是一个有赋值的变量。通常是在函数调用时使用。
标签: #java中形参和实参