Java的基本数据类型和数据类型转换
首先java属于强类型语言,要求变量的使用要严格遵守规范,所有变量都必须先定义后才能使用。
Java的数据类型分为以下两种:
1 基础数据类型(primtive type) 和 2 引用数据类型(reference type)
今天只讲基础数据类型,然后基础类型里面还可以细分一下,分为:
数值类型:
- 整数类型
- byte 占1个字节范围 (-128 127)
- short 占2个字节范围(-32768 32767)
- int 占4个字节范围(-2147483648 2147483647)(最为常用)
- long 占8个字节范围(-9223372036854775808 -9223372036854775807)
- 浮点类型(我们数学说叫做小数,当在java里面叫做浮点)
- float 占4个字节范围
- double 占8个字节范围
- 字符类型(其实在java里面,字符本质上也是一个数字。)
- char 占2个字节范围
boolean类型:占1个位 只有true和false两个。
一个字节(btye)等于八个位(bit),位是计算机内部数据存储的最小单位。
public class text {
public static void main(String[] args) {
//byte的存储范围在-128到127之间,下面我演示一下byte两种赋值。其余的short,int,long,float,double就依次类推
//这个赋值正确,不会报错,因为10在-128到127之间
byte num=10;
//这个就会报错,因为赋的值已经超出byte的储存范围。
byte num2=128;
/*
下面是几个注意点!!!
在使用long类型和flaot类型的时候,都需要,给变量值后面加个后缀。例如:
*/
int numa=10;
long numb=10L;
float numc=10.4F;
double numd=10.5;
//注意--->后缀的这个英文能小写,但是还是写成大写,养成良好的编码规范!
/*
然后现在讲一下字符型 char占两个字节,一个英文单词和一个汉字就带表一个字节。
并且注意的是,变量值是用单引号'',而不是双引号""。
*/
char a='a';
char b='涛';
/*
最后就是boolean型 它只有两个值,便是true,false。中文意思就代表真和假
*/
boolean a1=true;
boolean a2=false;
}
}
数据类型转化
数据类型转化可以分为:
强制转换(不推荐)
自然转换
强制转换什么意思呢,也就是说存储大的类型,转换为存储小的类型。例如:
public static void main(String[] args) {
int a=130;
byte b= (byte) a;
System.out.println(b);
//输出结果b:-126
}
可以通过看到,a明明是130,按照逻辑来讲,b应该也是130,但输出结果是-126,这就是内存溢出导致数据错乱的一个问题,本来byte的存储空间应该在-128 到 127 之间,但是a的值130,已经大于它的存储范围,所以产生了内存溢出的错误。这也就是我们所说的强制转换。通俗一点理解就可以为,由高到低,由大到小,转换。
自然转化就是反过来,存储小的类型,转换为存储大的类型。例如:
public static void main(String[] args) {
int a=10;
float b=a;
System.out.println(b);
// 输出结果 b:10.0
}
首先看到上面的代码,一些同学可能会感到疑惑,不是存储小的类型,转换为存储大的类型,int的范围是4个字节,float的范围也是4个字节呀,对,在java里面虽然int和float存储范围一样大,但是float还是比它大的。所以可以这样转,而且结果的是10.0,是不是由一个整数,变成一个浮点数了。这就叫做自然转化。
Java的基本数据类型和数据类型转换的更多相关文章
- 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念
018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...
- 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例
019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...
- (6)java基础知识-基本数据类型、数据类型转换
一.基本数据类型 基本的数据类型一共有四类八种 1.整型 byte: 1字节 取值范围 -128~127 short: 2字节 取值范围 -32768~32767 int: 4字节 取 ...
- Python基础之模块、数据类型及数据类型转换
一.模块 1.标准库 不需要安装,直接调入使用的模块. import sys模块: import sys print(sys.path) #打印环境变量绝对路径 print(sys.argv) #打印 ...
- python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- 零基础学习java------day2------关键字、标志符、常量、进制键的转换、java中的数据类型、强制类型转换的格式
今日内容要求: 1. 了解关键字的概念及特点,了解保留字 2. 熟练掌握标识符的含义,特点,可使用字符及注意事项 3. 了解常量的概念,进制,进制之间相互转换,了解有符号标识法的运算方式 4. 掌握变 ...
- Objective-C数据类型、数据类型转换
数据类型 1.Objective-C数据类型可以分为:基本数据类型.对象数据类型和id类型. 2.基本数据类型有:int.float.double和char类型. 3.对象类型就是类或协议所声明的指针 ...
- Java 读书笔记 (五) 目标数据类型转换
数据类型转换必须满足如下规则: 不能对boolean类型进行类型转换 不能把对象类型转换成不相关类的对象 //那不同类的对象可以用同一个名字命名吗?根据作用域原则,可以吧? 把容量大的转换为容量小的 ...
随机推荐
- Shell系列(29)- 单分支if语句格式
单分支if条件语句 if [ 条件判断 ] ;then 程序 fi 或者 if [ 条件判断 ] then 程序 fi 注意点 if语句使用fi结尾,和一般语言使用大括号结尾不同 [ 条件判断 ]就是 ...
- Python简单算法的实现
#coding=utf-8 #!/usr/bin/python def GCD(a,b): """ :求两个数的最大公约数 :param a: :param b: :re ...
- 利用Java Agent进行代码植入
利用Java Agent进行代码植入 Java Agent 又叫做 Java 探针,是在 JDK1.5 引入的一种可以动态修改 Java 字节码的技术.可以把javaagent理解成一种代码注入的方式 ...
- Jetbrains CLion 安装与激活 详解
1. 下载与安装 1.1 下载 这里提供了三个操作系统的官网下载地址 Mac Windows Linux 进入页面后向下拉点击蓝色按钮即可下载. 1.2 安装 这里将用 MacOS 来进行示例,Win ...
- linux 测试2
.阅读目录●第一种:cat /dev/null > filename●第二种:: > filename●第三种:> filename●第四种:echo "" &g ...
- 缓冲区溢出利用与ShellCode编写
一.实验目的 熟悉编写shellCode的流程 掌握缓冲区溢出的利用 二.实验环境 系统环境:Windows环境 软件环境:C++ ,缓冲区溢出文件链接 三.实验原理 要实施一次有效的缓冲区溢出攻击, ...
- 国内首篇云厂商 Serverless 论文入选全球顶会:突发流量下,如何加速容器启动?
作者 | 王骜 来源 | Serverless 公众号 导读 USENIX ATC (USENIX Annual Technical Conference) 学术会议是计算机系统领域的顶级会议,入 ...
- NET5 EF Core添加EF生成SQL日志记录
1.添加NuGet包:Microsoft.Extensions.Logging.Debug 2.添加单独类库用于后期维护:BCode.DataBase.Log 3.添加EFCoreLoggerProv ...
- Linux argc,argv详解
来源:微信公众号「编程学习基地」 @ 目录 argc,argv是什么 如何解析程序参数 "选项"是什么? "选项字符串"是什么 解析参数 argc,argv是什 ...
- DevOps 时代的高效测试之路
10 月 22 日,2021 届 DevOps 国际峰会在北京顺利召开,来自国内外的顶级技术专家共同畅谈 DevOps 体系与方法.过程与实践.工具与技术.CODING 测试及研发流程管理产品总监程胜 ...