Java入门学习Day04

本篇文章主要介绍了:如何输入数据、字符串拼接、自增自减运算符、类型转换(int,double等)

CSDN:码银

公众号:码银学编程 

一、键盘输入练习

Scanner是Java中的一个类,用于从控制台或文件中读取输入数据。它提供了一些方法来读取不同类型的数据,如整数、浮点数、字符串等。

import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner name = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        int age = name.nextInt();
        //输出age
        System.out.println(age);

    }
}

 二、算数运算符

 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

 算术运算符:用来执行基本的数学运算,包括+、-、*、/、%等。

public class OperatotDemo {
    public static void main(String[] args) {
        System.out.println(5+2);
        System.out.println(5/2);
        System.out.println(5.0/2);//整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

        System.out.println("~~~~~~~~~");

        System.out.println(5 % 2);
    }
}

实例练习:

给定一个百位的数字,求出其个位、十位、百位。

数值拆分的公式:
个位:数值 %10
十位:数值 /10 %10
百位:数值 /10 /10 % 10
千位:数值 /10/10 /10 % 10

import java.util.Scanner;

public class operatortest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数:");

        int num = sc.nextInt();
        int Dig_1=num%10;
        int Dig_2=num/10%10;
        int Dig_3=num/100%10;
        System.out.println("个位数字是:"+Dig_1);
        System.out.println("十位数字是:"+Dig_2);
        System.out.println("百位数字是:"+Dig_3);

    }
}

三、 Java中的字符串拼接

 举了下面几个例子,可以看一下:

public class Test {
    public static void main(String[] args) {
        System.out.println("爱你:"+21);
        System.out.println("爱你"+1+3);
        System.out.println(1+3+"爱你");
    }
}

四、自增自减运算符

自增自减运算符:用来对变量进行自增或自减操作,包括++(自增)、--(自减)。

单独使用时:

++和--既可以放在变量的后边,也可以放在变量的前边。

参与操作使用:

如果放在变量的后边,在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1

  • int a=10;
  • int b = a++; //此时b=10,a = 11.

如果放在变量的前边,先对变量进行+1、-1,再拿变量的值进行运算。

  • int a=10;
  • int b = ++a; //此时b=11,a = 11.

代码实例: 

public class Test2 {
    public static void main(String[] args) {
        int x=10;
        int y = x++;
//y=10,x= 11;
        int z = ++y;
// y=11, z= 11;
        System.out.println("x=" + x);
        System.out.println("y=" + y);
        System.out.println("z=" + z);

    }
}
  •  输出结果:
  • x=11
  • y=11
  • z=11
     

五、类型转换

1、隐式转换

可以把一个取值范围小的数值或者变量,赋值给另一个取值范围大的变量。

取值范围从小到大:

byte -> short -> int -> Long - fLoat -> double

代码实例:

public class Typeconversion {
    public static void main(String[] args) {
        int a= 4;
        double b = a;
        System.out.println(b);
        System.out.println(a);//a没有变。因为a是复制了一份给了b,a原本的数据是没有变的。
   
    }
}

将double型的数据赋值给int型是不可以的: 

错误示例

注意事项: 

public class Typeconversion {
    public static void main(String[] args) {
        int a= 4;
        double b = a;
        System.out.println(b);
        System.out.println(a);

//取值范围小的数据,和取值范围大的数据进行运算,小的会先提升为大的之后,再进行运算
        double c = a + b;
        System.out.println(c);

//byte short char 三种数据在运算的时候,都会提升为int,然后再进行运算
        byte d = 3;
        byte e = 4;
        // byte dd = d+e;这会报错的
        int dd = d+e;
        System.out.println(dd);
    }
}

 

 2、强制转换

把一个取值范围大的数值或者变量,赋值给另一个取值范围小的变量,不允许直接赋值,需要加入强制转换。

需要注意的是,强制转换可能导致数据的精度损失或溢出。因此,在进行强制转换时,需要仔细考虑数据类型转换的可能影响。

public class Typeconversion {
    public static void main(String[] args) {

        double b = 56.7;
        int a = (int)b;
        System.out.println(a);

    }
}

输出结果:56

因为整数int表示不了小数部分,所以小数点后面部分强制删除了。

六、不同进制的书写格式

主要有:

  • 二进制
  • 八进制
  • 十进制
  • 十六进制
public class ScareDemo {
    public static void main(String[] args) {
        System.out.println(111);//十进制
        System.out.println(0b111);//二进制
        System.out.println(0111);//八进制
        System.out.println(0x111);//十六进制
    }
}

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

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

相关文章

如何搭建自动化测试平台

“自动化测试”有何优势? 具有一致性和重复性的特点,而且测试更客观,提高了软件测试的准确度、精确度和可信任度。 可将任务自动化,能够解放人力去做更重要的工作。 自动化测试只需要部署好相应的场景,如高度复杂的使…

【CKA模拟题】StorageClass实战案例分析

Useful Resources: Storage Classes , Persistent Volumes Claim , Pods 题干 For this question, please set this context (In exam, diff cluster name) kubectl config use-context kubernetes-adminkubernetes Create a Storage Class named fast-storage with a provis…

用于无人机小型化设计的高精度温补晶振

用于无人机小型化设计的高精度温补晶振:TG2016SMN和TG2520SMN。无人机的发展可以说是非常的迅速,在安防,农业,交通,电力,直播等领域经常能看到无人机大显身手。无人机的应用场最是非常的广泛,功能更强&…

EVM Layer2 主流解决方案

深度解析主流 EVM Layer 2 解决方案:zk Rollups 和 Optimistic Rollups 随着以太坊网络的不断演进和 DeFi 生态系统的迅速增长,以太坊 Layer 2 解决方案日益受到关注。 其中,zk Rollups 和 Optimistic Rollups 作为两种备受瞩目的主流 EVM&…

【学习】成为优秀的软件测试工程师需要学哪些知识

成为软件测试工程师,需要学习的内容非常的多,但是无非是这几大类,今天就和小编一起来看看这些知识,你是否都已经掌握。 01、测试环境的搭建 本部分主要是学习从操作系统开始,有关的计算机基础知识、软件和硬件知识、…

Python基于深度学习的人脸识别项目源码+演示视频,利用OpenCV进行人脸检测与识别 preview

​ 一、原理介绍 该人脸识别实例是一个基于深度学习和计算机视觉技术的应用,主要利用OpenCV和Python作为开发工具。系统采用了一系列算法和技术,其中包括以下几个关键步骤: 图像预处理:首先,对输入图像进行预处理&am…

[Leetcode笔记] 动态规划相关

前言 写题目写到了一些和动态规划相关的内容,所以在这里记录一下 LCR 089 题解思路 总的来说,就是用一个数组去存储当前的最优解,然后从0开始一路向上顺推过去,求得最后一位的最优解。 class Solution { public:int rob(vect…

CAD绘制A1图框的技巧

CAD如何绘制A1图框?这里给大家介绍下: 输入REC,绘制矩形第一点 输入D并输入841,594 文章源自四五设计网-https://www.45te.com/44546.html 输入O,框选图框,将其偏移10文章源自四五设计网-https://www.45te.com/44546…

mysql 判断一张表是否存在的方法

查询表是否存在 使用 SHOW TABLES SHOW TABLES LIKE %tbl_tabl%;结果: 查询 INFORMATION_SCHEMA // like 匹配 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA test AND TABLE_NAME like %tbl%; // 完全匹配 SELECT TABLE_NAME FROM INFORMATION_SC…

OSPF实验1

1,配置IP地址 [R1]dis ip interface brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 200.1.1.1/24 up up GigabitEthernet0/0/1 10.1.1.1/24 up …

车载通信与DDS标准解读系列(4):DDSI-RTPS协议

▎什么是RTPS 在DDS协议中,主要描述了实现数据分发服务的DCPS模型和QoS策略,但是我们还不清楚数据怎样在网络中传输,想要了解这些内容,就需要请出咱们的数据搬运工——RTPS。 RTPS全称是Real-Time Publish-Subscribe Protocol&a…

8.java openCV4.x 入门-Mat之多维元组(Tuple)

专栏简介 💒个人主页 📰专栏目录 点击上方查看更多内容 📖心灵鸡汤📖我们唯一拥有的就是今天,唯一能把握的也是今天建议把本文当作笔记来看,据说专栏目录里面有相应视频🤫 🧭文…

【原创教程】EPLAN中伺服的制图方法

首先在EPLAN里制作伺服之前,需要有伺服的手册,根据手册里的各个引脚号的说明来制图,这里我们讲解西门子和三菱这两种品牌型号的。 1、下图是西门子的伺服,型号为:6SL3040-1LA01-0AA0 2、第一步我们需要绘制出黑盒来表示伺服的整体外框 选择插入—盒子—黑盒 3、在图纸…

ansible-自动化工具

一、ansible概述 不是C/S架构,就是一种工具 1:linux自动化运维 编写程序实现运维自动化:shell python 工具模式自动化: ①OS Provisioning: RedHat satellite;PXE(可实现dhcp和tftp&#…

cache/TLB里分别都有什么?

快速链接: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 cache cache里都有什么? 或者问cache line(即每个entry)里都有什么? 答案是 : TAG DATA invalid bit dirty bit 那么TAG里又都…

归并排序和分治

归并排序 归并排序是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分治法将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 分而治之 可以看到这种结构…

LeetCode-142. 环形链表 II【哈希表 链表 双指针】

LeetCode-142. 环形链表 II【哈希表 链表 双指针】 题目描述:解题思路一:快慢指针 判断是否有环见解题思路二:set()解题思路三:0 题目描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如…

The Sandbox 与 Otherworld 合作推出元宇宙网络漫画中心

​ The Sandbox 将与韩国初创公司 Otherworld 合作,建立一个元宇宙网络动漫中心,为用户提供基于 KakaoPage 热门 IP 的各种体验。 Solo Leveling 是此次合作的第一个 IP。这部网络动画将深入主人公Sung Jinwoo的生活,并与 NFT 进行整合。随后…

面试算法-122-翻转二叉树

题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 解 class Solution {public TreeNode invertTree(TreeNode root) {return dfs(…

SpringBoot项目启动成功,但是调用接口直接报NOT FOUND 404

问题描述 SpringBoot项目启动成功,但是调用接口直接报NOT FOUND 404 解决办法 启动类中ComponentScan(basePackages {“com.afclab”})中的扫包路径和项目路径不一样,导致扫不到Controller等组件,修改成和项目路径一样就可以解决&#xf…