Day004

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

  • byte、short、char—>int—>long—>float—>double 小数优先级高于整数

    低——————————————————————>高

  • 运算中,不同类型的数据先转化为同一类型,然后进行运算。

  • 由低—>高,自动转化

    由高—>低,强制转换 (类型)变量名


注意点

  • 不能对布尔值boolean转换

  • 不能把对象类型转换为不相干的类型

  • 把高容量转换到低容量,要强制转换

  • 转换过程可能存在内存溢出,或精度问题、

  • 操作比较大大的数时,注意溢出问题

  • JDK7新特性,数字之间可以下划线分割


变量

  • 变量是可以变化的量

  • Java是一种强类型语言,每个变量都必须声明其类型

  • Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域


注意事项

  • 每个变量都有类型,类型可以是基本型,也可以是引用类型

  • 变量名必须是合法的标识符

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束


变量作用域

  • 类变量 static

  • 实例变量 默认值

  • 局部变量:必须声明和初始化值 在两个大括号内


常量

  • 常量:初始化后不能再改变值!不会变动的值

     final 常量名 = 值;
     final double PI = 3.14;

  • 所谓常量可以理解为特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

  • 常量名一般使用大写字符


变量的命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量、局部变量:首字母小写和驼峰原则 moneySalary

  • 常量:大写字母和下划线 MAX_VALUE

  • 类名:首字母大写和驼峰原则 Man Good_Man

  • 方法名:首字母小写和驼峰原则 run runRun()


运算符

  • 算数运算符:+、-、*、/、%(模 取余)、++(自增)、--(自减)

 public class Demo05 {
     public static void main(String[] args) {
         //++  --  一元运算符
         int a=3;
         int b=a++;  //先给b赋值再自增
         //a++   a=a+1
         //a++:先赋值再自增      ++a:先自增再赋值
         System.out.println(a);
         int c=++a; //先自增再给c赋值
         System.out.println(a);
         System.out.println(b);
         System.out.println(c);
         //幂运算  2^3  2*2*2
         double pow = Math.pow(2, 3); //alt+enter
         System.out.println(pow);
     }
 }
  • 赋值运算符:=

 int a =10;
 //把10赋值给a
  • 关系运算符:>、<、>=、<=、==(等于)、!=(不等于)、instanceof

  • 逻辑运算符:&&、||、! 与或非

 public class Demo06 {
     public static void main(String[] args) {
         //逻辑运算   &&与(and)   ||或(or)     !非(取反)
         boolean a = true;
         boolean b = false;
         System.out.println("a&&b:"+(a&&b)); //两个都为真,才为真
         System.out.println("a||b:"+(a||b)); //有一个为真,就为真
         System.out.println("!(a&&b):"+!(a&&b));//是真为假,是假为真
         System.out.println("==============================================");
         //短路运算
         int c = 5;
         boolean d = (c<4)&&(c++<10);
         System.out.println(c);
         System.out.println(d);   //c<4错误,下面就不会执行,直接输出为false
         System.out.println("===============================================");
         int e = 3;
         boolean f = (e<4)&&(e++<10);
         System.out.println(e);
         System.out.println(f);
     }
 }
  • 位运算符:&(位与)、|(位或)、~(取反)、^(位异或)、<<(左移)、>>(右移)、>>>

 public class Demo07 {
     public static void main(String[] args) {
         //位运算符
         /*
         A=0011 1100
         B=0000 1101
         --------------------------------------
         A&B=0000 1100   都为1才为1
         A|B=0011 1101   都为0才为0
         A^B=0011 0001   相同为0,相异为1
         ~B=1111 0010    取反
         --------------------------------------
         2*8计算如何最快 2*2*2*2   位运算效率极高!!!!
         <<  *2
         >>  /2
         0000 0000   0
         0000 0001   1
         0000 0010   2
         0000 0011   3
         0000 0100   4
         0000 0101   5
         0000 1000   8
         0001 0000   16
                                                  */
         System.out.println(2<<3);
         System.out.println(2>>3);
         System.out.println(2<<4);
     }
 }
  • 条件运算符 ? :

  • 扩展赋值运算符:+=、-=、*=、/=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值