@

一、变量

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学习前基础.

最新文章

  1. php以pdo方式连接sqlserver,无法开启sqlsrv扩展
  2. C++中使用初始化列表比在构造函数中对成员变量赋值更高效
  3. Java集合框架之Collection接口
  4. C++语法 初始化列表 数组引用
  5. [Unity3D][Vuforia][IOS]vuforia在unity3d中添加自己的动态模型,识别自己的图片,添加GUI,播放视频
  6. 【转】Mac 下钥匙串不能授权访问怎么解决--不错
  7. 计算两点距离 ios
  8. nginx 2.基本配置
  9. Linux命令之用户与组管理
  10. 《Linux 设备驱动程序》读后感。 并发,竞态,死锁。
  11. HyperLogLog算法
  12. mysql----SELECT names/zh
  13. ext.net 实现gridpanel checkbox锁定
  14. requests库入门02-简单了解HTTP协议
  15. 最短路径问题---Dijkstra算法详解
  16. jquery validate强大的jquery表单验证插件
  17. centos7 使用cgroup进行资源限制
  18. as2.0 清除主时间轴上所有的影片简介
  19. TabControl控件在左侧绘制tabPage页面
  20. C#程序如何捕捉未try/catch的异常——不弹“XXX已停止工作”报错框

热门文章

  1. The Best One iOS Contacts App
  2. how to create one single-file Web Component just using the HTML, CSS, JavaScript
  3. vue &amp; watch props
  4. git &amp; Angular git commit 规范
  5. MBP &amp; battery
  6. vue动态添加当前事件下的class
  7. 华盛顿邮报专访:SPC能否再掀起币圈新浪潮?
  8. 超强嘉宾阵容——NGK Global启动大会圆满举办
  9. eclipse安装mybatis的插件
  10. Hyperf-JsonRpc使用