java中四类八中_JAVA中的八中基本数据类型
Java语言提供了八种基本类型。六种数字类型(四个整型,两个浮点型),一种字符类型,还有一种布尔型。
1、整数:
定义:没有小数部分的数字,负数是允许的。
种类:Java提供四种整数类型:
byte1个字节 -128到127
short
2个字节
-32,768到32,767
int
4个字节
-2,147,483,648到2,147,483,647
long
8个字节
-9,223,372,036,854,775,808L到9,223,372,036,854,775,807L
2、浮点数:
定义:含有小数部分的数字。
分类:Java提供两种浮点数:
float
4个字节
约+-3.40282347E+38F(6~7个有效的十进制数位)
绝对值:1.4E-45~3.4E38
double
8个字节
约+-1.79769313486231570E+308(15个有效数位)
绝对值:4.9E-324~1.8E308说明:
1)float类型的数值有个后缀:f/F,如果没有后缀f/F,那么默认为double。double类型的数值也可以使用后缀d/D。
2)当这些数字遇到取值范围错误时,会发生(上溢Overflow);而在遇到像被零除时,会发生下溢(Underflow)。
举例:float f = 1.23456712f;
float ff = 1.23456789f;
double d = 1.23456789123456123d;
//默认为double类型,可以不带ddouble dd = 1.23456789123456789d;
System.out.println("f ="+f);
System.out.println("ff ="+ff);
System.out.println("d ="+d);
System.out.println("dd ="+dd);
输出:
f =
1.2345672
ff =
1.2345679d =
1.2345678912345612 //15位精度
dd = 1.234567891234568
//15位精度
3、字符类型:
定义:单引号用来表示char常量,是容纳单字符的一种基本数据类型,占1byte。
说明:双引号则表示一个字串,他是Java的一个对象,并不是数据类型。
4、布尔类型:boolean类型只有两个值:false和true。 boolean
类型的数值不能直接转换成其它类型。占1个字节。
看一下代码:
public class TestString {
public static void main(String[] args) {
// TODO Auto-generated method stub
//
byte
System.out.println("基本类型:byte 二进制位数:" +
Byte.SIZE);
System.out.println("包装类:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" +
Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" +
Byte.MAX_VALUE);
System.out.println();
//
short
System.out.println("基本类型:short 二进制位数:" +
Short.SIZE);
System.out.println("包装类:java.lang.Short");
System.out.println("最小值:Short.MIN_VALUE=" +
Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" +
Short.MAX_VALUE);
System.out.println();
//
int
System.out.println("基本类型:int 二进制位数:" +
Integer.SIZE);
System.out.println("包装类:java.lang.Integer");
System.out.println("最小值:Integer.MIN_VALUE=" +
Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" +
Integer.MAX_VALUE);
System.out.println();
//
long
System.out.println("基本类型:long 二进制位数:" +
Long.SIZE);
System.out.println("包装类:java.lang.Long");
System.out.println("最小值:Long.MIN_VALUE=" +
Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" +
Long.MAX_VALUE);
System.out.println();
//
float
System.out.println("基本类型:float 二进制位数:" +
Float.SIZE);
System.out.println("包装类:java.lang.Float");
System.out.println("最小值:Float.MIN_VALUE=" +
Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" +
Float.MAX_VALUE);
System.out.println();
//
double
System.out.println("基本类型:double 二进制位数:" +
Double.SIZE);
System.out.println("包装类:java.lang.Double");
System.out.println("最小值:Double.MIN_VALUE=" +
Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" +
Double.MAX_VALUE);
System.out.println();
//
char
System.out.println("基本类型:char 二进制位数:" +
Character.SIZE);
System.out.println("包装类:java.lang.Character");
//
以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
System.out.println("最小值:Character.MIN_VALUE=" +
(int)Character.MIN_VALUE);
//
以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
System.out.println("最大值:Character.MAX_VALUE="
+ (int)Character.MAX_VALUE);
}
}
运行结果如下:
运算符对基本类型的影响当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则:
只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型;否则,只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;否则,只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;否则,两个操作数(包括byte、short、int、char)都将会被转换成int类型,并且结果也是int类型。
当使用+=、-=、*=、/=、%=、运算符对基本类型进行运算时,遵循如下规则:
运算符右边的数值将首先被强制转换成与运算符左边数值相同的类型,然后再执行运算,且运算结果与运算符左边数值类型相同。
根据以上规则,请看: short s1=1;s1=s1+1;有什么错?short
s1=1;s1+=1;有什么错?
我们来写个例子试试,Java代码
publicclassPrimitiveTypeTest
{
publicstaticvoidmain(String[]
args) {
shorts1
=1;
//
这一行代码会报编译错误
// s1 = s1 +
1;
//
这一行代码没有报错
s1
=1+1;
//
这一行代码也没有报错
s1
+=1;
}
}
当使用“==”运算符在基本类型和其包装类对象之间比较时,遵循如下规则:
只要两个操作数中有一个是基本类型,就是比较它们的数值是否相等。否则,就是判断这两个对象的内存地址是否相等,即是否是同一个对象。
java中四类八中_JAVA中的八中基本数据类型相关推荐
- java中string类相等_Java中String类的常见面试题
第一题:==与equals()的区别 1.判断定义为String类型的s1和s2是否相等 String s1 = "abc"; String s2 = "abc" ...
- java怎么判断类相同_java中如何判定两个对象属于同一类 两个对象是不是类的相同实例,即用“===”是什么意思...
导航:网站首页 > java中如何判定两个对象属于同一类 两个对象是不是类的相同实例,即用"==="是什么意思 java中如何判定两个对象属于同一类 两个对象是不是类的相同实 ...
- java 中random类使用_Java中的天使和魔鬼:Unsafe类
我们在看ConcurrentHashMap源码时经常看到Unsafe类的使用,今天我们来了解下Unsafe类. Java是一个安全的编程语言,它能最大程度的防止程序员犯一些低级的错误(大部分是和内存管 ...
- java 不同包子类 覆盖_Java中不同方法的覆盖方法
经过测试 覆盖的好处是能够定义特定于子类类型的行为,这意味着子类可以根据其要求实现父类方法. 用面向对象的术语来说,覆盖是指覆盖现有方法的功能. 示例class Animal { public voi ...
- java实现四次挥手_java中三次握手四次挥手是什么?图文详解
关于java中的一些基础的知识,是非常的多的,而且涉及的方面也是非常的广阔的.相信大家在日常的学习中也会遇到很多这些令人疑惑的问题,今天就来为大家介绍一下,一起来看看吧. 首先说一下,java中三次握 ...
- java中定义一个时间_Java中的日期和时间
根据个人目前正在编写的<Java核心编程-基础篇>的规划,这部分属于第15章内容,这里沿用了书中的章节编号.另外,因为原文篇幅太长,这里适当做了删减. 15.1.概述 在 Java 8 之 ...
- Java正则工具类从地址中提取省市区
Java正则工具类从地址中提取省市区 最近有个需求,从一串地址中提取出省市区,然后开始寻找解决方案,最终通过网上一些正则,再加上自己改动的,貌似弄成一个比较匹配的工具类,其中代码如下,有需要的可以参考 ...
- eclipse中在类saolei.Test 中找不到main方法
粉丝提问:eclipse中在类saolei.Test 中找不到main方法 解决办法: eclipse设置自动保存或者CTRL+S 建议使用更加智能的编译器IDEA
- java io 创建文件夹_Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File; import java.io.IOException; public class Demo03 { publi ...
最新文章
- 半环(semiring)的数学概念
- 如何高效的Code Review
- AEM中的单元测试(大声思考)
- RUNOOB python练习题10
- DataTable筛选某列最大值
- 点击button自动提交表单原因及解决方案
- Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D
- 一次“背锅”和“解锅”后的反思
- IOS 打包后安装崩溃,debug正常运行
- 为什么程序员基本不炫富?
- 很遗憾,该服务器不支持 jmail 组件!,Jmail组件安装方法及Windows 7系统下Jmail组件注册失败解决方法...
- IPV6 RFC和地址表示
- 笔记本重启一直进bios
- ipad 邮箱服务器端口,ipad邮箱设置,牛排,YAHOO邮箱(后缀为yahoo
- 交换机接口的三种模式
- 红外热成像仪原理与用途——TFN TD97 双目手持热像仪红外夜视仪
- 梯度与边缘检测常用算子:Roberts、Prewitt、Sobel、LOG,Canny、Lapacian算子
- 【USACO3.1.4】形成的区域 二维线段树/离散化/矩形切割/浮漂法 【线段树方法以后写】
- 塞瓦定理与梅涅劳斯定理
- shopify开发经验