Java Variable 变量

article/2025/10/28 16:26:10

目录

  • 变量
  • 1. 变量的作用域
    • a. 类级变量
    • b. 成员变量
    • c. 局部变量
  • 2. 基本数据类型
    • a. 按内存占用级数
    • b. 自动类型转换
      • i. 十进制转二进制
    • c. 强制类型转换
      • i. (XXX)
      • ii. parseXXX()
  • 3. 引用数据类型


变量

  • 同时被 final 和 static 修饰的变量是常量。

1. 变量的作用域

  • 变量的作用域分为4个级别:类级、对象实例级、方法级、块级,如果不同作用域中变量重名,遵循就近原则。

a. 类级变量

  • 类级变量又称全局变量或静态变量,需要用 static 关键词修饰,类定义(编译)后便存在,占用内存空间,可以通过类名来访问,不需要实例化。
  • 有些地方将成员变量叫做全局变量,将类级变量称作静态全局变量,所以为了避免歧义,称类级变量为静态变量较妥。

b. 成员变量

  • 成员变量又称对象实例级变量,实例化后会分配内存空间,有默认初始值,String 类型默认 null,int 类型默认0。

c. 局部变量

  • 局部变量又称方法级变量或方法内变量,在方法内部定义,没默认初始值,必须定义和赋值才能使用。

2. 基本数据类型

  • 8种基本数据类型:byte,short,int,float,long,double,boolean,char。

a. 按内存占用级数

  1. bit(b) 位是计算机存储设备的最小信息单元(1B = 8 bit,1KB = 1024B 同理 MB GB TB);
  2. byte(B) 字节(-128—127)是计算机中最基本的存储单元;
    boolean
  3. short(-215—215-1);
    char 字符(0-65545),‘’中只能有一个字符,不能没有字符,可以空格因为一个空格对应一个字符;
  4. int(-231—231-1);
    float(1.401298e-45 ~ 3.402823e+38)表示float的后面建议加F(一般大写,可以小写);
    • System.out.println() 里和运算后都是默认 int,所以定义 long 类型的变量时,需要在整数的后面加 L(大小写均可,建议大写);
  5. long(-263—263-1)表示long的数据后面建议添加L(一般大写,可以小写);
    double(4.9000000e-324 ~ 1.797693e+308),e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方;
    • 默认浮点数是 double,所以定义 float 类型的变量时,需要在小数的后面加 F(大小写均可,建议大写);

b. 自动类型转换

  • byte,short,char 在进行运算时会先提升为 int再计算 ;
    char 到 int,按 ASCII 码表转换,如 ‘a’ 对应 97;
  • 取值范围小的和取值范围大的进行运算时,会将小的提升为大的之后再进行运算;
    数据范围:bit < byte < short = char < int < long < float < double
    浮点数占内存一样但范围更大因为用 IEEE754 来压缩了的科学计数法,丢失精确度,例如 int 到 double 小数位会被直接舍弃;
  • boolean不能与其他类型相互转换;

i. 十进制转二进制

十进制转二进制


c. 强制类型转换

  • 将存储范围大的转换为存储范围小的;

i. (XXX)

public class test {public static void main(String[] args) {byte b = 123;System.out.println((int) b);}
}

ii. parseXXX()

public class test {public static void main(String[] args) {String s = "123";byte b = Byte.parseByte(s);System.out.println(b);short sh = Short.parseShort(s);System.out.println(sh);int i = Integer.parseInt(s);System.out.println(i);Long l = Long.parseLong(s);System.out.println(l);double d = Double.parseDouble(s);System.out.println(d);//没有Boolean.parse和Character.parse}
}

3. 引用数据类型

  • 除基本类型外所有数据类型,包括 String 与包装类,StringBuilder,详见:Java String 与 StringBuilder。

原文链接:https://blog.csdn.net/Regino/article/details/104489837


http://chatgpt.dhexx.cn/article/KhC5kbss.shtml

相关文章

About Variables

Assessing Variable Types “It all began with a variable”, the storyteller began. Just kidding, no one starts their stories that way, even though variables are where all data stories begin. Variables define datasets. They are the characteristics or attr…

pytorch的Variable和Parameters的联系和区别

文章目录 前言一、Variable二、Parameter总结 前言 首先看一下官方文档&#xff1a; 一、Variable torch.autograd.Variable Variable是对Tensor的封装&#xff0c;操作与tensor基本一致&#xff0c;不同的是&#xff0c;每一个Variable被构建的时候&#xff0c;都包含三个…

关于variable的理解

引用莫烦大大的话来说&#xff0c;tensor是一个鸡蛋&#xff0c;而variable相当于一个篮子&#xff0c;把tensor装起来 其中variable有三个参数&#xff1a; data&#xff1a;存储了Tensor&#xff0c;是本体的数据 grad&#xff1a;保存了data的梯度&#xff0c;本事是个Varia…

深度学习——Variable(已经过时了!)

一、简介 深度学习中使用pytorch框架&#xff0c;使用的数据一般是torch中的tensor形式。但是在参数表示中&#xff0c;一般是用variable变量形式。 二、variable的使用 &#xff08;1&#xff09;如何将tensor转化为variable pytorch1.0之后tensor和variable没有区别了&am…

Pytorch的Variable详解

pytorch两个基本对象&#xff1a;Tensor&#xff08;张量&#xff09;和Variable&#xff08;变量&#xff09; 其中&#xff0c;tensor不能反向传播&#xff0c;variable可以反向传播。 tensor的算术运算和选取操作与numpy一样&#xff0c;一次你numpy相似的运算操作都可以迁…

13.2 用Patsy创建模型

1、patsy适合描述statsmodels的线性模型&#xff0c;其公式是一个特殊的字符串语法&#xff0c;表示为模型设计矩阵 2、patsy.dmatrices函数接收一个公式字符串和一个数据集&#xff0c;为线性模型设计矩阵 3、Pasty对象可以直接传递到算法&#xff0c;如下面的最小二乘回归 4、…

Could not find a version

目标检测—教你利用yolov5训练自己的目标检测模型 我自己的另一篇配置文件和代码地址博客总结 CondaHTTPError: HTTP 000 CONNECTION FAILED for url 的问题终极解决方案 配置环境 安装pytorch 利用Anaconda安装pytorch和paddle深度学习环境pycharm安装—免额外安装CUDA和c…

statsmodels遇到的坑!!!

ImportError: cannot import name cached_data ModuleNotFoundError: No module named patsy python SimpleExpSmoothing 错误 statsmodels安装包地址&#xff1a; Python Extension Packages for Windows - Christoph Gohlke (uci.edu) 现已完美解决~

python数据处理包_python数据处理包安装

1> 本机环境 C:\Python27>python Python 2.7.12rc1 (v2.7.12rc1:13912cd1e7e8, Jun 12 2016, 05:57:31) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.…

手把手教你用Python进行回归(附代码、学习资料)

作者&#xff1a; GURCHETAN SINGH 翻译&#xff1a;张逸 校对&#xff1a;丁楠雅 本文共5800字&#xff0c;建议阅读8分钟。本文从线性回归、多项式回归出发&#xff0c;带你用Python实现样条回归。 我刚开始学习数据科学时&#xff0c;第一个接触到的算法就是线性回归。在把…

【Python数据分析】实践编写篇2:用Python进行回归分析与相关分析

目录 一、前言 1.1 回归分析 1.2 相关分析 二、代码的编写 2.1 前期准备 2.2 编写代码 2.2.1 相关分析 2.2.2 一元线性回归分析 2.2.3 多元线性回归分析 2.2.4 广义线性回归分析 2.2.5 logistic回归分析 三、代码集合 一、前言 1.1 回归分析 是用于研究分析某一变量受其…

chatgpt赋能Python-python_patsy

Python Patsy: 一个用于统计建模的Python库 什么是Patsy&#xff1f; Patsy是一个Python库&#xff0c;用于进行统计建模和数据预处理。Patsy的主要目的是将数据转换为适合统计建模的格式。它是一个基于公式的语言&#xff0c;通过描述预测变量和目标变量之间的关系&#xff…

Simple Linear Regression:ONE

前言 对于一些库的说明 numpy&#xff1a;支持矩阵运算&#xff0c;在矩阵运算这方面可以完全替代基于向量编程的matlab pandas&#xff1a;这个是一个数据存储库&#xff0c;是以表单&#xff08;dataframe&#xff09;为基本单位&#xff0c;这个库的好处在于行列 索引并不是…

python建模库介绍:pandas与建模代码的结合,使用Patsy创建模型描述

13.1 pandas与建模代码的结合 使用pandas用于数据载入和数据清洗&#xff0c;之后切换到模型库去建立模型是一个常见的模型开发工作流。在机器学习中&#xff0c;特征工程时模型开发的重要部分之一&#xff0c;特征工程就是指从原生数据集中提取可用于模型上下文的有效信息的数…

py之patsy:patsy的简介、安装、使用方法之详细攻略

py之patsy&#xff1a;patsy的简介、安装、使用方法之详细攻略 目录 patsy的简介 patsy的安装 patsy的使用方法 patsy的简介 Patsy是一个python库&#xff0c;用于描述统计模型&#xff08;尤其是线性模型&#xff0c;或具有线性组件的模型&#xff09;和构建设计矩阵。Pats…

两个线程循环打印121212...

A线程打印1&#xff0c;B线程打印2&#xff0c;要求循环打印121212... 思路 两个线程&#xff0c;可以想到的是多线程编程&#xff0c;共享变量&#xff0c;数据等&#xff0c;设想先让一个线程打印1&#xff0c;然后处于等待&#xff08;wait&#xff09;状态&#xff0c;接着…

静态路由实验总结

静态路由试验 实验目的 实现此图的全网互通 实验基础知识 路由的工作原理&#xff1a;路由器收到数据包之后&#xff0c;会查看其目标IP地址&#xff0c;会查询本地的路由表&#xff0c;若表中记录有去往目标的路径&#xff0c;则无条件转发&#xff1b;若没有去往目标的路…