@

一、变量

1、什么变量

  变量就是内存中存储数据的最基本的单元,相当于一个存储数据的盒子;

2、变量的三要素

  1. 变量的数据类型;
  2. 变量的名字;
  3. 变量中保存的值;

3、变量的命名规范

  变量属于标识符,命名是首字母小写,后面每一个单词首字母大写,遵循驼峰命名原则,见名知意;

4、变量的分类

  1. 在方法体当中声明的变量:局部变量;
  2. 在方法体之外,类体内声明的变量:成员变量;

5、变量的作用域

  1. 什么是作用域:变量的有效范围;
  2. 变量的作用域:出了大括号就不认识了;
  3. 就近原则:哪个离我近,我就访问谁;

6、变量的注意事项

  1. 变量必须先声明,再赋值才能访问,不然报错如下:





2. 在同一个域中,变量不能重新声明,变量名不能重复,否则会报错,但是变量可以重新赋值;





3. 一行上可以同时声明多个变量;

二、数据类型

1、什么是数据类型

  Java语言当中任何数据都是有数据类型的,其中整数型是int、字符型是char等等

2、数据类型有什么用

  不同的数据类型,在内存中分配的空间大小不一样。也就是说,Java虚拟机到底给这个数据分配多大的空间,主要是看这个变量的数据类型,根据不同的类型,分配不同大小的空间。

3、数据类型的分类

  • 第一种:基本数据类型

    • 整数型:byte(一个字节)、short(两个字节)、int(四个字节)、long(八个字节);

      • 整数型的“字面量/数据”默认被当做int类型处理,如果希望该“整数型字面量”被当做long类型来处理,需要在“字面量”后面添加L/l;
    • 浮点型:float(4个字节)、double(8个字节);
      • float是单精度,double是双精度所以double更加精确;
      • float和double存储数据的时候都是存储的近似值;
      • 任意一个浮点型都比整数型空间大,float容量 > long容量;
      • 任何一个浮点型数据默认被当做double来处理,如果想让这个浮点型字面量被当做float类型来处理,那么请在字面量后面添加F/f;
    • 布尔型:boolean,一个字节,Java中的boolean类型只有两个值:true、false;
      • 使用在逻辑判断当中,通常放到条件的位置上(充当条件);
      • 布尔型不能转换为其他类型,不然会报错。
    • 字符型:char,一个字节;
      • chart采用的是Unicode编码;
      • chart类型的字面量使用单引号括起来
      • chart可以存储一个汉字
  • 第二种:引用数据类型
    • 除了基本数据类型之外,其他的都是引用数据类型;

4、数据类型的相互转换

  1. 八种基本数据类型中,除了boolean类型不能转换,剩下的七种类型之间都可以进行转换;
  2. 如果整数型字面量没有超出byte,short,char的取值范围,可以直接将其赋值给byte,short,char类型的变量;
  3. 小容量向大容量的转换成为自动类型转换,容量从小到大的排序为:byte < short(char)< int < long < float < double,其中short和char都占用两个字节,但是char可以表示更大的正整数;
  4. 大容量转换为小容量,成为强制类型转换,编写是必须添加“强制类型转换符”,但是运行时可能会出现精度损失,谨慎使用;
  5. byte,char,short类型混合运算时,先各自转换为int类型再做运算;
  6. 多种数据类型混合运算时,各自先装换为容量最大的那一种再做运算(要先排除第五中情况)

5、数据类型的取值范围



相关链接:

链接: 002-Java的标识符和关键字.

链接: 001-Java学习前基础.

003-Java中的变量和数据类型的更多相关文章

  1. 二、 java中的变量与数据类型及类型转换

    标识符:凡是可以自己命名的地方都叫标识符,如:类名.方法名.接口名... 1.标识符命名的规则: 由26个英文字母大小写,0-9,_或$组成,不遵守会报错. 不可以用数字开头. 不能使用关键字和保留字 ...

  2. java中的变量和数据类型

    变量和javascript的变量含义一样 在Java中,变量分为两种:基本类型的变量和引用类型的变量.(javascript中同样是这样的) 基本数据类型 基本数据类型是CPU可以直接进行运算的类型. ...

  3. Java中的变量、数据类型和运算符

    1. java语言是一种强类型的语言,对各种数据类型都有明确的区分,而计算机使用内存来记忆大量运算时需要使用的数据,而当声明一个变量时,即在内存中划分一块空间存储数据,而变量类型决定划分内存空间的大小 ...

  4. Java中的变量,数据类型和运算符

    变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...

  5. Java中的变量与变量的作用域

    关于Java中的变量及变量的作用域 关于Java中的变量及变量的作用域 0. 变量的概念 在程序运行期间,系统可以为程序分配一块内存单元,用来存储各种类型的数据.系统分配的内存单元要使用一个标记符来标 ...

  6. Java中字符串string的数据类型

    Java中字符串string的数据类型 时间:2017-07-03 08:01:47 YuanMxy 原文:https://blog.csdn.net/YuanMxy/article/details/ ...

  7. 004 java中的变量

    这篇文章为你搞懂三个问题 什么是变量? 如何使用变量? 变量命名有哪些规范? 变量 计算机的内存类似于人的大脑,电脑使用内存来存储计算所需要的数据. 内存像旅馆一样,不同的房间类型对应不同的数据类型, ...

  8. Java中的变量——通过示例学习Java编程(4)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=14&cid= 变量是用来存放可以更改的值的容 ...

  9. 学习笔记--Java中的变量

    Java中的变量 /** * 关于 Java 语言当中的变量: * * 1. 什么是变量? * - 变量的本质上来说是内存空间,这块空间有(数据类型.名字.字面值) * - 变量包括三部分:数据类型. ...

  10. java中打印变量地址

    在java中打印变量的地址 这个代码是在startoverflow上看到的,跟大家分享一下. import sun.misc.Unsafe; import java.lang.reflect.Fiel ...

随机推荐

  1. Ant-design-vue—— 表单输入框输入很卡问题

    参考:https://blog.csdn.net/weixin_43905402/article/details/106074435 我的问题:vue项目中使用ant-design-vue,表单中输入 ...

  2. Apple 订单系统 bug

    Apple 订单系统 bug 看不到最近的购买信息 https://secure1.www.apple.com.cn/shop/order/list refs xgqfrms 2012-2020 ww ...

  3. ::-webkit-scrollbar & hidden scrollbar

    ::-webkit-scrollbar & hidden scrollbar how to hidden ::-webkit-scrollbar *::-webkit-scrollbar { ...

  4. HTML Custom Elements & valid name

    HTML Custom Elements & valid name valid custom element name https://html.spec.whatwg.org/multipa ...

  5. Axios & POST & application/x-www-form-urlencoded

    Axios & POST & application/x-www-form-urlencoded application/x-www-form-urlencoded https://g ...

  6. Spring-04 Bean的自动装配

    Spring-04 Bean的自动装配 Bean的自动装配 1.自动装配说明 自动装配是使用spring满足bean依赖的一种方法. spring会在应用上下文中为某个bean寻找其依赖的bean. ...

  7. c++类的简介

    一 类的定义 在c++中,我们使用"类"来描述"对象",可以说"类"的实现是c++OOP的核心. 类中包括对象的"属性" ...

  8. API版本管理中的沟通问题

    转: API版本管理中的沟通问题 产品升级会涉及API的更改,当API改动较大时,最大的问题是如何通知API的使用者(内部人员与使用OPENAPI 的用户),我们不能强迫所有用户立即对API的更改做出 ...

  9. 漏洞复现-CVE-2017-12629-RCE-solr:XXE

                  0x00 实验环境 攻击机:Win 10.Win Server 2012 R2 靶机:Ubuntu18 (docker搭建的vulhub靶场) 0x01 影响版本 Apac ...

  10. cve-2018-2893 weblogic -WLS核心组件反序列化

    漏洞分析 https://www.freebuf.com/column/178103.html https://www.freebuf.com/vuls/177868.html 攻击者可以在未授权的情 ...