Java 基础数据类型

Java 基础数据类型

Java的两大数据类型:基本数据类型引用类型
Java语言提供了八种基本数据类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

整形:byteshortintlong
字符类型:char
浮点类型:floatdouble
布尔类型:boolean

示例如下:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
Java每个基本类型在java.lang包中都有一个相应的包装类,集合不允许存放基本数据类型数据,存放数字时,要用包装类型。
集合不允许存放基本数据类型数据,存放数字时,要用包装类型
这八种包装类所继承的父类不全都相同。
• Integer ,Byte,Float,Double,Short,Long都属于Number类的子类,Number类本身提 供了一系列的返回以上六种基本数据类型的操作。
• Character属于Object子类。
• Boolean属于Object子类。
装箱及拆箱
• 将基本数据类型变成包装类称为装箱。
• 将包装类的类型变为基本数据类型称为拆箱。
• 在JDK1.5之后,提供了自动装箱和自动拆箱功能。

//自动装箱和自动拆箱
Integer int1 = 30;//装箱
int int2 = int1;//拆箱

基本数据类型包装类如下所示:

数据类型包装类
byteByte
shortShort
longLong
charCharcater
byteByte

类型转换示例如下:

//类型转换(使用包装类)
String str = "12";
double doubleB  = Double.parseDouble(str);
System.out.println(doubleB);

结果如下:
在这里插入图片描述

// 包装类提供一些类型转换的方法 、类型的属性
String str = "123";
int a = Integer.parseInt(str);//标准的int 
int b = Integer.valueOf(str);//并不是标准的int ,但返回结果一样
System.out.println(a);
System.out.println(b);
String strxs = "124";
byte xcv = Byte.valueOf(strxs);//valueOf parseByte作用是一样的
byte cvds = Byte.parseByte(strxs);		
System.out.println(xcv);
System.out.println(cvds);

结果如下:
在这里插入图片描述

关于类型的转换:
一、自动类型转换(隐式类型转换)
• 小的类型自动转化为大的类型。
• 整数类型可以自动转化为浮点类型,可能会产生舍入误差。
• 字符可以自动提升为整数。

byte byte1=10;
int Value1=byte1+5;
System.out.println(Value1);

• 整数类型可以自动转化为浮点类型,可能会产生舍入误差。
• Float和Double提供了快速的运算,然而问题在于转换为二进制的时候,有些数字不能完全转换,只能无限接近于原本的值。
• 整数类型的为准确值,浮点型中为精确值(无限接近于真实值)

float float1=2+10f;
float Value2=float1-11.9f;
System.out.println(Value2);

结果如下:
在这里插入图片描述
二、强制类型转换(显式类型转换)
强制类型转换可能导致溢出或损失精度。
在把容量大的类型转换为容量小的类型时必须使用强制类型转换 。
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。

byte a1 = (byte) 127;
System.out.println("a1:"+a1);
byte d = (byte) 128;  //溢出
System.out.println("d:" +d);

如下图所示:a1 没有溢出,当byte 满127时,d 溢出。
在这里插入图片描述
使用强制类型转换,把容量大的类型转换为容量小的类型。

int intValueA=127;
byte byteValueB=(byte) intValueA;
System.out.println(byteValueB);
int ValueA=128;  //溢出
byte ValueB=(byte) ValueA;
System.out.println(ValueB);

如图所示ValueB 溢出:
在这里插入图片描述
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。

int Value5=(int)23.7;
int Value6=(int)-23.7;
System.out.println(Value5);

如图所示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java获取系统时间

Java获取系统时间 Java获取系统时间 在java 中,有很多种方法都可以获取到系统的当前时间,但也需要到对应的类,不同的类自然有不同的方法。这里为大家介绍获取系统当前时间的四种方式。 1. 通过Calendar类来获取当前时间 需要引用…

Java 中抽象类与接口

Java 抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这个类就是抽象类。 抽象类不能创建…

Java 中的进程与线程的实现

了解进程与线程: 进程: 当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程 中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单 位一般而言,进程包含如下三个特征&…

Java集合工具类:Collections

Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里 提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象实现同步控制等方法。 一、 排序操作 如下示例: public class CollectionsSor…

Java异常处理throws/throw

Java的异常被分为两大类:Checked异常和Runtime异常(运行时异常)。 • Runtime异常:所有的RuntimeException类及其子类的实例; • Checked异常:不是RuntimeException类及其子类的异常实例。 只有Java语言提供…

JDBC 连接MYSQL数据库

1. 加载驱动 Class.forName("com.mysql.jdbc.Driver");com.mysql.jdbc 包名 Driver 驱动名,驱动包需要引入进来 mysql com.mysql.jdbc.Driveroracle oracle.jdbc.driver.OracleDriversqlserver com.microsoft.sqlserver.jdbc.SQLServerDriver …

JSP 之输出九九乘法表

JSP是一种建立在Servlet规范提供的功能之上的动态网页技术,允许在网页文件中嵌入java代码和jsp标记。Java 服务器页面 (Java Server Page ,JSP) 扩展名为 .jsp。 1.jsp的执行过程 Jsp文件在用户第一次请求时,会被编译成Servlet,然后由这个Se…

Java 重写与重载

方法的重写: 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法申…

JSP根据状态动态改变数据表格按钮

有时候在开发的过程中会遇到需要根据状态ID 来动态改变数据表格的按钮&#xff0c;下面我主要讲述两种表格根据ID改变按钮的方式。 下面这种我是用EL 表达式获取表格中的值&#xff1a; <table class"table table-striped table-bordered table-hover" id"s…

根据银行卡号判断银行卡是否正确与归属银行

校验过程&#xff1a; 1.从卡号的最后一位数字开始&#xff0c;逆向将奇数位&#xff08;1&#xff0c;3&#xff0c;5 等等相加&#xff09; 2.从卡号最后一位数字开始&#xff0c;逆向将偶数位数字&#xff0c;先乘以2&#xff0c;如果乘积为两位数&#xff0c;将个位数字相加…

根据年月日判断第多少天,星期几

1. 根据年月日判断第多少天 Scanner是SDK1.5新增的一个类,可使用该类创建一个对象。 Scanner scannernew Scanner(System.in);  然后scanner对象调用下列方法&#xff08;函数&#xff09;,读取用户在命令行输入的各种数据类型   next.Byte(),nextDouble(),nextFloat,nextIn…

解决MySQLyog 导入数据库文件没有反应

之前我在MySQL 中新建了一个数据库&#xff0c;名为“onlineclassroom” 的数据库&#xff0c;但是在将外部的.sql 文件导入进来之后发现&#xff0c;数据库没有反应&#xff0c;也看不到表数据&#xff0c;以为是没有刷新问题&#xff0c;但是刷新之后发现还是没有这个就很奇怪…

解决myeclipse报错500,MySQLyog报错误码问题

在myeclipse 写了一个登录&#xff0c;但在我登录的时候却报了500的空指针&#xff0c;我检查了自己的登录代码&#xff0c;发现没有问题&#xff0c;这不应该啊&#xff0c;然后在网上也寻找了一些解决方案&#xff0c;发现好像并不适用&#xff0c;500空指针如下&#xff1a;…

jquery点击弹出播放视频并显示遮罩层

最近在做视频播放的时候&#xff0c;发现用jquery的播放视频可以很好的实现我所需要的效果。在之前请把插件引用进来&#xff0c;废话不多说&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><meta …

JS实现图片循环滚动

之前在前端的时候有遇到这样一个问题&#xff0c;实现 JS 图片的循环滚动&#xff0c;然后鼠标移入的时候停止滚动&#xff0c;鼠标移开继续滚动&#xff0c;这里无非就是设置了一个定时器&#xff0c;鼠标移上时清除定时器达到滚动停止的目的&#xff0c;鼠标移开时重设定时器…

有趣的滚动条

今天在搭前端页面的时候&#xff0c;UI给过来的一个自定义的滚动条&#xff0c;要求必须与设计的一样&#xff0c;觉得有点有趣&#xff0c;现在记录一下。 效果图&#xff1a; 具体代码是这样的&#xff1a; /*字体太长&#xff0c;这里我就减少一些*/ <div class"l…

解决 idea 复制jsp 文件过来页面报404

今天在做功能的时候把另外一个jsp文件复制过来&#xff0c;发现页面一直报404&#xff0c;咋搞的&#xff0c;检查路径没有问题&#xff0c;报404这个就奇葩了&#xff0c;后面经过一番“洗脑”&#xff0c;才发现jsp文件复制过来少了一个特别重要的步骤&#xff0c;那就是重新…

vue解决v-for报错 [vue/valid-v-for]Custom elements in iteration require ‘v-bind:key‘ directives

v-for报错 [vue/valid-v-for]Custom elements in iteration require ‘v-bind:key’ directives.eslint-plugin-vue 原因&#xff1a;这是因为我安装的enlint插件&#xff0c;它会对代码的规范进行检查。我这里用到v-for&#xff0c;但它是需要key值的&#xff0c;当不根据它的…

vscode中如何运行git

在vscode 中运行git 指令&#xff0c;发现报错。 这是因为还没有进行安装git &#xff0c;所以这个指令对于vscode 来说是没有办法识别的&#xff0c;这时&#xff0c;我们就要进行下载安装git。 第一步&#xff1a;下载git 去到git 官网&#xff1a; 点击下载&#xff0…

通过nginx在window下部署项目

1…安装nginx 首先&#xff0c;进入nginx 的官网&#xff0c;下载nginx&#xff0c;安装nginx 通过&#xff0c;https://nginx.org/ 链接进入 Mainline version&#xff1a;开发版&#xff0c;mainline 目前主力在做的版本 Stable version&#xff1a;最新稳定版&#xff0c;生…