强类型语言

所有变量定义后才能使用,区别于js等弱类型语言

数据类型分类

  1. 基本类型(primitive type)
  2. 引用类型(reference type)

整数类

  • byte:占1字节
  • short:占2字节
  • int:占4字节
  • long:占8字节

浮点类

  • float:占4字节
  • double:占8字节

boolean类

占1位

分true和false

字符类型

占2字节

枚举类型

enum Season{
spring,summer,autumn,winter
};
//使用
Season a=spring;
int b=a.nextInt();//转换为对应序号,从1开始计数,即b=1

引用类型

接口

数组

特点

long a=345L;
float b=3333.22222F;
//字符类
//三种赋值方法:
char c='a';
char d=45;//字符类加减是基于ascii码的运算
char e='\u0041';//Unicode编码
final boolean f=ture;//将e变为常量

进制拓展

int a=1;
int b=010;//八进制
int c=0x11;//十六进制

浮点数的误差问题

浮点数因为设计时就决定了误差,在进行精度计算时,引入类BigDecimal计算

关于浮点数的细节和底层原理在后面会专门写一篇文章,敬请期待

类型转换

  1. 强制转换

    int i=123;
    byte a=(byte)i;
  2. 自动转换:从低到高会自动转换

    byte,short,char->int->long->float->double

注:

布尔值不能转换

不相干类型转换会产生错误

tips之数字书写

  long s=100_99_99999_7777L;

这种书写可以简化识别,编译器也支持这种书写方式

变量作用域

类变量

具有static关键词,随着类产生与消失

实例变量

从属于对象 使用的时候要自行初始化,也就是要实例化,不自行初始化的话,数值默认为0或者0.0,布尔型默认为false,除了基本类型,其余都是null

局部变量

在方法内使用

常量

final+常量名=常量值

final同样是修饰符,与static、public等同时使用时不存在先后顺序

漫漫Java路1—基础知识3—数据类型和变量作用域以及常量的更多相关文章

  1. 漫漫Java路1—基础知识2—注释和命名规则

    ## 注释 1. 单行注释 ```java //这是一个注释 ``` 2. 多行注释 ```java /* 这是一个注释 */ ``` 3. 文档注释 ```java /** * * * */ ``` ...

  2. 漫漫Java路1—基础知识—初涉java

    前言 主学信息安全,在编程的路上还是一个孩子,还在一步一步探索,有些东西可能是站在自己的位置思考的,很可能会出现一些啼笑皆非的错误,如果有误,还希望各位斧正. Java安装 jdk的安装 甲骨文官网选 ...

  3. 01-Java基础知识:数据类型与变量、标识符、运算符、表达式

    Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2).  int ( ...

  4. JAVA核心技术I---JAVA基础知识(数据类型)

    一:基本类型 –boolean 布尔 –byte 字节 –short/int/long 短整数/整数/长整数 –float/double 浮点数 –char 字符 (一)boolean 只有true, ...

  5. C++基础知识篇:C++ 变量作用域

    作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量. 在函数参数的定义中声明的变量,称为形式参数. 在所有函数外部声明的变量,称为全局变量. 我们 ...

  6. 【Java面试】基础知识篇

    [Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...

  7. 第76节:Java中的基础知识

    第76节:Java中的基础知识 设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat 折佣动态代理解决网站的字符集编码问题 使用request. ...

  8. Java面试题-基础知识

    参考文章:Java面试题-基础知识 基础能力 什么是值传递和引用传递 线程状态有哪些,它们之间是如何转换的 进程与线程的区别,进程间如何通讯,线程间如何通讯? HashMap的数据结构是什么?如何实现 ...

  9. JAVA核心技术I---JAVA基础知识(工具类Arrays和Collections类)

    一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort ...

随机推荐

  1. 通过js正则表达式实例学习正则表达式基本语法

    正则表达式又叫规则表达式,一般用来检查字符串中是否有与规则相匹配的子串,达到可以对匹配的子串进行提取.删除.替换等操作的目的.先了解有哪些方法可以使用正则对字符串来实现这些操作: RegExpObje ...

  2. MySQL 事务特征 & 隔离级别

    数据库事务特征 Atomicity 原子性 事务是一个原子性质的操作单元,事务里面的对数据库的操作要么都执行,要么都不执行, Consistent 一致性 在事务开始之前和完成之后,数据都必须保持一致 ...

  3. 1.利用consul实现k8s服务自动发现

    标题 : 1.利用consul实现k8s服务自动发现 目录 : 微服务架构设计 序号 : 1 ] } } ] } } ​ - consul自身支持ACL,但目前,Helm图表不支持其中一些功能,需要额 ...

  4. Redis面试常见问题(一)

    一.redis 简介简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向.另外,redis 也经 ...

  5. python = 赋值顺序 && C++ side effect

    title: python = 赋值顺序 && C++ side effect date: 2020-03-17 15:00:00 categories: [python][c++] ...

  6. 翻译:《实用的Python编程》01_04_Strings

    目录 | 上一节 (1.3 数字) | 下一节 (1.5 列表) 1.4 字符串 本节介绍处理文本的方法. 表示字面量文本 在程序中字符串字面量使用引号来书写. # 单引号(Single quote) ...

  7. image auto downloader

    image auto downloader icons killer / js crawler http only + same-origin OK "use strict"; / ...

  8. JavaScript 如何使用 setTimeout 实现 setInterval

    JavaScript 如何使用 setTimeout 实现 setInterval website multi content page setIntervalSimulator "use ...

  9. Inspect Network Activity In Chrome DevTools

    Inspect Network Activity In Chrome DevTools https://developers.google.com/web/tools/chrome-devtools/ ...

  10. JVM线上故障初步简易排查

    线上故障主要包括cpu 磁盘 内存 网络等问题 依次排查 1.cpu 1) 先用ps找到进程pid 2) top -H -p pid 找到cpu占用高的线程 3)printf '%x\n' pid 获 ...