JAVA基础语法编程详解

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();
    }
}

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达《机器学习》8-1->8-2:非线性假设、神经元和大脑

一、非线性假设 在之前学到的线性回归和逻辑回归中,存在一个缺点,即当特征数量很多时,计算的负荷会变得非常大。考虑一个例子,假设我们使用 𝑥₁, 𝑥₂ 的多项式进行预测,这时我们可以很好地应…

【自定义类型:结构体】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 结构体类型的声明 1.1 结构体的概念 1.2 结构的声明 ​编辑 1.3 特殊的声明 1.4 结构的自引用 2. 结构体变量的创建和初始化 3. 结构成员访问操作符 4. 结构体内…

数据库01-慢查询优化

目录 MySQL优化 慢查询 如何定位慢查询? 如何分析慢查询? MySQL优化 MySQL 优化是数据库管理和应用性能调优的一个重要方面。以下是一些常规性的 MySQL 优化经验和适用场景: 索引优化: 确保表的字段上有适当的索引&#xff0…

如何选择一个可靠的爬虫代理服务商?技术人员都需要知道

我身边从事大数据相关行业的朋友最近告诉我,自己新招的小伙伴工作效率很低,很多最基础的工具都不会选择,经常因为代理IP不可靠导致工作出错。 听完这些我才意识到,在这个大数据时代,还是有很多新手在进行网络爬取任务…

threejs(11)-精通着色器编程(难点)2

一、shader着色器编写高级图案 小日本国旗 precision lowp float; varying vec2 vUv; float strength step(0.5,distance(vUv,vec2(0.5))0.25) ; gl_FragColor vec4(strength,strength,strength,strength);绘制圆 precision lowp float; varying vec2 vUv; float strength 1…

Java中Enum枚举类型在项目中应用

1、什么是枚举类型? 1、枚举的本质就是穷举法,将可能会出现的情况,都列举出来,然后在列举的情况中调用。 2、枚举与class类似,也可以定义属性,构造方法,有getter和setter方法。 3、枚举类型对…

改进YOLOv8:结合ICCV2023|动态蛇形卷积,构建不规则目标识别网络

🔥🔥🔥 提升多尺度、不规则目标检测,创新提升 🔥🔥🔥 🔥🔥🔥 捕捉图像特征和处理复杂图像特征 🔥🔥🔥 👉👉👉: 本专栏包含大量的新设计的创新想法,包含详细的代码和说明,具备有效的创新组合,可以有效应用到改进创新当中 👉👉👉: �…

基于FPGA的PS端的Si5340的控制

1、功能 Si5340/41-D可以输出任意频率,当然有范围,100Hz1GHz。外部输入为24M或者4854M的XTAL,VCO在13500~14256Mhz之间,控制接口采用IIC或者SPI。 芯片架构图 2、IIC控制方式 3、直接上控制代码 使用米联客ZU3EG,将…

spider-node-初识

spider-node spider想解决的问题1:业务架构层面2:代码层面3:业务,产品,研发,测试之间4: 系统迭代成本高 spider-node 配置讲解spider-node启动 spider想解决的问题 1:业务架构层面 帮助研发团队…

C++学习笔记(一):安装VisualStudio和Vcpkg

VisualStudio安装 error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. #include <stdio.h>int main() {printf("hello"…

如何使用pngPackerGUI_V2.0,将png图片打包成plist的工具

pngPackerGUI_V2.0&#xff0c;此软件是在pngpacker_V1.1软件基础之后&#xff0c;开发的界面化操作软件&#xff0c;方便不太懂命令行的小白快捷上手使用。 具体的使用步骤如下&#xff1a; 1.下载并解压缩软件&#xff0c;得到如下目录&#xff0c;双击打开 pngPackerGUI.e…

iPhone或在2024开放第三方应用商店。

iPhone或开放第三方应用商店&#xff0c;可以说这是一个老生常谈的话题。对于像是iOS这样封闭的系统来说&#xff0c;此前传出苹果可能开放侧载消息的时候&#xff0c;又有谁能信&#xff0c;谁会信&#xff1f; 如果是按照苹果自身的意愿&#xff0c;这种事情自然是不可能发生…

Windows下Python及Anaconda的安装与设置、代码执行之保姆指南

学习Python编程需要安装基本的开发环境。 &#xff08;1&#xff09;python ——编译器&#xff1b;这个是任何语言都需要的&#xff1b;必需&#xff01; &#xff08;2&#xff09;Anaconda ——主要的辅助工具&#xff0c;号称是 Python‘OS&#xff1b;必需&#xff01; …

LeetCode | 234. 回文链表

LeetCode | 234. 回文链表 O链接 这里的解法是先找到中间结点然后再将中间节点后面的节点逆序一下然后再从头开始和从中间开始挨个比较如果中间开始的指针到走最后都相等&#xff0c;就返回true&#xff0c;否则返回false 代码如下&#xff1a; struct ListNode* reverseLis…

杂记杂记杂记

目录 Mybatis分页插件原理&#xff1f; ThreadLocal? 树形表的标记字段是什么&#xff1f;如何查询MySQL树形表&#xff1f; Mybatis的ResultType和ResultMap的区别&#xff1f; #{}和${}有什么区别&#xff1f; 系统如何处理异常&#xff1f; Mybatis分页插件原理&#…

PostMan授权认证使用

Authorization 对于很多应用&#xff0c;出于安全考虑我们的接口并不希望对外公开。这个时候就需要使用授权(Authorization)机制。 授权过程验证您是否具有访问服务器所需数据的权限。 当发送请求时&#xff0c;通常必须包含参数&#xff0c;以确保请求具有访问和返回所需数据…

Linux环境搭建和基础指令(一)

&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;️&…

论文笔记:SimiDTR: Deep Trajectory Recovery with Enhanced Trajectory Similarity

DASFFA 2023 1 intro 1.1 背景 由于设备和环境的限制&#xff08;设备故障&#xff0c;信号缺失&#xff09;&#xff0c;许多轨迹以低采样率记录&#xff0c;或者存在缺失的位置&#xff0c;称为不完整轨迹 恢复不完整轨迹的缺失空间-时间点并降低它们的不确定性是非常重要…

Unity中【UniTask异步流程】如何进行【步骤分段】、【步骤撤销】、【步骤跳转】、【取消异步任务】

一、UniTask和Task UniTask是Unity中的Task实现&#xff0c;Task是C#中实现异步操作的一个模块(类)。UniTask与Task有着同样的使用思路&#xff08;使用习惯&#xff0c;常用API等&#xff09;&#xff0c;可以说UniTask是借鉴Task而开发出来的。 二、需求的来源 以前有一个…

Maven内网开发使用离线仓库

Maven内网开发使用离线仓库 离线或者内网环境开发与外网不通&#xff0c;中央仓库连不上&#xff0c;使用 Maven 管理项目会遇到很多问题。 比如&#xff1a;依赖包缺失&#xff0c;内网的Nexus私服的包老旧&#xff0c;很久没有维护&#xff0c;项目无法运行打包&#xff0c;…