java 什么是变量和字面量?

什么是变量,怎么理解的?
变量其实就是内存当中存储数据的最基本的单元。
一个存储数据的盒子,一个存储数据的单元。
什么是字面量,怎么理解?
整数型字面量,浮点型的字面量,布尔类型字面量,字符型字面量,字符串型字面量
字面量其实本质上就是“数据”。
变量怎么声明,怎么赋值?
声明:数据类型 变量名;
赋值:
用“=”赋值
变量名 = 字面量;
变量在同一个域当中不能重名。
变量的分类?
在方法体当中声明的变量就是局部变量。
在方法体外类体中声明的变量就是成员变量。
变量的作用域?
每一个变量都有自己的有效范围,出了范围就不认识了,就不能用了。

数据类型:
1、什么是数据类型,有什么用?
数据类型决定了变量分配空间的大小,类型不同,空间大小不同。(在内存中分配空间)
计算机的主要部件:CPU、内存、硬盘、主板。
不同的数据类型,在内存中分配的空间大小不同。
也就是说,Java虚拟机根据变量的数据类型分配内存空。根据不同的类型,分配不同大小的空间。
2、数据类型分类?
基本数据类型:byte, short, int, long, float, double, boolean, char
引用数据类型:String, . . . . . . .
3、二进制
4、二进制和十进制之间的互相转换。
5、8种数据类型,每个占用空间大小。
数据类型 字节
byte 1
short 2
int 4
long 8
float 4
double 8
boolean 1
char 2
6、byte, short, int, char的取值范围:
byte -128~127
short -32768~32767
int -2147483648~2147483647
char 0~65535

    byte i = 127;   // -128~127byte ii = 128;  // 报错short j = 32767;    // -32768~32767short jj = 32768;   // 报错char k = 65535;     // 0~65535char kk = 65536;    // 报错int l = 2147483647; // -2147483647~2147483647int ll = 2147483648;// 报错

1 个字节= 8 个比特位
1 个比特位就是一个 1 或 0。注意:比特位是二进制位。
int 是占有多少个二进制为?1个 int 占有 32 个二进制为(bit 位)
1 个 int 有 4 个字节

对于一个变量来说,包括三要素:
变量的数据类型
变量的名字
变量中保存的值

类型+名字+值
类型决定空间的大小。
起个名字是为了以后方便访问。(以后在程序中访问这个数据是通过名称来访问的。)
值是变量保存的数据。

二进制为就是:满 2 进 1 位(0 1 10 11 100 101 . . . . . . . . . )
十进制诶就是:满 10 进 1 位

在java语言中怎么给一个变量赋值呢,语法格式是什么?
使用一个运算符,叫做“=”,这个运算符被称为赋值运算符。
赋值运算符“=”的运算特点是:等号右边先执行,执行完之后赋值给左边的变量。

变量可以声明的时候赋值

关于变量的一个分类
变量根据出现的位置进行划分:
在方法体当中声明的变量:局部变量。
在方法体之外,类体内声明的变量:成员变量。
局部变量只在方法体当中有效,方法执行结束该变量的内存就释放了。

每一天你会编写很多程序,你会遇到很多编译错误,也会遇到很多运行错误,你需要准备一个单独的文件来记录这
些信息,以及记录这些信息是怎么导致的,原因是什么,怎么去解决的,解决办法是啥?
这是必要的,要想称为一个调错高手,这是有必要的。
要有耐心,不要着急

字面量
字面量就是数据,数据就是字面量,是一样的。
整数型字面量,浮点型的字面量,布尔类型字面量,字符型字面量,字符串型字面量
字面量其实本质上就是“数据”。
变量
变量的理解
什么是变量?
变量就是一个存数据盒子。(盒子大小谁来决定的?数据类型)
在内存中最基本的存储单元。
存数据用的,而且这个是数据是可变的,所以叫做变量。
变量的使用
变量的三要素?
数据类型、变量名、值(值就是数据,就是字面量)

java 中的变量必须先声明,在赋值才能访问(成员变量系统会默认赋值,方法体中的变量必须手动赋值。)
在 Java 中定义变量时并不一定需要赋初值。对于成员变量,如果没有赋初值,系统会默认赋初始值。
例如:int 类型的默认值为 0,String 类型的默认值为 null。
而对于局部变量,如果没有赋初始值,则必须在使用前进行赋值,否则会编译错误。
但是,建议在定义局部变量时尽量初始化,这样可以避免因为未初始化而导致不必要的问题。可以在一行时声明多个变量:
int a, b, c = 100;
c变量赋值100,a, b变量只声明了没有赋值。
int a = 10, b = 10, c = 100;
可以这样每个都赋值。

变量的分类
根据位置进行分类:
在方法体当中声明的变量叫做局部变量。
局部变量,方法执行结束之后内存释放。
在方法体外以及类体内声明的变量叫做成员变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/586679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sklearn学习的一个例子用pycharm jupyter

环境 运行在jupyter 进行开发。即一个WEB端的开发工具。能适时显示开发的输出。后缀用的是ipynb.pycharm也可以支持。但也要提示按装jupyter. 或直接用andcoda 这里我们用pycharm进行项目创建 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyterlab pip ins…

API服务的快速搭建和测试

API服务的快速搭建和测试 使用Python的FastAPI迅速搭建一个简单API from fastapi import FastAPI, Request from transformers import AutoTokenizer, AutoModel import uvicorn, json, datetime import torch# 设置CUDA设备信息 DEVICE "cuda" DEVICE_ID "0…

在vim中映射类似于Windows编辑器的快捷键

vim编辑器的历史比较久,继承于vi,这个编辑器就更早了。可能拜于年代所赐,里面的快捷键设计似乎不是那么“现代化”,和很多现在的编辑器的热键设计出入很大,里面的命令更不是一般人能记得住的。 我一直知道vim可以rema…

QT 利用开源7z 实现解压各种压缩包,包括进度条和文件名的显示(zip,7z,rar,iso等50多种格式)

想做一个winRAR一样的解压软件吗?很简单,利用开源的7z库就能实现。我看网上其他人说的方法不敢苟同,误人子弟。以前自己在项目中使用过7z,这次又有需要,就想记录下来。如果你研究过如何用7z的话,一定知道7z的每一个GUID都代表了一种格式,50多种GUID也就有50多个格式,最…

uniapp打包Android、Ios、微信小程序

首先我们需要在我们的代码中,把我们所要用到的配置信息配置好,在检查一下我们测试的内容是否有打开(取消注释),在检查一下我们的版本信息是否正确,查看一下接口ip是否是正式线 这里的配置信息一定要配置好…

epoll并发编程

epoll并发编程 epoll并发编程背景知识epoll 的特点epoll 的工作原理epoll 和 select/poll 的区别 epoll并发服务器思路重点代码分析git地址参考书目 epoll并发编程背景知识 epoll 是 Linux 中用于处理大量文件描述符的 I/O 事件通知机制。在传统的 I/O 模型中,一般…

Screenshot-to-code开源项目mac上实践

github上的开源项目,看介绍可以将设计ui图片转换为 HTML 和 CSS 源码地址: GitCode - 开发者的代码家园 我的mac安装了2.7和3.11,就用3吧直接上代码 安装 pip3 install keras tensorflow pillow h5py jupyter 报错 ERROR: Could not in…

Linux驱动开发之Linux内核中的中断处理与等待队列以及相关API和例程分析

目录 中断的特点 Linux中的中断类型 相关API函数 gpio_to_irq() enable_irq() disable_irq() request_irq() free_irq() 中断的使用 等待队列 DECLARE_WAIT_QUEUE_HEAD() wait_event_interruptible() wake_up_interruptible() 中断相关例程 例程分析 源码分享 …

linux实用技巧:ubuntu18.04安装samba服务器实现局域网文件共享

Ubuntu安装配置Samba服务与Win10共享文件 Chapter1 Ubuntu18.04安装配置Samba服务与Win10共享文件一、什么是Samba二、安装Samba1、查看是否有安装samba2、安装samba 三、配置Samba服务1、创建共享目录(以samba_workspaces为例)2、为samba设置登录用户3、…

独立站的个性化定制:提升用户体验的关键

随着电子商务的竞争加剧,用户体验成为了企业赢得市场的关键因素之一。独立站作为企业品牌形象和产品展示的重要平台,其个性化定制的程度直接影响着用户体验。本文将探讨独立站的个性化定制如何提升用户体验,并通过代码示例说明实现个性化定制…

学习动态规划不同路径、最小路径和、打家劫舍、打家劫舍iii

学习动态规划|不同路径、最小路径和、打家劫舍、打家劫舍iii 62 不同路径 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量dp[i][j] dp[i-1][j] dp[i][j-1] import java.util.Arrays;/*** 路径数量* 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量…

计算机网络-动态路由

网络层协议:ip,ospf,rip,icmp共同组成网络层体系 ospf用于自治系统内部。 一个路由器或者网关需要能够支持多个不同的路由协议,以适应不同的网络环境。特别是在连接不同自治系统的边缘路由器或边界网关的情况下&#…

MongoDB聚合:$merge 阶段(2)

$merge的用途是把聚合管道产生的结果写入指定的集合,有时候可以用$merge来做物化视图。下面是$merge的一些例子。 举例 按需物化视图:创建集合 当输出集合不存在时,$merge将自动创建。首先在zoo数据库的salaries集合中填充员工和部门历史数…

Golang解决跨域问题【OPTIONS预处理请求】

Golang解决跨域问题 前置知识:跨域问题产生条件及原因 跨域是是因为浏览器的同源策略限制,是浏览器的一种安全机制,服务端之间是不存在跨域的。 所谓同源指的是两个页面具有相同的协议、主机和端口,三者有任一不相同即会产生跨域…

Autosar MCAL-RH850P1HC Mcu配置

文章目录 McuModuleConfigurationCvm Diag Lock BitCvm Out Mask DiagCvm Out Mask FbistCvm Output FilterCvm Reset EnableNumber Of Mcu ModesRam SectorsReset SettingSw Reset TriggerMcuClockSettingConfigClock Setting Id

数据库原理与应用快速复习(期末急救)

文章目录 第一章数据库系统概述数据、数据库、数据库管理系统、数据定义、数据组织、存储和管理、数据操纵功能、数据库系统的构成数据管理功能、数据库管理的3个阶段以及特点数据库的特点、共享、独立、DBMS数据控制功能数据库的特点 数据模型两类数据模型、逻辑模型主要包括什…

2023 IoTDB Summit:天谋科技 CTO 乔嘉林《IoTDB 企业版 V1.3: 时序数据管理一站式解决方案》...

12 月 3 日,2023 IoTDB 用户大会在北京成功举行,收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题,多位学术泰斗、企业代表、开发者,深度分享了工业物联网时序数据库 IoTDB 的技术创新…

【Web2D/3D】CSS3的2D/3D转换、过渡、动画(第一篇)

1. 前言 本篇开始介绍Web2D和3D相关基础知识,会从CSS3的2D/3D转换、过渡、动画,讲到Canvas 2D图形绘制,再到SVG,最后到WebGL。 坐标系:左上点是坐标原点(0,0),x轴正方向向右,y轴正方向向下&…

STL——查找算法

算法简介: find ——//查找元素find_if ——//按条件查找元素adjacent_find ——//查找相邻重复元素binary_search ——//二分查找法count ——//统计元素个数count_if ——//按条件统计元素个数 1.find 函数原型: find(iterator beg, iterator end,…

(学习打卡1)重学Java设计模式之设计模式介绍

前言:听说有本很牛的关于Java设计模式的书——重学Java设计模式,然后买了(*^▽^*) 开始跟着小傅哥学Java设计模式吧,本文主要记录笔者的学习笔记和心得。 打卡!打卡! 设计模式介绍 一、设计模式是什么? …