JAVA基础语法编程详解

news2024/10/6 20:35:36

1 类型转换

  • 描述:
    设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型
  • 输入描述:
    随机double类型变量
  • 输出描述:
    转化后的int类型变量
  • 示例
    输入:123.45
    输出: 123

题解思路:

这里需要用到java数据类型转换思路:

Java数据类型按照取值范围的大小排序,从小到大依次为:
类型转换
操作符“=”进行赋值运算,这是使用最频繁的操作符。在表达式“target=source”中,当变量target和变量source的数据类型不一致,如何赋值呢?如果source的数据类型的取值范围小,target的数据类型的取值范围大,就可以直接进行赋值,例如:

byte source=1;
int target=source;  //合法

如果source的数据类型的取值范围大,target的数据类型的取值范围小,就不允许直接进行赋值,而是要进行强制类型的转换。例如:

int source=1;
byte target=(byte)source;  //合法
byte result=source;  //非法

总结:

在Java中,有多种数据类型之间的转换方法,下面介绍几种常用的类型转换方法。
**1. 自动类型转换:**当两种数据类型可以兼容时,Java会自动将其中的一种类型转换成另一种类型。

例如,将int类型赋值给double类型,Java会自动将int类型转换为double类型。

**2. 强制类型转换:**当两种数据类型不兼容时,需要使用强制类型转换。强制类型转换可以将一个大的数据类型转换为一个小的数据类型,但可能会导致精度丢失。

例如,将double类型强制转换为int类型,可能会导致小数部分被截断。
语法:目标类型 变量名 = (目标类型) 原始值;

**3. 字符串转换:**Java中可以使用一些方法将字符串转换为其他数据类型,或将其他数据类型转换为字符串。

例如,将一个字符串转换为int类型,可以使用Integer.parseInt()方法
将一个int类型转换为字符串,可以使用String.valueOf()方法
例如,将字符串"123"转换为int类型:

String str = "123";  
int num =Integer.parseInt(str); ```

**4. 包装类转换:**Java中的包装类可以将一个基本数据类型转换为一个对象,或将一个对象转换为一个基本数据类型。

例如,将int类型转换为Integer对象,可以使用Integer.valueOf()方法;
将Integer对象转换为int类型,可以使用intValue()方法
例如,将int类型的值1转换为Integer对象:

int num = 1;   
Integer obj = Integer.valueOf(num); ```

题解

思路一:直接使用强制类型转换

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(Main.typeConversion(d));
    }
    public static int typeConversion(double d){

        //write your code here......
        return (int)d;
    }
}

思路二:使用字符串转换

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(Main.typeConversion(d));
    }
    public static int typeConversion(double d){

        //write your code here......
        
    String str =  String.valueOf(d);
    String substring = str.substring(0, str.lastIndexOf("."));
    return Integer.valueOf(substring).intValue();
    }
}

显然这个题直接使用强制类型转换比较简单通俗易懂,不过也需要掌握其他七种方法的操作与使用!!!

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

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

相关文章

手摸手入门Springboot+Grafana10.2接收JSON

JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本…

22款奔驰S400L升级原厂360全景影像 打破死角

本次星骏汇小许介绍的是22款奔驰S400L升级原厂360全景影像,上帝视角看清车辆周围环境,更轻松驾驶 升级360全景影像系统共有前后左右4个摄像头,分别在车头,车尾,以及两边反光镜下各一个,分别用来采集车头&a…

「题解」环形链表的约瑟夫问题

文章目录 🍉题目🍉解析🍌创建环形链表🍌释放指定节点🍌其他思路 🍉写在最后 🍉题目 🍉解析 题目的意思就是从环形链表的第一个节点开始数,数到第 m 的时候释放对应的节点…

Arduino、arm、树莓派、单片机四者有什么不同

文章目录 ArduinoARM树莓派单片机 初学单片机的同学,可能会对Arduino、ARM、树莓派以及单片机这些概念比较模糊,实际上,这四个是不同的概念和技术。 Arduino Arduino(阿尔杜伊诺)是一种开源电子原型平台,它…

Mac安装配置Tomcat,以及使用(详解)

目录 一、Tomcat下载: 1、左栏选择Tomcat版本 2、点击下载即可,任选其一 ​编辑3、下载好的文件夹放到用户名下即可(之前已经下载过,这里以Tomcat 8.5.88为演示),这里提供8.5.88的安装包: 二…

Visual Studio 2019下编译OpenCV 4.7 与OpenCV 4.7 contrib

一、环境 使用的环境是Win10,Visual Studio 2019,Cmake3.28,cdua 11.7,cudnn 8.5,如果只是在CPU环境下使用,则不用安装CUDA。要使用GPU处理,安装好CUDA之后,要测试安装的CUDA是否能用。不能正常使用的话,添加一下系统…

LoadRunner使用动态链接库技术

什么是动态库? 动态库一般又叫动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行…

大数据BigDecimal工具类

我们在开发中经常要对数据进行运算,获取对应正确的数值,而double和float这两个本质都是小数点,没办法使用二进制精确的表示,所以他们是不准确的,这个时候就应该使用大数据BigDecimal进行运算了,它可以精确的…

Selenium自动化测试细节讲解

与以前瀑布式开发模式不同,现在软件测试人员具有使用自动化工具执行测试用例套件的优势,而以前,测试人员习惯于通过测试脚本执行来完成测试。 但自动化测试的目的不是完全摆脱手动测试,而是最大程度地减少手动运行的测试。自动化…

Versal 自适应 SoC SelectMAP 启动检查表

Versal 自适应 SoC SelectMAP 启动检查表 本文档提供了有关 SelectMAP 启动设置的技巧和指南。在提交个案服务请求之前,应认真查看以下检查表。SelectMAP 启动模式的常规检查表: 是否已查看 SelectMAP 文档,了解连接和电源轨的用法&#…

Spring事务一网打尽

Spring事务一网打尽 什么是事务首先说一个坑Spring 中的事务两种用法三大基础设施编程性事务TransactionManager 实现编程性事务TransactionTemplate 实现编程性事务 声明式事务XML配置声明式事务注解配置声明式事务注解XML混合配置声明式事务 什么是事务 这里要额外补充一点&a…

单片机第三季-第五课:GPIO控制LED

目录 1,GPIO数据手册 1.1,端口配置寄存器 ​1.2,端口输入数据寄存器和端口输出数据寄存器 ​1.3,端口位设置/清除寄存器 1.4,端口位清除寄存器 2,原理图分析和MDK工程 3,写代码通过GP…

快速入门:教你如何使用vue-element-admin 集成框架开发项目(保姆式教学)

设置完中文界面,打开是这样的 端口号更改 嘿嘿,要把项目改成自己的,是不是要更改标题啊 题目更改 src/utils/get-page-title.js src/settings.js 如何添加菜单页面 添加菜单页面(父菜单/子菜单) 效果图 添加自己的页…

Unity--视觉组件(Raw Image,Mask)||Unity--视觉组件(Text,Image)

1.Raw Image 2.mask “”Raw Image:“” Texture:(纹理) 表示要显示的图像的纹理; Color:(颜色) 应用于图像的颜色; Material:(材质&#xff09…

FreeRTOS源码阅读笔记3--queue.c

消息队列可以应用于发送不定长消息的场合,包括任务与任务间的消息交换,队列是 FreeRTOS 主要的任务间通讯方式,可以在任务与任务间、中断和任务间传送信息,发送到 队列的消息是通过拷贝方式实现的,这意味着队列存储…

前端开发项目中使用字体库

开发中有些项目要求使用固定的字体,这就需要项目中使用字体库。 首先需要下载字体库 将下载的字体文件放进项目中 在项目代码样式文件中定义字体 font-face {font-family: "Tobias-SemiBold";src: url("./assets/font/Tobias-SemiBold.ttf"…

arcgis基础篇--实验

一、绘制带空洞的面要素 方法一:先绘制出一个面区域,然后在面上再绘制一个面区域代表面洞,两者位于同一个图层内,选中代表面洞的区域,选择【编辑器】-【裁剪】工具,将面裁剪出一个洞,随后删除代…

jupyter notebook添加markdown目录

jupyternotebook添加markdown目录 1. 安装python包2. 安装JavaScript和CSS文件3. 启用扩展4. 设置markdown选项 1. 安装python包 官方安装 使用pip pip install jupyter_contrib_nbextensions # 或者 pip install https://github.com/ipython-contrib/jupyter_contrib_nbext…

苹果M3处理器跑分曝光,单核无敌!

10月底,苹果发布了全新的M3、M3 Pro、M3 Max芯片以及搭载M3系列芯片的3款新硬件,包括:新款24英寸iMac、新款14/16英寸MacBook Pro。 根据苹果官方介绍,M3系列芯片基于台积电3纳米工艺打造,采用全新图形处理器架构&…

【操作系统内核】线程

【操作系统内核】线程 为什么需要线程 比如我要做一个视频播放器,就需要实现三个功能: ① 从磁盘读取视频数据 ② 对读取到的视频数据进行解码 ③ 对解码的数据进行播放 如果串行执行(通过一个进程来执行): 那么…