JAVA数据类型转换,流程控制

一、数据类型转换

1.自动类型转换

1.概念:不同数据类型运算时候,数据范围小的会自动转换成范围大的数据类型

byte-short-int-long-float-double

2.格式:范围大的数据类型 变量名=范围小的数据类型的值;

2.强制类型转换

1.概念:使用特定的格式,将数据范围大的值转换成数据范围小的类型。

2.格式:
范围小的数据类型 变量名=(目标类型) 范围大的数据值

目标类型:是你想要转换的类型

3.基本类型一般不建议使用强制类型转换

4.byte,short char 在运算的时候一般会自动转为int

二、流程控制

2.1 顺序结构

1.概念:代码的运行顺序一般按照代码的书写顺序。

2.2 分支结构

2.2.1 if 语句

1.if 语句使用布尔表达式或者布尔值来作为分支条件来进行分支控制

2.if语句的格式
①:单分支的if结构

	if(条件){
		   语句a;
		}
		语句b;

逻辑:条件满足的时候,执行语句a,之后执行语句b,不满足条件,则会直接执行语句b。

②:标准的if-else

    if(条件){
      语句a;
    }else{
       语句b;
     }
     语句c;

逻辑:条件满足,执行语句a,之后执行语句c,条件不满足则执行语句b,之后再执行语句c。

③:多条件的 if-else

	if(a条件){
	   语句a;
	}else if(b条件){
	   语句b;
	}else if(c条件){
	    语句c;
	}
	......
	else{
	  语句d;
	}

逻辑:a条件满足,执行语句a,再执行语句d,若b条件满足,执行语句b,在执行语句d…

注意

1.如果if,else if,else,条件后面只有一条语句时,可以省略后面的大括号,建议不要省略。

	int a=5;
	if(a>4)
	    System.out.println(a);//省略大括号
	else
	      a--;//省略大括号
	      //下面这句话已经和if else 无关,总会执行的语句
	 System.out.println("b不大于4");

2.如果省略了大括号,if条件只能控制跟紧该条件语句的第一个分号处。

3.如果if后面有多条语句,则不能省略大括号

int a=5;
	if(a>4)
	     a--;
	    System.out.println(a);//这时候多条语句省略大括号,会编译出错
	else
	      a--;//省略大括号
	      //下面这句话已经和if else 无关,总会执行的语句
	 System.out.println("b不大于4");

4.if-else else后面有一个隐含条件,意思是否则的意思,也就是隐含对前面的条件取反。

 例如:
	     public class Test8 {
	
		public static void main(String[] args) {
			int age=45;
			if (age>60) {
				System.out.println("老年人");
			}else if (age>40) {
				System.out.println("中年人");
			}else if(age>20){
				System.out.println("青年");
			}
		}
	}

2.3.2 switch语句

1.关键字:switch 、case、 break、default

2.格式:

   switch(表达式){
       case 值1:
            语句a;
            break;
       case  值2:
           语句b;
           break;
       case 值3:
          break;
      .......
        default:
           语句c;
           break;
           }

3.逻辑:计算表达式的值,将此结果和case后面的值比较,如果相同,就执行case后面的语句。

如果没有和case后面的值相同的就执行default后面的语句。

4.switch后面表达式数据类型只能是

byte,short,int ,String(java7之后) 和枚举

5.case后面的值的类型必须和表达式的结果类型一致

6.case后面的值必须唯一

7.default不是必须的,只有没有一次case满足且需要有默认结果之后才使用,位置是任意的,一般放在最后

8.break作用是结束整个switch-case结构

2.3 循环结构

2.3.1 while循环

1.格式:
while(循环条件){
语句a;
}

逻辑:先判断循环条件是否满足,满足则执行语句a;

当循环条件一直满足,会反复执行语句a,此时就是一个死循环。一般情况下,while循环会有一个false条件结束循环

2.while后面跟一个语句时

     while(a<10);//后面跟一个分号,表明循环体是一个空语句。
      java中一个单独的分号代表一个空语句

2.3.2 do…while循环

1.格式:

  do{
          语句a;
    }while(循环条件);

2.逻辑:先执行一次语句,在判断条件。while循环是先判断条件,在执行循环里面的语句

3.do…while 循环后面有一个分号表明循环的结束

4.do…while 循环体至少执行一次

2.3.4 for循环

1.格式

for(初始值①;条件②;步进表达式③){
             循环体④;
   }

逻辑:先执行①,在执行②,在执行④,在执行③…

2.for循环,循环条件总比循环体多执行一次,因为最后一次执行循环条件返回false,不在执行循环体

3.for 循环迭代语句并没有和循环体放一起,因此即使执行循环体遇到continue语句结束此次循环,迭代语句也一样会执行。

4.for 循环圆括号里面只有两个分号必须的,初始化语句,循环条件,迭代语句都是可以省略的,如果省略了循环条件,这个循环默认为true,将会产生一个死循环

   for(; ;){
       System.out.println("------");
}

2.4 死循环

	while(true){
	
	}
	
	do{
	
	}while(true);
	
	for(;;){
	
	}

2.5 break、continue和return

break:终止整个循环,开始循环之后的语句。
1、switch-case结构中用于跳出整个switch-case,如果没有break,switch-case中的语句会顺序向下执行。(穿透性)

2、循环结构中用于终止整个循环

continue:结束本次循环,开始下一次循环
1、只能用于循环结构,表示跳过当前次循环,继续后续的循环

return:结束一个方法
1.当一个方法后面执行到一个return语句时候,这个方法会结束,return后面还可以跟变量,常量,表达式,都会有不同的结果.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值