Java入门学习Day04

news/2024/4/19 14:56:59/文章来源:https://blog.csdn.net/weixin_53197693/article/details/137186475

本篇文章主要介绍了:如何输入数据、字符串拼接、自增自减运算符、类型转换(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();//输出ageSystem.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);//十六进制}
}

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

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

相关文章

【Python BUG】ModuleNotFoundError: No module named ‘streamlit.cli‘

问题 streamlit做大模型前端demo,安装后不好使。 解决方案 参考: https://zhuanlan.zhihu.com/p/656164361 找到下面文件: 替换、修改内容: # from streamlit.cli import main from streamlit.web.cli import main原来是上边…

【HTML】注册页面制作 案例二

(大家好,今天我们将通过案例实战对之前学习过的HTML标签知识进行复习巩固,大家和我一起来吧,加油!💕) 案例复习 通过综合案例,主要复习: 表格标签,可以让内容…

力扣Lc26--- 1108. IP 地址无效化(java版)-2024年4月02日

1.题目描述 2.知识点 注1:首先,在Java中,字符类型应该使用单引号’,而不是双引号"。其次,修改字符数组中的元素应该使用单引号。 注2:String类的replace方法用于在字符串中替换指定的字符或字符序列。…

Java获取IP地址以及MAC地址(附Demo)

目录 前言1. IP及MAC2. 特定适配器 前言 需要获取客户端的IP地址以及MAC地址 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class test {public static void main(String[] args) {try {// 执行命令Process process…

158 Linux C++ 通讯架构实战13,epoll 原理和函数介绍,epoll_create,epoll_ctl ,epoll_wait

epoll技术简介 //(2.1)epoll概述 //(1)I/O多路复用:epoll就是一种典型的I/O多路复用技术:epoll技术的最大特点是支持高并发; //传统多路复用技术select,poll,在并发量达到1000-2000,性能就会明显下…

python爬取B站视频

参考:https://cloud.tencent.com/developer/article/1768680 参考的代码有点问题,请求头需要修改,上代码: import requests import re # 正则表达式 import pprint import json from moviepy.editor import AudioFileClip, Vid…

【热门话题】WebKit架构简介

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 WebKit架构简介一、引言二、WebKit概览1. 起源与发展2. 模块化设计 三、WebCore…

LabVIEW挖坑指南

一、挖坑指南 1.1、输出变量放在条件框内 错误写法: 现象:如果没进入对应的分支,输出为默认值 正常写法: 让每个分支输出的值都在预料之内。 1.2、统计耗时不准 错误写法 现象:统计出来的耗时是2000ms 正常写法&a…

PyQt qrc2py 使用PowerShell将qrc文件转为py文件并且将导入模块PyQt或PySide转换为qtpy模块开箱即用

前言 由于需要使用不同的qt环境(PySide,PyQt)所以写了这个脚本,使用找到的随便一个rcc命令去转换qrc文件,然后将导入模块换成qtpy这个通用库(支持pyside2-6,pyqt5-6),老版本的是Qt.py(支持pysi…

pygame--坦克大战(二)

加载敌方坦克 敌方坦克的方向是随机的,使用随机数生成。 初始化敌方坦克。 class EnemyTank(Tank):def __init__(self,left,top,speed):self.images {U: pygame.image.load(img/enemy1U.gif),D: pygame.image.load(img/enemy1D.gif),L: pygame.image.load(img/e…

搜维尔科技:SenseGlove Nova 允许以最简单的方式操作机器人并与物体交互

扩展 Robotics 和 QuarkXR 人机界面 XR 应用 Extend Robotics 利用扩展现实技术,让没有机器人专业知识的个人能够远程控制机器人。他们的 AMAS 解决方案使操作员能够不受地理限制地轻松控制机器人。 需要解决的挑战【搜维尔科技】 目前,操作机器人是一…

项目:USB键盘和鼠标的复合设备

我们的复合设备使用一个物理设备就可以完成多个功能。 使用复合设备同时完成USB键盘和鼠标功能,它的主要实现方式有两种, 第一个就是我们将多个设备描述符合并成一个,这个相对比较简单,我们只要根据相应的报告描述符处理数据就可…

OpenHarmony实战:轻量带屏解决方案之恒玄芯片移植案例

本文章基于恒玄科技 BES2600W 芯片的欧智通 Multi-modal V200Z-R 开发板,进行轻量带屏开发板的标准移植,开发了智能开关面板样例,同时实现了 ace_engine_lite、arkui_ui_lite、aafwk_lite、appexecfwk_lite、HDF 等部件基于 OpenHarmony Lite…

Python 与机器学习,在服务器使用过程中,常用的 Linux 命令包括哪些?

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 本博客旨在分享在实际开发过程中,开发者需要了解并熟练运用的 Linux 操作系统常用命令。Linux 作为一种操作系统,与 Windows 或 MacOS 并驾齐驱,尤其在服务器和开发环…

阿里云向量检索服务 | 全性能搜索方案

阿里云向量检索服务 | 全性能搜索方案 什么是向量检索服务拍照搜商品AI问答 基于向量检索服务与TextEmbedding实现语义搜索什么是Embedding开通灵积模型服务开通向量检索服务安装Python安装环境准备数据安装Git 通过 DashScope 生成 Embedding 向量通过 DashVector 构建检索&am…

c语言中的柔性数组

目录 1.柔性数组的特点 2.柔性数组的创建和简单使用 3.柔性数组的优势 何为柔性数组(Flexible Array) 柔性数组在C语言的 C99 标准中,引入的新特性。结构中的最后一个元素的大小允许是未知的数组,即为柔性数组。 struct S {in…

m2ts是什么文件格式?m2ts手机能播放吗?

大多数现代手机可以播放M2TS(MPEG-2 Transport Stream)格式的视频文件,但也取决于手机型号和操作系统。某些手机可能需要安装第三方播放器才能播放此格式的视频。如果您的手机无法直接播放M2TS文件,可以尝试使用视频转换工具将其转…

【Vue3源码学习】— CH2.7 Computed: Vue 3 计算属性深入解析

Computed: Vue 3 计算属性深入解析 1.计算属性的基本用法2. ComputedRefImpl 类深入解析JavaScript 中的 getter 函数 3. 计算属性的创建:computed 方法解析3.1 源码解析3.2 使用示例 4. 计算属性的工作原理5. 手动实现简化的计算属性6. 结语 在 Vue 3 的响应式系统…

golang 和java对比的优劣势

Golang(或称Go)和Java都是非常流行的编程语言,被广泛应用于各种领域的软件开发。尽管它们都是高级编程语言,但它们具有许多不同的特性和适用场景。本文将重点比较Golang和Java,探讨它们的优势和劣势。 性能方面&#…

Spark实战:词频统计

文章目录 一、Spark实战:词频统计(一)Scala版1、分步完成词频统计2、一步搞定词频统计 (二)Python版1、分步完成词频统计2、一步搞定词频统计 二、实战总结 一、Spark实战:词频统计 (一&#x…