@

一、变量

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. How to Use RSS on Your Website

    RSS feed 1 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  2. React 组件之间通信 All in One

    React 组件之间通信 All in One 组件间通信 1. 父子组件之间通信 props 2. 兄弟组件之间通信 3. 跨多层级的组件之间通信 Context API https://react ...

  3. Github history viewer

    Github history viewer https://github.githistory.xyz/ https://github.com/pomber/git-history https://c ...

  4. deep copy & deep merge

    deep copy & deep merge JSON.parse(JSON.stringify(obj)); lodash https://lodash.com/docs/ https:// ...

  5. 10月上线的NGK global有怎样的发展前景?

    随着NGK global 10月份的上线时间将近,社区中也开始纷纷讨论.预测起NGK global上线后的表现,对此小编也有一些自己的理解,就此分享给大家. 在基于实体生态的赋能下,NGK globa ...

  6. linux系统导出随笔

    导出时,不要用root用户忽略某张表的命令(多张表则直接往后加即可) --ignore-table=firewall_8088.operate_history --ignore-table=firew ...

  7. sql where 1=1 的详细解释

    原文来自:https://blog.csdn.net/zc474235918/article/details/50544484 看一下这两个句子: select * from user select ...

  8. JAVA 判断一个字符串是否是合法的日期格式?

    采用SimpleDateFormat类的parse方法进行判断,如果转换不成功,就会出现异常.另外,还需要判断字符串的长度,若不判断,第二个字符串就会验证通过,实际上也不是合法的.话不多说,且看代码: ...

  9. 树的遍历c/c++

    先序遍历(递归) 1 void preOrderTraverase(TreeNode * r) 2 { 3 if(r) 4 { 5 printf("%d\t",r->_dat ...

  10. Codeblocks支持语法着色