JAVA基础-数据类型与分支&循环

JAVA基础03

一、类型转换

1.整型之间的类型转换

整型:byte、short、int、long

public class Test{
    public static void mian(String[] args){
        byte b = 125;
        short s = b; //byte类型的数据可以直接自动转换为short
        short s1 = 128;
        int i = s1;//short类型的数据可以直接自动转换为int
        int i1 = 100;
        long l = i1;//int类型的数据可以直接自动转换为long
        
        long l = 100;
        int i2 = (int)l;//long类型不能直接转换为int类型,必须使用强制转换
        int i3 = 128;
        short s2 = (short)i3;//int类型不能直接转换为short类型,必须使用强制转换
        short s3 = 100;
        byte b2= (byte)s3;//int类型不能直接转换为short类型,必须使用强制转换
        
    }
} 

总结:Java基本数据类型之间可以根据数据类型的大小(所占字节长度)进行由大到小的自动转换;byte<short<int<long,由大数据类型向小数据类型的转换必须使用到强制类型转换,但是在强制类型转换的过程中会出现精度丢失的情况,使用时请注意。

2.浮点型之间的转换与浮点型与整型之间的转换

浮点型:float、double

public class Test_01{
    public static void main(String[] args){
        long l = 100;
        float f = l;//long类型的数据可以直接自动转换为flaot
        float f1 = 200;
        double d = f1;//float类型的数据可以直接自动转换为double
        double d1 = 199;
        float f1 = (float)d1;//double类型不能直接转换为float类型,必须使用强制转换
        float f2 = 288;
        long l1 = (long)f2;//float类型不能直接转换为long类型,必须使用强制转换
    }
} 

总结:整形数据可以与浮点型数据之间进行相互转换,且遵守由小转大自动转换,由大到小需要强制类型转换的原则。由1.2两段代码我们可以总结出:

byte<short<int<long<float<double

3.字符型与整型的转换

字符型:char

public class Test_02{
    public static void main(String[] args){
        char c = 'a';
        byte b = (byte)c;//char类型不能直接转换为byte类型,必须使用强制转换
        short s = (short)c;//char类型不能直接转换为short类型,必须使用强制转换
        int i = c;//byte类型的数据可以直接自动转换为char
        byte b1 = 65;
        short s1 = 65;
        char c1 = (char)b1;//char类型不能直接转换为byte类型,必须使用强制转换
        char c2 = (char)s1;//char类型不能直接转换为short类型,必须使用强制转换
    }
}

总结:char类型的数据不能够直接与byte、short类型的数据进行转换;必须使用强制类型转换,反之亦然;char类型的数据与int类型的数据的相互转换遵循大小原则。

二、变量

1.变量的定义

​ 变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),Java中每个变量必须先声明/先初始化,后使用, 该区域的数据可以在同一类型范围内不断变化。 程序运行过程中它的值是允许改变的量。

ps:(变量可以理解理解为装某种类型数据的容器,容器可以重复使用)

2.Java中定义变量的语法

定义:int i;或者 int a,b,c;

赋值:i = 1;

初始化:int l = 1;或者 int k = 1,j = 2,h = 3;

三、运算符

运算符可以分为算数运算符和逻辑运算符

1.算数运算符

算数运算符有+、-、*、/、%(取模)

自增自减运算符(++、–)

++在前(++a)先运算后赋值

++在后(a++)先赋值后运算

还有一个比较重要的是位运算

<< :左移,例如:5<<2

左移一位,代表这个数乘以2,

右移同理,代表这个数除以2.

2.逻辑运算符

逻辑运算符有& | && || ^ !

注意区分 & 和 && 以及 | 和 || 的区别就可以了

&(与)&&(短路与)的区别在于在Java判断语句中&&(短路与)if(true&&false)只会判断前一个条件是否为false,如果为false那么将不再判断第二个条件,直接返回false,只有当第一个条件为true的时候才会判断第二个条件

|(与)||(短路与),同理,在判断第一个条件为true的情况下直接返回true,否则才会判断第二个条件。

3.三目运算符

表达式1?表达式2:表达式3

如果表达式1成立(返回true)则执行表达式2,否则执行表达式3

四、选择分支

​ 选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。

选择判断有3种形式:

1.if(判断条件){

​ 执行语句;

​ }

  1. if(判断条件){

​ 执行语句;

​ }else if(判断条件){

​ 执行语句;

​ }else if(判断条件){

​ 执行语句;

​ }

3.if(判断条件){

​ 执行语句;

​ }else if(判断条件){

​ 执行语句;

​ }…else if(判断条件){

​ 执行语句;

​ }else{

​ 执行条件;

​ }

switch:

switch(key){

​ case v1:

​ 执行语句;

​ break;

case v2:

​ 执行语句;

​ break;

default:

​ 执行语句;

​ break;

}

注意:从Java7过后switch的key仅仅支持:byte、short、char、int、String、enum

五、循环

A

while(B){

C

}

while的执行顺序:A–>B–>C;B–>C;直到B不满足条件

A

do{

B

}while(C)

do……while的执行顺序:A–>B–>C;B–>C

while循环,当条件不满足时可能一次都不会执行,但是do…while至少会执行一次。

注意

for(A;B;C){

D

}

for循环的执行顺序:A–>B–>D–>C;B–>D–>C

六、流程控制

break:结束本层循环,直接进入下一层循环。

continue:结束本层的本次循环,直接进入本层的下一次循环。

continue、break都可以使用循环标识来指定某一层循环

public class Test{
    public static void main(String[] srgs){
        logo:for(int i = 0; i<=2;i++){
            for(int j = 0; j<=2;j++){
                System.out.print("i="+i+"j="+j);
                break logo;
                continue logo;
            }
        }
    }
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值