JavaSE---Day04

类型转换

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

低 -------------------------------------------------------------> 高

byte,short,char->int->long->float->double

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

强制类型转化:高------>低

自动类型转换:低------>高

 //类型转换
  public class Demo02 {
      public static void main(String[] args) {
          int i = 128;
          byte b= (byte)i;//会出现内存溢出现象,byte范围为-128 -- 127
          System.out.println(i);
          System.out.println(b);//结果为-128
  ​
          /*
          * 注意点:
          * 1.不能对布尔类型进行转换
          * 2.不能把对象类型转换为不相干的类型
          * 3.在把高容量转换到低容量的时候是强制转换
          * 4.转换的时候可能存在内存溢出或者精度变化问题
          *
          * */
          System.out.println((int)23.7);//23
          System.out.println((int)-45.47f);//-45
          char c = 'a';
          int d=c+1;
          System.out.println(d);//98
          System.out.println((char)d);//b
  ​
          //操作比较大的时候,注意溢出问题
          //数字之间可以用下划线分割
          int money =10_0000_0000;
          int years = 20;
          int total = money*years;//-1474836480,计算的时候溢出了
          long total2 = money*years;//默认是int 转化之前已经存在问题了
          System.out.println(total);
          System.out.println(total2);
  ​
          long total3 = money*((long)years);//先把一个数转换为long
          System.out.println(total3);
  ​
      }
  }

变量

变量:可以变化的量

JAVA是一种强烈性语言,每个变量都必须声明其类型。

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

  
  type varName  [=value]  [{,varName[=value]}]
  //数据类型  变量名  =  值 ;可以使用逗号隔开类声明多个同类型变量

注意事项:

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

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

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

作用域:

  • 类变量

  • 实例变量

  • 局部变量


  //变量
  public class Demo03 {
  ​
      //属性:变量
  ​
      //类变量
      static  double salary = 2500;
  ​
      //实例变量:从属于对象,如果不进行初始化,变量值为这个类型的默认值
      //数值型的默认值为0或者0.0,布尔类型的默认值为false,除了基本类型其他类型均为null
      String name;
      int age;
  ​
  ​
      //main 方法
      public static void main(String[] args) {
          //定义变量示例
          int a =10;
          double pi = 3.14;
          String name = "java";
          //变量作用域
          //局部变量:必须先声明再使用
          int i= 10;
          System.out.println(i);
          //变量类型 变量名 = new Demo03();
          Demo03 demo03 = new Demo03();
          System.out.println(demo03.age);//0
          System.out.println(demo03.name);//null
  ​
          //类变量的输出
          System.out.println(salary);
  ​
      }
      //其他方法
      public void add(){
  ​
      }
  }

常量(Constant)

常量(Constant):初始化之后不能改变值

所谓常量可以理解成一种特殊的变量,其值在被设定后,在程序运行过程中不允许杯盖百年

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

常量名一般使用大写字符

运算符(operator)

JAVA支持如下运算符:

算术运算符:+ - * / % ++ --

赋值运算符:=

关系运算符:> < >= <= == != instanceof

逻辑运算符:&& || !

位运算符:& | ^ ~ >> << >>>

条件运算符: ? :

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

public class Demo04 {
      //逻辑运算符和位运算符
      //与 adn   或 or   非:取反
      public static void main(String[] args) {
          boolean a = true;
          boolean b = false;
          System.out.println("a && b :"+(b&&a));//逻辑与运算:两个变量都为真的时候结果为true
          System.out.println("a || b :"+(a || b));//逻辑或运算:两个变量中有一个为真,结果为true
          System.out.println("!(a && b) :"+!(b&&a));//逻辑非运算:真变假,假变真
  ​
          //短路运算
          int c =5;
          boolean d = (c<4)&&(c++<4);
          System.out.println(d);
          System.out.println(c);
          /*
          * A = 0011 1100
          * B = 0000 1101
          * -----------------
          * A&b = 0000 1100
          * A|b = 0011 1101
          * A^B = 0011 0001
          * ~B  = 1111 0010
          *
          * 2*8=16 2*2*2*2    相对来说,位运算效率极高
          * <<   左移  *2
          * >>   右移  /2
          *
          * */
      }
  }
  
  public class Demo05 {
      public static void main(String[] args) {
          int a = 10;
          int b = 20;
          a+=b;//a=a+b
          a-=b;//a=a-b
          System.out.println(a);//10
          //字符串连接 + ,String
          System.out.println(""+a+b);//1020  引号在前进行字符串拼接
          System.out.println(a+b+"");//30    引号在后进行运算
  ​
          //三元运算符
          int score = 80;
          String grade = score >=60 ? "及格":"不及格";
          System.out.println(grade); //及格
      }
  }

包机制

为了更好地组织类,JAVA提供了包机制,用于区别类名的命名空间

包语句的语法格式:

  
  package pkg1[.pkg2[.pkg3]...];

一般利用公司域名导致作为包名;

为了能够使用一个包的成员,我们需要在JAVA程序中明确导入该包。使用import语句即可完成此功能:

      import package1[.package2].(classname|*);

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值