Day04

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低-------------------------------->  高
byte,short,char->int->long->float->double
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算。
  • 强制类型转换 (类型)变量名 高–>低
  • 自动类型转换 低–>高
public class Semmr03 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte)i;//内存溢出
        //强制转换  (类型)变量名  高-->低
        // 自动转换  低-->高


        System.out.println(1);
        System.out.println(b);
        //转换精度问题:
        System.out.println((int)23.7);    //23
        System.out.println((int)-45.89f);  //-45
        System.out.println("================");
        char c='a';
        int d=c+1;
        System.out.println(d);
        System.out.println((char)d);
    }
}
输出:
1
-128
23
-45
================
98
b

注意点:

  1. 不能对布尔值进行转换;
  2. 不能把对象类型转换为不相干的类型;
  3. 在把高容量转换到低容量的时候,强制转换;
  4. 转换的时候可能存在内存溢出,或者精度问题!

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

public class Semmr04 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
          int m=10_0000_0000;
          int years=20;
          int total =m*years;//      -1474836480,计算的时候溢出了
          long total2=m*years;//     默认是int,转换之前已经存在问题了
          long total3=m*((long)years);//   先把一个数转换成long
          System.out.println(total);
          System.out.println(total3);
    }
}
输出:
1000000000
20000000000

尽量用大写的L

变量

  • 变量是什么:就是可以变化的量!

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

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

    type varName [=value] [{,varName[=value]}];

//数据类型 变量名 =值;可以用逗号隔开来定义多个变量(不建议)

  • 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法的标识符。
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量作用域

  • 类变量

  • 实例变量

  • 局部变量

  • public class Variable  {
          public static void main(String[] args) {
          }
       static int allClicks=0;           //类变量
       String str="hello world";         //实例变量
        
        
       public void method(){ 
             int i=0;                   //局部变量
       }
    }
    
代码笔记
public class Semmr06 {
    //类变量 static
       static double salary=2500;
    //属性:变量

    //实例变量:从属于对象;如果不进行初始化,这个类型的默认值   0  0.0
    //布尔值:默认是false
    //除了基本类型,其余的默认值都是null;
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int i=10;
        System.out.println(i);               //输出10
        //变量类型  变量名字 =new Semmr06();
        Semmr06 semmr06=new Semmr06();
        System.out.println(semmr06.age);    //输出0
        System.out.println(semmr06.name);   //输出null

        //类变量   static
        System.out.println(salary);         //输出2500.0

    }
}

常量

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

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

  • final 常量名=值;
    final double PI=3.14;
    
  • 常量名一般使用大写字符

public class Semmr07 {
       //修饰符,不分先后顺序(变量类型前都为修饰符)
    static final double PI=3.14;      //定义常量

    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量的命名规范

  • 所有变量,方法,类名:***见名知意***原则;
  • 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词外,后面单词的首字母大写:lastname–>lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

注:两个关键词 staticfinal

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值