Java学习总结2(类型转换,变量,常量)

类型转换(强制类型转换,自动类型转换)

由于java是强类型语言,所以在进行有些运算时,需用到类型转换。
运算中,不同类型的数据先转化为同一类型,然后进行运算。
低-----------------------------------------------------高
byte,short,char->int->long->float->double

int i=128;
        byte b=(byte)i; //内存溢出
        //强制转换    (类型)变量名         高-----低
        //自动转换                         低-----高
        System.out.println(i);
        System.out.println(b);
        /*
        注意点:
        1、不能对b布尔值进行转换。
        2、不能把对象类型转换为不相干的类型。
        3、在把高容量转换到低容量的时候,强制转换。
        4、转换的时候可能存在内存溢出,或者精度问题。
         */

操作比较大的数字时,注意溢出问题。
JDK7新特性,数字之间可以用下划线分割。

例:

int i=10_0000_0000;
        System.out.println(i);

相乘类型转换实例:

public static void main(String[] args) {
        int i=10_0000_0000;
        int year=20;
        int total=i*year;
        //long to2=i*year;
        //System.out.println(to2);
        long to3=((long)i)*year;
        System.out.println(to3);
        System.out.println("----------------");
        long to4=i*((long)year);;
        System.out.println(to4);
        System.out.println("----------------");
        long to5=Long.valueOf("20000000000");
        System.out.println(to5);
    }

to2报错,其他均成功输出。
注意点:输出long类型数值需在数值后加L。

如果想对浮点数进行舍入运算,以便得到最接近的整数(在很多情况下,这种操作更有用),那就需要使用Math.round方法:

public static void main(String[] args) {
        float x = 7.8999f;
        int n = (int)x;
        System.out.println(n);
        System.out.println("-----------------");
        int m = (int)Math.round(x);
        System.out.println(m);
    }

输出:n = 7 ;m = 8;
当调用round的时候仍然需要进行强制类型转换。因为round方法返回的结果为double类型,由于存在信息丢失的可能性,所以只有使用显式的强制类型转换才能够转换成int类型。

变量

每个变量都应先定义再使用。
Java变量是程序中最基础的存储单位,其要素包括变量名、变量类型和作用域。
注意事项:

  • 变量名必须是合法的标识符。
  • 每个变量都有类型,类型可以是基础类型,也可以是引用类型。
  • 变量声明是一句完整的语句,因此每一个声明都必须以分号结束。
  • 不建议在代码中使用$

声明格式:数据类型 变量名 = 值; //可以用逗号隔开来声明多个同类型变量(不建议)。
eg1. int a; a = 4;
或 int a = 4;

常量

在Java中用final定义常量,常量一旦被赋值就不能够再更改了。

  • 常量名通常使用全大写。

eg.final double m = 2.54;

在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常把这些常量称为类常量。可以使用关键字static final设置一个类常量。

public class demo1 {
    public static final int AGE = 18 ;
    public static void main(String[] args) {
        Scanner n = new Scanner(System.in);
        System.out.print("name:");
        String name = n.nextLine();
        System.out.println(name+"说她永远"+AGE+"岁");
    }
}

  • 类常量的定义位于main方法的外部。因此,在同一个类的其他方法中也
    可以使用这个常量。而且,如果一个常量被声明为public,那么其他类的方法也可以使用这个常量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值