java基础类型与输入输出

本文简述在算法中常用的基本数据类型,以及输入输出方法。

数据类型

1.int(整型)

int数据类型是32位、有符号的整数,以二进制补码表示。
最小值是-2,147,483,648 (-2^31)。
最大值是2,147,483,647(2^31-1)。
默认值是0。

  • 整型的最小值、最大值分别用 Integer.MIN_VALUEInteger_MAXVALUE 来表示。代码如
int intMin = Integer.MIN_VALUE;
int intMax = Integer.MAX_VALUE;
System.out.println("int最小值:" + intMin);
//输出-2147483648
System.out.println("int最大值:" + intMax);
//输出2147483647
  • 整型溢出
    在输入整数时,尽量使用long类型避免使用int类型导致整型溢出,如果整型数字大小大于 10^9 左右,可能就会导致溢出。
    溢出的代码表现,如
int x = Integer.MAX_VALUE;
System.out.println(x);
//输出2147483647
x += 1;
System.out.println(x);
//输出-2147483648,溢出到int型的最小值开始

2.long(长整型)

long数据类型是64位、有符号的整数,以二进制补码表示。
最小值是-929,223,372,036,954,775,808(-2^63)。
最大值是929,223,372,036,954,775,807(2^63-1)。
默认值是0。

  • 长整型的最小值和最大值分别表示为 Long.MIN_VALUELong.MAX_VALUE,如
long longMin = Long.MIN_VALUE;
long longMax = Long.MAX_VALUE;
System.out.println("long最小值:" + longMin);
System.out.println("long最大值:" + longMax);

float(单精度浮点数)

  • float数据类型是单精度、32位
  • float在储存大型浮点数组的时候可以节省内存空间;
  • 默认值是0.0
  • 浮点数不能来表示精确的值(与double类型一致)。
    原因:由于计算机的数字的存储和运算都是通过二进制进行的,而十进制小数转换成二进制小数,采用的是"乘2取整,顺序排列"法
    在转换过程后,部分十进制小数的二进制表示就会出现无限循环的情况,例如(0.1)10 = (0.000110011001100…)2。
  • float的最小值和最大值分别表示为Float.MIN_VALUE 和 Float.MAX_VALUE,如
float floatMin = Float.MIN_VALUE;
float floatMax = Float.MAX_VALUE;
System.out.println("float最小值:" + floatMin);
System.out.println("float最大值:" + floatMax);

double(双精度浮点数)

  • double数据类型是双精度、64位
  • 浮点数的默认类型是double类型
  • 默认值也是0.0;
  • 无法表示精确的值(跟float一致);
  • double的最小值和最大值分别表示为Double.MIN_VALUE 和 Double.MAX_VALUE,如
double doubleMin = Double.MIN_VALUE;
double doubleMax = Double.MAX_VALUE;
System.out.println("double最小值:" + doubleMin);
System.out.println("double最大值:" + doubleMax);

boolean(布尔类型)

  • boolean数据类型表示一位的信息;
  • 取值为:true(真)和flase(假)
  • 默认值是false。

char(字符类型)

  • char类型是16位无符号Unicode字符
  • 表示单个字符,并且可以存储任何字符(字母、数字、符号等);
  • 默认值是’\u0000’
  • 最小值1是0(即’\u0000’)
  • 定义用 ’ '(单引号)。

String(字符串类型)

  • String是由字符构成的序列,它是Java中的一个类,而不是基本数据类型;
  • 没有明确的最小值和最大值,因为它是一个类而不是基本数据类型;
  • 默认值是null
  • 定义用 " "(双引号)。

输入和输出

输入

Java提供了多种方式来进行输入,常用的是Scanner类。

  1. 导入java.util包中的Scanner类。
  2. 创建Scanner对象,参数System.in 是 Java 中的标准输入流。
  3. 使用输入函数来读取数据。
  4. 各数据类型的输入函数如下:
import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取整数System.out.print("请输入一个整数: ");int intValue = scanner.nextInt();// 读取长整型System.out.print("请输入一个长整数: ");long longValue = scanner.nextLong();// 读取单精度浮点数System.out.print("请输入一个单精度浮点数: ");float floatValue = scanner.nextFloat();// 读取双精度浮点数System.out.print("请输入一个双精度浮点数: ");double doubleValue = scanner.nextDouble();// 读取布尔值System.out.print("请输入一个布尔值(true/false): ");boolean booleanValue = scanner.nextBoolean();// 读取字符System.out.print("请输入一个字符: ");char charValue = scanner.next().charAt(0);// 读取字符串System.out.print("请输入一个字符串: ");String stringValue = scanner.next();// 打印输入的值System.out.println("整数:" + intValue);System.out.println("长整数:" + longValue);System.out.println("单精度浮点数:" + floatValue);System.out.println("双精度浮点数:" + doubleValue);System.out.println("布尔值:" + booleanValue);System.out.println("字符:" + charValue);System.out.println("字符串:" + stringValue);}
}

输出

输出采用System.out.println()和System.out.print()。
System.out.println()输出完会自动换行,System.out.print()不会。
上面的代码有很多使用输出函数的例子,可以回顾看看。

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

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

相关文章

java版直播商城平台规划及常见的营销模式 电商源码/小程序/三级分销+商城 免 费 搭 建

鸿鹄云商 B2B2C产品概述 【B2B2C平台】,以传统电商行业为基石,鸿鹄云商支持“商家入驻平台自营”多运营模式,积极打造“全新市场,全新 模式”企业级B2B2C电商平台,致力干助力各行/互联网创业腾飞并获取更多的收益。从消…

【现代密码学】笔记6--伪随机对象的理论构造《introduction to modern cryphtography》

【现代密码学】笔记6--伪随机对象的理论构造《introduction to modern cryphtography》 写在最前面6 伪随机对象的理论构造 写在最前面 主要在 哈工大密码学课程 张宇老师课件 的基础上学习记录笔记。 内容补充:骆婷老师的PPT 《introduction to modern cryphtogr…

Qt/C++中英输入法/嵌入式输入法/小数字面板/简繁切换/特殊字符/支持Qt456

一、前言 在嵌入式板子上由于没有系统层面的输入法支持,所以都绕不开一个问题,那就是在需要输入的UI软件中,必须提供一个输入法来进行输入,大概从Qt5.7开始官方提供了输入法的源码,作为插件的形式加入到Qt中&#xff…

网络广播号角喇叭在智能工地施工现场的应用,以及网络广播在公共广播中的实际作用。

网络号角喇叭在智能工地施工现场的应用,以及网络广播在公共广播中的实际作用。 SV-7044村村通ip网络通信广播号角喇叭,网络音箱,网络音柱是一种公共广播技术,主要应用于公共场所,如公交、商场、大型活动场所等。可以用…

visual studio的安装及scanf报错的解决

visual studio是一款很不错的c语言编译器 下载地址:官网 点击后跳转到以下界面 下滑后点击下载Vasual Sutdio,选择社区版即可 选择位置存放下载文件后,即可开始安装 安装时会稍微等一小会儿。然后会弹出这个窗口,我们选择安装位…

linux不同场景下修改文件名的五种方法

开头语: 大家好,欢迎来到本文!在Linux系统中,修改文件名是我们在日常工作中经常遇到的任务之一。本文将分享三种常用的Linux修改文件名的方法,旨在帮助大家更灵活高效地管理文件。让我们一起来了解这些方法吧&#xf…

Pandas实战100例 | 案例 55: 应用条件

案例 55: 应用条件 知识点讲解 在数据处理过程中,有时需要根据条件对数据进行转换或计算。Pandas 的 apply 方法允许你对 DataFrame 的每一行或列应用一个自定义函数,实现复杂的逻辑。 应用条件: 使用 apply 方法结合 lambda 函数,可以根据…

go语言中的GoMock

GoMock是一个Go框架。它与内置的测试包整合得很好,并在单元测试时提供了灵活性。正如我们所知,对具有外部资源(数据库、网络和文件)或依赖关系的代码进行单元测试总是很麻烦。 安装 为了使用GoMock,我们需要安装gomo…

无需编程,简单易上手的家具小程序搭建方法分享

想要开设一家家具店的小程序吗?现在,我将为大家介绍如何使用乔拓云平台搭建一个家具小程序,帮助您方便快捷地开展线上家具销售业务。 第一步,登录乔拓云平台进入商城后台管理页面。 第二步,在乔拓云平台的后台管理页面…

Vulnhub-Raven-1

一、信息收集 端口扫描 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u4 (protocol 2.0) | ssh-hostkey: | 1024 26:81:c1:f3:5e:01:ef:93:49:3d:91:1e:ae:8b:3c:fc (DSA) |_ 256 0e:85:71:a8:a2:c3:08:69:9c:91:c0:3f:84:18:df:…

Day27- 贪心算法part01

一、分发饼干 题目一:455. 分发饼干 455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最…

分布式系统中数据库和缓存双写一致性的实现技术

标题:分布式系统中数据库和缓存双写一致性的实现技术 在分布式系统中,为了确保数据库和缓存之间的数据一致性,双写一致性成为了一个关键的挑战。本文将深入探讨如何利用一些常见的技术手段来保证数据库和缓存的双写一致性,以及通…

多线程——CAS

什么是CAS CAS的全称:Compare and swap,字面意思就是:“比较并交换”,一个CAS涉及到以下操作: 假设内存中的原数据V,旧的预期值A,需要修改的新值B 1.比较A与V是否相等(比较&#xf…

antd pro项目部署到gitpage白屏

先总结一下如何部署项目到gitpage 1.新建分支gh-pages 2.把打包好的文件放在这个分支下 3. 之前打开一直白屏,有很多坑 第一个,import { getIntl } from umijs/max;这个引入要,不能是./引入的 第二个,新建一个config.prod.t…

@Autoware和@Resource区别

Autowired和Resource区别 一、相同点 作用都是将bean属性注入到对应的属性中去。 二、区别 1、注入方式 (1)Autowired的注入顺序是先按照bean的类型(byType),再按照bean的名字(byName)。 &…

盘点2023年信息系统故障

安全生产,人人有责。每年信息系统安全事件层出不穷,作为一线运维人员对这些生产安全故障当抱有敬畏之心,并从中总结经验教训,分析原因,不能简单的调侃为开猿节流、降本增笑的结果。本文简要盘点2023年发生的主要信息系…

Java NIO (一)简介(备份)

1 NIO简介 在1.4版本之前,Java NIO类库是阻塞IO,从1.4版本开始,引进了新的异步IO库,被称为Java New IO类库,简称为Java NIO。New IO类库的目的 就是要让Java支持非阻塞IO。 Java NIO类库包含三个核心组件: …

Shell基本操作(2)

文件显示与编辑 连接并显示文件内容 cat cat[options] file... options -n加上行号 -s将连续两行以上的空白行替换为一行如果file不止一个文件,则会将它们连接起来如果想一次只看一页,可以使用more或者less命令 过滤文件内容grep grep命令可以查找拥…

Vue和小程序的区别

一.生命周期不一样: 1.1小程序生命周期:onLoad页面加载、onShow页面显示、onReady页面初次渲染完成、onHide页面隐藏、onUnload页面卸载 1..2 vue生命周期:data、mouted、beforeupdate、updated、beforedestory、destroyed二.数据请求时间不一…

【STM32CubeMX串口通信详解】USART1 -- DMA发送 + DMA空闲中断 接收不定长数据

文章目录: 前言 一、准备工作 1、接线 2、新建工程 二、CubeMX的配置 1、USART1 配置 异步通信 2、通信协议参数 3、打开DMA发送、接收 三、发送操作、代码解释 四、printf 重定向到USART1 五、接收代码的编写 1、定义一个结构体变量&a…