java零基础小白到秃头--day04 (类型转化、常量、运算符) 待续ing......

类型转化

  • 自动转化

数据类型之间可以自动进行转化。(小类型转化到大类型)

//声明一个byte类型的变量
 byte a = 123;
 //将byte类型的值a赋值给int类型的变量b
 int b = a;
 System.out.println(a);

Tips:数据在进行四则运算时,数据类型会自动向大类型靠拢。char>short>int>long>float>double,char类型向int类型靠拢

  • 强制类型转化

大类型转化到小类型需要强制转换

//声明一个int类型变量a
int a = 123//将变量a存储到byte类型的变量b中。
byte b =(byte) a;
System.out.println(b);

Tips:强制转化会造成数据错误,所以强转有风险,转化需谨慎

常量

i、定义

在程序运行期间其值不会发生改变的量。

ii、why使用?

在软件开发过程中,有一些值时不允许被多次赋值的,对于这些值,我们通常用常量来定义它,防止程序运行期间发生改变。

iii、书写格式

用final修饰的变量就是常量

//定义常量a
final int a = 1

iv、常量的分类

  • 字面常量:看到什么就是什么。
  • 字符常量:通过final修饰的变量也叫最终常量。

v、命名规则

通过所有单词的所有字母均大写,单词之间用“_”分割来给常量命名。

运算符

i、分类

  • 算术运算符:+ - * / ++ –
  • 关系运算符:> < >= <= != == instanceOf
  • 逻辑运算符:& | ! ^ && ||
  • 赋值运算符:=
  • 扩展/拓展运算符: += -= *= /= %= >>= <<= ^= !=
  • 位运算符:& | ^ >> << <<< !
  • 条件运算符:?:

ii、赋值运算符

将=右边的数的值赋给左边的变量存储

 int a = 10//将10这个值赋给int类型的变量a

iii、算数运算符

  • +号
public class Test{
    public static void main(String[] args){
        int num = +5;//+号当作正号使用
        System.out.println(num);
        
        num = 1+2;  //+号当作运加法使用
        System.out.println(num);
        
        System.out.println("1+1="+1+1);//+号当作连接符使用
    }
}
  1. +号在数字前面编写,代表正号
  2. 在两个数值之间写代表加法运算
  3. +号左右两边有字符串类型的操作数时,+号代表连接符
  • -号
public class Test{
    public static void main(String[] args){
        int num = -5;//-号当作负号使用
        System.out.println(num);
        
        num = 2-1;  //-号当作运减法使用
        System.out.println(num);
    }
}
  1. -号在数值前面编写,代表负号
  2. 在两个数值之间,代表减法运算
  • % * /
public class Test{
    public static void main(String[] args){
       int num = 15;
       num = num*2;  //乘法运算
       System.out.println(num);
       num = num/2;  //除法运算
       System.out.println(num);
       num = num%2;  //取余运算
       System.out.println(num);
    }
}

Tips、他们三个只能进行运算

  • ++和–的区别和联系

++:是在原来的基础上自增1

–:是在原来的基础上自减1

当++、–作为一条单独语句时,都是单目运算符,在前和在后没有区别。

++num当不是单独一条语句时,先自增,再运算

num++当不是单独一条语句时,先运算,再自增

–num、num–用法相同。

iv、扩展/拓展运算符

实际上就是算数运算符和位运算符+赋值运算符的结合体(+=、-=、*=、/=)

public class Test{
    public static void main(String[] args){
       int num = 15;
       num += 1; //相当于num = num +1;
       System.out.println(num);
       num -= 1;//  相当于num = num-1;
       System.out.println(num);
    }
}
  • 优缺点

    • 优点:

      • 提高编写效率

      • 提高编译速度

      • 自动强制转化(有时候会出现精度问题)

    • 缺点 :

      • 不利于阅读

v、关系运算符

public class Test{
    public static void main(String[] args){
     int a = 1;
     int b = 1;
     System.out.println(a==b); //true
     System.out.println(a>b);  //flase
     System.out.println(a<b);  //flase
     System.out.println(a!=b);  //flase
    }
}
  • 注意事项:
    • 最后的结果是个boolean值,true或flase。
    • !=、==既可以比较基本数据类型也可以比较引用数据类型
    • <、>、>=、<=只能比较基本数据类型(boolean类型除外)

vi、逻辑运算符

逻辑运算符中包括(&、|、!、、&&、||),逻辑运算符左右的操作数只能是boolean类型的值,当&、|、两边的操作数不是boolean类型的值时,他们不是逻辑运算符,而是位运算符。

public class Test{
    public static void main(String[] args){
      System.out.println(ture&ture); //true 
      System.out.println(ture&flase); //flase
      System.out.println(flase&ture); //flase 
      System.out.println(flase&flase); //flase
      
      System.out.println(ture|ture); //true
      System.out.println(flase|ture); //true
      System.out.println(ture|flase); //true
      System.out.println(flase|flase); //flase
      
      System.out.println(!ture); //flase
      System.out.println(!flase); //true
      
      System.out.println(ture^ture); //flase
      System.out.println(ture^flase); //true
      System.out.println(flase^ture); //true
      System.out.println(flase^flase); //flase
      
      System.out.println(ture&&ture); //true 
      System.out.println(ture&&flase); //flase
      System.out.println(flase&&ture); //flase 
      System.out.println(flase&&flase); //flase
      
      System.out.println(ture||ture); //true
      System.out.println(flase||ture); //true
      System.out.println(ture||flase); //true
      System.out.println(flase||flase); //flase
     }
}
  • 逻辑运算符运算结果
    • &、&&左右两边操作数都为true结果就是true(串联电路)
    • |、||左右两边有一个操作数位true结果就是true(并联电路)
    • ^两边操作数相同为flase,不同为true
    • !取反

Tips:&&运算时,当左边第一个操作数为flase时,就不会再对第二个操作数进行运算,因为结果一定是flase

Tips:||运算时,当左边第一个操作数为true时,就不会在对第二个操作数进行运算,因为结果一定是true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值