java流程控制原理与方法_Java基础之方法与流程控制

1.方法

定义一个方法的格式:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

//方法名称的命名规则和变量一样,使用小驼峰

public static void方法名称() {

方法体

}//实例

public classDemo11Method {public static voidmain (String[] args) {

famer();

saler();

cook();

me();

}public static voidme() {//我

System.out.println("吃");

}public static voidcook() {//小商贩//厨子

System.out.println("洗菜");

System.out.println("切菜");

System.out.println("炒菜");

System.out.println("装盘");

}public static voidsaler() {//小商贩

System.out.println("运输到农贸i市场");

System.out.println("抬高价格");

System.out.println("卖给厨子");

}public static voidfamer() {//农民

System.out.println("播种");

System.out.println("浇水");

System.out.println("施肥");

System.out.println("除虫");

System.out.println("收割");

System.out.println("卖给小商贩");

}

}

View Code

注意事项:

方法定义的先后顺序无所谓

方法的定义不能产生嵌套包含关系

方法定义好了之后不会执行,需要进行调用

补充注意:

对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含的为我们补上一个(byte)(short)(char)

如果没有超过左侧的范围,编译器补上强转

如果右侧超过了范围,那么直接编译报错

再给变量赋值的时候,如果右侧的表达式当中全部都是常量的时候,没有任何的变量,那么编译器javac将会直接将若干个常量表达式计算得到结果。但是注意:如果表达式中有变量参与,那么就不能进行这种优化了

方法其他注意事项:

1.方法应该定义在类当中,但是不能定义在方法中,不能嵌套

2.方法定义前后的顺序无所谓

3.方法定义之后不会执行,如果希望执行,需要调用:单独调用、打印调用、赋值调用

4.如果方法有返回值,那么必须写上:return 返回值,不能没有

5.return后面的返回值数据,必须和方法的返回值类型对应起来

6.对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己

7.对于方法中的最后一行的return可以省略不写

8.一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到

方法重载

方法重载(overload):多个方法的名称一样,但是参数列表不能一样

优点:只需要记住一个唯一的方法名称,就可以实现类似的多个功能

方法重载与下列因素相关:

参数个数不同

参数类型不同

参数的多类型顺序不同

方法重载与下列方法无关:

不能根据参数的名字进行重载,与参数的名称无关

与方法的返回值无关

packagecom.dcits.day02.demo04;

​public classDemo01MethodOverload {public static voidmain(String[] args) {

System.out.println(sum(1,3,4));

}public static int sum(int a,intb) {

System.out.println("有两个参数的方法执行");return a +b;

}public static int sum(int a,int b,intc) {

System.out.println("有三个参数的方法执行");return a + b +c;

}public static int sum(int a,int b,int c,intd) {

System.out.println("有四个参数的方法执行");return a + b +c +d;

}

}

2.流程控制

2.1 判断语句

单if语句

public classDemo02If {public static voidmain (String[] args) {

System.out.println("今天天气不错,去网吧");int age = 16;if (age >= 18) {

System.out.println("LOL");

}

System.out.println("回家吃饭");

}

}

标准的if——else语句

public classDemo02If {public static voidmain (String[] args) {int age = 16;if (age % 2 == 0) {

System.out.println("偶数");

}else{

System.out.println("奇数");

}

}

}

if—else,if—else

public classDemo02If {public static voidmain (String[] args) {int x = 10;inty ;if (x >= 3) {

y= 2*x + 1;

}else if (-1 < x && x < 3) {

y= 2 *x;

}else{

y= 2*x - 1;

}

System.out.println("结果是" +y);

}

}

使用三元运算符和标准的if-else语句分别实现:去两个数中的最大值

//三元运算

public classDemo02If {public static voidmain (String[] args) {int a = 10;int b = 20;int result = a > b ?a : b;

System.out.println(result);

}

}

​//if表达式

public classDemo02If {public static voidmain (String[] args) {int a = 10;int b = 20;intresult;if (a >b) {

result=a;

}else{

result=b;

}

System.out.println(result);

}

}

switch语句

多个case后面的数值不能重复

switch后面小括号中只能是以下数据类型:

基本数据类型:byte、short、char、int

引用数据类型:String字符串、enum枚举

switch语句可以很灵活:前后顺序可以颠倒,而且break语句也可以省略。匹配哪一个case就从哪一个位置向下执行,直到遇到了break会哦这整体结束为止

public classDemo02If {public static voidmain (String[] args) {int num = 5;switch(num) {case 1:

System.out.println("星期一");break;case 2:

System.out.println("星期二");break;case 3:

System.out.println("星期三");break;case 4:

System.out.println("星期四");break;case 5:

System.out.println("星期五");break;case 6:

System.out.println("星期六");break;case 7:

System.out.println("星期日");break;default:

System.out.println("数据不合理");break;

}

}

}

2.2 循环语句

for循环

for(初始化表达式; 布尔表达式; 步进表达式) {

循环体

}

​public classDemo09For {public static voidmain (String[] args) {for (int i = 1;i<=100;i++) {

System.out.println("我错啦!" +i);

}

System.out.println("程序停止");

}

}

while循环

public classDemo09For {public static voidmain (String[] args) {int i = 1;while (i <= 10) {

System.out.println("我错啦" +i);

i++;

}

System.out.println("程序停止");

}

}

do..while循环

public classDemo09For {public static voidmain (String[] args) {int i = 1;do{

System.out.println("我错啦" +i);

i++;

}while (i<=10);

System.out.println("程序停止");

}

}

三种循环的区别

1.如果条件判断从来就没有满足过,那么for循环和while循环将会执行0次,但是do while循环至少会执行一次

2.for循环的变量在小括号中定义,只有在循环内部才可以使用

2.3 条件控制语句

break

1.可以在switch语句中,一旦执行,整个switch语句立刻结束

2.还可以用在循环语句当中,一旦执行,整个循环语句立刻结束,打断循环

public classDemo09For {public static voidmain (String[] args) {int sum = 0;for (int i = 1;i <=100; i++) {if (i == 10) {break;

}

}

System.out.println(sum);

}

}

continue

public classDemo09For {public static voidmain (String[] args) {int sum = 0;for (int i = 1;i <=10; i++) {if (i == 4) {continue;

}

System.out.println(i+ "层到了");

}

}

}

死循环

public classDemo09For {public static voidmain (String[] args) {while (true) {

System.out.println("I love Java!");

}

}

}

循环的嵌套

public classDemo09For {public static voidmain (String[] args) {for (int hour = 0; hour < 24; hour++) {for (int minute = 0;minute <60; minute ++){

System.out.println(hour+ "点" + minute + "分");

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值