Java组队学习task01

本文主要参考DataWhale组队学习Java

基本数据类型

类型符号最小值最大值
整型byte-128(-2的7次方)127(2的7次方-1)
int-32768(-2的15次方)32767(2的15次方-1)
short-2147483648(-2的31次方)2147483647(2的31次方-1)
long-9223372036854774808(-2的63次方)9223372036854774807(2的63次方-1)
浮点型float3.402823e+381.401298e-45
double1.797693e+3084.9000000e-324
字符类型char0
布尔类型booleanfalse(0)True(1)

变量

java有三类变量,分别是:

类变量:独立于方法之外的变量,用 static 修饰。
实例变量:独立于方法之外的变量,不过没有 static 修饰。
局部变量:类的方法中的变量。

public class var{
    static int lei_var;    // 类变量
    String str="hello world";  // 实例变量 
    public void test(){
        int local_var =0;  // 局部变量 
    }
}

局部变量

如果在成员方法中定义一个变量,那么这个变量就被称为局部变量。

局部变量在方法实行时被创建,在方法执行结束的时候被销毁。局部变量在使用时必须进行赋值操作或被初始化,否则出现编译错误。
注意: 类成员变量和成员方法可以统称为类成员。如果一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量的值为基准。举例如下:

public class task01 {
    int id = 10;
    public static void main(String[] args) {
        System.out.println("Hello DataWhale");
        printNum();
    }
    public static void printNum(){
        int id = 5;
        System.out.println(id);
    }
}

在这里插入图片描述
可以看到实例变量id(类成员变量)为10,而局部变量id为5,他们同名,但是在类成员方法中对这个变量的访问优先以局部变量为基准,输出局部变量值5。
局部变量的作用域,即局部变量的有效范围,下图描述了局部变量的作用范围。

public class task01 {
    int id = 10;
    public static void main(String[] args) {
        System.out.println("Hello DataWhale");
        printNum();
        doString("DataWhale");
    }
    public static void printNum(){
        int id = 5;
        System.out.println(id);
    }
    public static void doString(String name) {
        int id = 0;
        for (int i = 0; i < 5; i++) {
            System.out.println(name + String.valueOf(i));
        }
    }
}

在这里插入图片描述

实例变量(类成员变量)

声明在一个类当中,方法、构造方法和语句块之外。实例变量的生命周期与对象一致。

类变量/静态变量

类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。生命周期与类一致。

类型转换

在这里插入图片描述
若两个操作数中有一个是double类型,另一个操作数就会转换为double类型;
若其中一个操作数是float类型,另一个操作数也会转换为float类型;
若其中一个操作数为long类型,另一个操作数也会转换为long类型;
否则两个操作数都会转换为int类型。
精度丢失示例:

int n = 123456789;
float f = n;
System.out.println(f);

输出:1.23456792E8

强制类型转换

​ 由上方可看出,在必要时候int类型会自动转换为double类型,而也会有将double类型转换为int类型的需要。这时,就需要通过强制类型转换来实现这个操作。
强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟着待转换的变量名。

double x = 9.997;
int nx = (int)x;

在这里,变量nx的值就会变成9。强制类型转换通过截断小数部分将浮点值转换为整型。

​ 若想要对浮点数进行舍入运算,以便得到最接近的整数,就需要用Math.round方法:

double x = 9.997;
int nx = (int) Math.round(x);

​ 现在变量nx的值为10。

常量

常量在程序运行时是不能被修改的。

在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:

final double PI = 3.1415927;

枚举类型

有时候,变量的取值只在一个有限的集合内,这个变量中很可能保存错误的值。针对这种情况,可以自定义枚举类型。枚举类型包括有限个命名的值。
例如:

销售服装的尺寸有小、中、大和超大四种尺寸。

enum Size {SMALL, MEDIUM, LARGE, EXTRA_LARGE};
//声明这种类型的变量
Size s = Size.MEDIUM;

Size类型的变量只能存储这个类型声明中给定的某个枚举值,或null值。null表示这个变量没有设置任何值。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值