一、变量类型分类

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

  • 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. 软件人如何快速晋升CTO(一)

    1.场景描述 ​ 软件人如何快速晋升CTO? 实战操作,介绍下如何0成本拥有自己的软件公司,出任CTO/CEO. ​ 2020年 8月16日,软件老王拿到公司的营业执照和公章了,税务登记也一起办理好了 ...

  2. 理解Word2Vec

    一.简介 Word2vec 是 Word Embedding 的方法之一,属于NLP 领域.它是将词转化为「可计算」「结构化」的向量的过程.它是 2013 年由谷歌的 Mikolov 提出了一套新的词 ...

  3. 再爆安全漏洞,这次轮到Jackson了,竟由阿里云上报

    冤冤相报何时了,得饶人处且饶人.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[ ...

  4. laravel5Eloquent模型与数据表的创建

    下面是有关管理员模型与表的创建 生成模型时同时生成数据库迁移文件 在生成的迁移文件中添加字段 运行命令行生成数据表 命令进行混合运用 生成工厂文件,数据填充文件 工厂模型代码 数据填充文件代码 数据填 ...

  5. 《神经网络的梯度推导与代码验证》之LSTM的前向传播和反向梯度推导

    前言 在本篇章,我们将专门针对LSTM这种网络结构进行前向传播介绍和反向梯度推导. 关于LSTM的梯度推导,这一块确实挺不好掌握,原因有: 一些经典的deep learning 教程,例如花书缺乏相关 ...

  6. Activiti7 绑定业务主键以及流程定义 流程实例的挂起和激活

    绑定业务主键businessKey /** * 绑定业务主键 */ @Test public void bindingBusinessKey() { // 获取RuntimeService Runti ...

  7. 开发一个渐进式Web应用程序(PWA)前都需要了解什么?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/how-to-build-a-progres ...

  8. 数据库漏洞扫描工具scuba

    1.先下载安装scuba 参考地址  https://www.52pojie.cn/thread-702605-1-1.html 百度网盘下载地址: 链接:https://pan.baidu.com/ ...

  9. 设计模式 | Catalog设计模式,抵御业务方需求变动

    大家好,这是一个全新的专题--设计模式. 其实可以选择的专题还有好几个,为什么选择设计模式呢?原因也很简单,首先是设计模式简单.易学.干货的文章固然好,但是普适性往往不强.另外一个很重要的点就是设计模 ...

  10. ftp自动上传下载同步工具 免费好用的ftp自动上传下载同步工具

    有时我们需要定时上传文件到FTP,可大多数FTP工具并不支持定时上传功能,这时我们就需要可以定时ftp上传的工具(服务器管理工具).它是一款功能强大的服务器集成管理器,包含win系统和linux系统的 ...