Tips2(强制类型转换,常量,变量,类)

一:强制(高精度到低精度)类型转换:

  • 不能对布尔值进行转换
  • 不能把对象类型转换为不相干的类型
  • 转换时可能存在内存溢出或精度问题
         int i=128;
         byte m=(byte)i;
         System.out.println(i);
         System.out.println(m);

    byte最高127,所以m的值不正常。

  •       int i=20_0000_0000;
          int j=20;
          int total=i*j;
          System.out.println(total);

     容量溢出所以错误

  • 即使用long型

    但因为本身i,j都为int型,相乘结果存在问题,所以也不能转换为合法的结果。

            int i=20_0000_0000;
            int j=20;
            int total=i*j;
            System.out.println(total);
            long total1=i*j;
            System.out.println(total1);

  • 但如果计算中已经转换了一个因子,则结果无误

     

            int i=20_0000_0000;
            int j=20;
            int total=i*j;
            System.out.println(total);
            long total1=i*j;
            System.out.println(total1);
            long total3=((long)i)*j;  //转换i为long型
            System.out.println(total3);

  •  

  • 字符型与数值型 

        char i='a';
        int j='a'+5;
        System.out.println(j);

    (更为清晰的数值表示)

  • int money=20_0000_0000;//用下划线分割输出无影响
    System.out.println(money);

     

     二:程序的可读性

  • 尽量不要一行定义多个变量

  • 多写注释

        三:常量

final 常量名(一般用大写字符)=值;

static final double PI=3.14;//形如static,final都为修饰符,在定义时可任意放在类型名前后

      四:变量

 

Java中的“类”和C中的“结构体”相似,都可以用于封装数据(比如将一棵树分为树干,树枝,叶子,果实),且两者都可以嵌套定义

Java中的“方法”相当于C中的“函数”去实现功能,

修饰符 返回值类型 方法名(参数类型 参数名)
{

 ...
方法体
 ...
return 返回值;

}

此段转载自如图

( 一)成员变量(把“类”中,“方法体”外定义的变量称为成员变量)

1.类变量:

  • 用static修饰,也称静态变量,是所有对象共有,如果其中有一个对象将它的值改变,则其他对象所得到的值为改变后的。
  • 生命周期长,随着类使用完就不存在了(类似于C中的全局变量)。
  • 类变量随着类的加载而存在于方法区中。

2.实例变量:

  • 不用static修饰,只作用于当前对象。
  • 生命周期短,对象作用完就不存在了。
  • 实例变量随着对象的建立存在于堆内存中。
    public class day02 //这是一个类
    {
        public static void main(String[] args) //类里面默认有一个主程序方法
        {
            int i =10;//在方法里定义局部变量,只在当前方法里有用,且使用之前必须初始化和声明
            System.out.println(i);
        }
    string name;
    int age;     //两个都是实例变量,如果不初始化则默认为当前类型的默认值
    }

     

(二)局部变量(在方法体中)

与C中的局部变量类似,只存在于它所属的方法中


(针对“四:变量”)总结

public class day02 //这是一个类
{
    static String  name;  //已经定义成类变量
    public static void main(String[] args) //类里面默认有一个主程序方法
    {
        int i =10;//在方法里定义局部变量,只在当前方法里有用,且使用之前必须初始化和声明
        System.out.println(i);
        System.out.println(day02.name); /*可直接输出,如果不定义为static,还需要day02 dayy=new day02()*/
    }
    public void add()//还可以定义其他多种方法
    {
     int y=4;
    }
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值