强类型语言

所有变量定义后才能使用,区别于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. 📚C#/.NET/.NET Core推荐学习书籍(升职加薪,你值得拥有)

    前言: 作为一名程序员,我们无时无刻都要考虑着如何通过不断地学习来提升自己的核心竞争力.古人有云:"书中自有黄金屋,书中只有颜如玉",说明了书籍的重要性,没错工作多年来,发现身边那 ...

  2. 使用SignTool对软件安装包进行数字签名(一)--制作证书

    一.制作根证书 1.开始菜单-运行-输入cmd,弹出命令行窗体. 2.输入命令:cd /d F:\SignTool,将当前工作目录修改到SignTool路径下. 3.使用makecert命令制作证书, ...

  3. 前端接收后端文件流导出excel文档遇到的问题

    先上代码: Vue.prototype.download = function(oUrl, filename) { this.axios .get(oUrl, { responseType: 'arr ...

  4. 010. NET5_命令参数读取+配置多种读取

    上节课遗留问题:上节脚本启动后,CSS样式丢失问题 解决办法:a.拷贝丢失的wwwroot目录:b. 给UesStaticFiles类指定读取wwwroot目录 静态文件读取 Nuget引入:Micr ...

  5. Vue Learning Paths

    Vue Learning Paths Vue Expert refs https://vueschool.io/articles/vuejs-tutorials/exciting-new-featur ...

  6. TypedArray & buffer

    TypedArray & buffer https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Obj ...

  7. H5 下拉刷新、加载更多

    H5 下拉刷新.加载更多 demos const autoLoadMore = (url = ``) => { // todo ... } refs xgqfrms 2012-2020 www. ...

  8. scrollTo & js auto scroll & scrollX & scrollY

    scrollTo & js auto scroll & scrollX & scrollY scrollX & scrollY 获取 scroll top height ...

  9. 「NGK每日快讯」2021.1.26日NGK公链第84期官方快讯!

  10. Linux安装MySQL_全网最详细

    Linux安装MySQL 编辑于2021-02-19 本文中MySQL安装目录为/usr/local/mysql 上传MySQL安装包至/usr/local目录,执行命令解压 [root@JetXi ...