@

一、变量

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. Google PageSpeed Insights : 网站性能优化检测工具

    1 1 https://developers.google.com/speed/pagespeed/insights/ PageSpeed Insights 使您的网页在所有设备上都能快速加载. 分析 ...

  2. Angular 2020

    Angular 2020 https://angular.io/start https://angular.io/guide/browser-support "@angular/core&q ...

  3. js operate svg

    js operate svg js dynamic create svg https://stackoverflow.com/questions/20539196/creating-svg-eleme ...

  4. python的with用法(转载)

    原文地址:https://www.cnblogs.com/wanglei-xiaoshitou1/p/9238275.html 一.with语句是什么? 有一些任务,可能事先需要设置,事后做清理工作. ...

  5. 防抖和节流及对应的React Hooks封装

    Debounce debounce 原意消除抖动,对于事件触发频繁的场景,只有最后由程序控制的事件是有效的. 防抖函数,我们需要做的是在一件事触发的时候设置一个定时器使事件延迟发生,在定时器期间事件再 ...

  6. java自学第3期——继承、多态、接口、抽象类、final关键字、权限修饰符、内部类

    一.继承: 关键字extends /* 定义一个父类:人类 定义父类格式:public class 父类名称{ } 定义子类格式:public class 子类名称 extends 父类名称{ } * ...

  7. 模拟web服务器 (小项目) 搭建+部署

    模拟web服务器:可以从浏览器中访问到自己编写的服务器中的资源,将其资源显示在浏览器中. 技术选型: corejava 线程池 同任务并发执行 IO流 传递数据 客户端也会像服务端发送数据, 服务器像 ...

  8. SpringBoot2.1整合Mybatis-Generator以及tk.mybatis

    1:添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...

  9. 【转+】以C++为核心语言的高频交易系统的讨论

    [前言]高频交易是量化交易的核心.主要分两个方向:计算机技术和交易策略.策略各有不同,一般都是数据分析的专家或者金融,机器学习从业者.在计算机技术方面,一个是交易平台的性能,二者是硬件的性能,延时的多 ...

  10. CSS元素层级的概念及性质

    元素的层级的介绍 什么是元素的层级 通过z-index可以改变开启定位元素的层级 父元素的层级再高也不会遮盖住子元素 元素的层级的介绍 什么是元素的层级 当元素开启定位后就会是元素提升一个层级,网页是 ...