一、变量类型分类

一个变量的类型,决定了该变量可以包含什么样的值。

  • Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字。
  • 这八种基本类型分别是: 
    • 整型 (4种)
    • 字符型 (1种)
    • 浮点型 (2种)
    • 布尔型(1种)

二、整型

  • 整型变量用于存放整数
    • byte
    • short
    • int
    • long
  • 区别在于不同类型的整型,最大值,最小值不一样
    • 如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误,这个时候就需要进行类型转换

public class HelloWorld{

public static void main(String[] args){

byte b = 1;

short s = 200;

int i = 300;

long l = 400;

  /*如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误*/

      byte b2 = 200;

}

}

三、字符型

  • char类型用于存放一个字符,值用单引号'表示 (双引号表示字符串)
  • 其长度和short一样,也是16位的
  • 只能存放一个字符,超过一个字符就会产生编译错误

public class HelloWorld{

public static void main(String[] args){

char c = '新';

//char 只能存放一个字符,超过一个字符就会产生编译错误

char c2 = '新疆'; //报错

char c3 = 'xj'; //报错

}

}

四、浮点型

  • 浮点数类型有两种 
    • float 长度为32位
    • double 长度为64位 
      • 注意:默认的小数值是double类型的
      • 所以 float f = 54.321会出现编译错误,因为54.321的默认类型是 double,其类型 长度为64,超过了float的长度32
      • 在数字后面加一个字母f,直接把该数字声明成float类型
      • float f2 = 54.321f,
      • 这样就不会出错了

public class HelloWorld{

public static void main(String[] args){

double d = 123.45;

//该行会出现编译错误,因为54.321是double型的

float f = 54.321;

float f2 = 54.321f;

}

}

五、布尔型

  • 布尔型用于表示真假
  • 其长度为1

boolean b1 = true;

boolean b2 = false;

  • 分别代表真假
  • 虽然布尔型真正存放的数据是0(false) 1(true)
  • 但是,不能直接使用0 1 进行赋值

public class HelloWorld {

public static void main(String[] args) {

boolean b1 = true;

boolean b2 = false;

// 虽然布尔型真正存放的数据是0(false) 1(true)

// 但是,不能直接使用0 1 进行赋值

boolean b3 = 1;

}

}

六、String类型

  • String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误以为是一种基本类型。
  • String类型是Immutable的,一旦创建就不能够被改变,请参考String

public class HelloWorld {

public static void main(String[] args) {

String str = "Hello Java";

}

}

七、练习

题目:

分别为如下值,找到合适的类型来定义

3.14

2.769343

365

12

'吃'

false

"不可描述"

比如3.14就使用double

double a = 3.14;

官方答案:

public class HelloWorld {

public static void main(String[] args) {

double pi = 3.14;

double e = 2.769343;

short days = 365;

byte months = 12;

char chi = '吃';

boolean die = false;

String fucking = "不可描述";

}

}

个人整理答案:

Java知识系统回顾整理01基础03变量02基本变量类型的更多相关文章

  1. Java知识系统回顾整理01基础03变量03字面值

    一.字面值定义 创建一个Hero对象会用到new关键字,但是给一个基本类型变量赋值却不是用new. 因为基本类型是Java语言里的一种内置的特殊数据类型,并不是某个类的对象.  给基本类型的变量赋值的 ...

  2. Java知识系统回顾整理01基础03变量07final关键字

    一.final赋值 final 修饰一个变量,有很多种说法,比如不能改变等等 准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会 二.在声明的时候赋值 i已经被赋值为5,所以这里 ...

  3. Java知识系统回顾整理01基础03变量06变量的作用域

    一.变量根据所处的位置对应不同的名称 变量处于不同的位置,有不同的名称 名称分别是  字段,属性 参数 局部变量 不同名称的变量,其作用域是不一样的 二.字段,属性,Field 当一个变量被声明在类下 ...

  4. Java知识系统回顾整理01基础03变量05变量命名规则

    一.命名规则 变量命名只能使用字母 .数字. $. _ 变量第一个字符 只能使用: 字母. $. _ 变量第一个字符 不能使用数字 注:_ 是下划线,不是-减号或者-- 破折号 int a= 5; i ...

  5. Java知识系统回顾整理01基础03变量04类型转换

    一.不同类型之间的数据可以互相转换,但是要满足一定的规则 二.数据类型转换规则 转换规则如图所示  精度高的数据类型就像容量大的杯子,可以放更大的数据 精度低的数据类型就像容量小的杯子,只能放更小的数 ...

  6. Java知识系统回顾整理01基础03变量01变量定义

    定义: 变量:用来命名一个数据的标识符 一.什么是变量? 用具体实例定义变量 变量的定义是: 用来命名一个数据的标识符 1949 这是一个数字,代表某年 如果要命名这个数字,在java里就会写成: i ...

  7. Java知识系统回顾整理01基础03变量09块

    一.定义 块:从{ 开始 到对应的} 结束,即一个块 public class HelloWorld { //类对应的块 public static void main(String[] args) ...

  8. Java知识系统回顾整理01基础03变量08表达式

    一.以 ; 结尾的一段代码,即为一个表达式 表达式是由变量.操作符以及方法调用所构成的结构.如下所示: int i = 5; System.out.println(5); 都是表达式 public c ...

  9. Java知识系统回顾整理01基础04操作符02关系操作符

    一.关系操作符 关系操作符:比较两个变量之间的关系  > 大于 >= 大于或等于 < 小于 <= 小于或等于 == 是否相等 != 是否不等 public class Hell ...

随机推荐

  1. PCIe例程理解(一)用户逻辑模块(接收)仿真分析

    前言 本文从例子程序细节上(语法层面)去理解PCIe对于事物层数据的接收及解析. 参考数据手册:PG054: 例子程序有Vivado生成: 为什么将这个内容写出来? 通过写博客,可以检验自己理解了这个 ...

  2. QT_QGIS_基本使用

    QT_QGIS_基本使用 1.新建画布 2.添加矢量图层 ​ 1.打开矢量图层 ​ 2.新建矢量图层 ​ 1.添加几何要素--点 ​ 2.添加几何要素--线 3.添加栅格图层 ​ 1.打开栅格图层 小 ...

  3. 万字长文,一篇文章带你入门Python

    注释 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供 ...

  4. android,在java代码中,如何给textview设置不同的颜色,以及引用color中资源设置颜色

    textV.setTextColor(Color.parseColor("#FF0000")); <pre name="code" class=" ...

  5. openssl1.0在mac下的编译安装(踩坑精华)

    之前做了一次brew版本升级,然后用pip3安装的一个python命令就无法执行了(涉及到openssl库),执行就会报一个错误. ImportError: dlopen(/usr/local/Cel ...

  6. openshift搭建私有registry

    1.创建registry服务器 (1)安装需要的包 yum -y install podman httpd-tools (2)创建registry目录 mkdir -p /opt/registry/{ ...

  7. 12_进程,线程,协程,IO多路复用的区别

    1.进程 1.进程可以使用计算机多核 2.进程是资源分配的单位 3.进程的创建要比线程消耗更多的资源效率很低 4.进程空间独立,数据安全性跟好操作有专门的进程间通信方式 5.一个进程可以包含多个线程, ...

  8. JVM学习第三天(JVM的执行子系统)之类加载机制补充

    昨晚没看完,今天继续 系统的类加载器 对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间.这句话可以表达得更通俗一些: ...

  9. SpringCloud Gateway高阶之Sentinel限流、熔断

    前言 为什么需要服务熔断和降级?微服务是当前业界的一大趋势,原理就是将单一职责的功能模块独立化为子服务,降低服务间的耦合,服务间互相调用.但是这样也会出现一些问题: 上图中大量微服务互相调用,存在大量 ...

  10. CDH5.16.1集群企业真正离线部署

    一.准备工作 1.离线部署主要分为三块: MySQL离线部署 CM离线部署 Parcel文件离线源部署 2.规划 节点 MySQL部署组件 Parcel文件离线源 CM服务进程 大数据组件 hadoo ...