【JAVA基础】数据类型,逻辑控制
❤️ Author: 老九
☕️ 个人博客:老九的CSDN博客
🙏 个人名言:不可控之事 乐观面对
😍 系列专栏:
文章目录
- 数据类型
- 整型变量 int
- 长整型变量 long
- 单精度浮点数 float
- 双精度浮点数 double
- 字符类型 char
- 字节类型 byte
- 短整型变量 short
- 布尔类型变量 boolean
- 字符串类型 String
- 逻辑控制
- 分支结构
- if语句
- switch语句
- 循环结构
- while循环
- break
- continue
- for循环
数据类型
整型变量 int
int num = 10;
System.out.println(num) ;
这里就是定义一个整型变量,变量名是 num 赋初值为 10。然后输出 num 的值
在 Java 当中 int 是 4 个字节,和操作系统没有关系,因为 Java 的运行是在 Java 虚拟机 JVM 当中运行的,所以类型的大小和操作系统没有关系。
在 Java 当中,可以直接求出某个类型的最大值和最小值。例如求 int 类型的最大和最小值,就可以用到 Java 的包装类 Integer :
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
因为 1 个字节是 8 个比特位。所以 4 个字节就是 32 个比特位。所以能表示的大小就是:最大是 2^31-1 最小是 -2^31 。
平时使用 int 类型的时候,一定要注意大小和范围,不然就会导致溢出,溢出就会使结果不准确。
长整型变量 long
长整型变量也是整型,不过表示的范围比整型更大。当整型表示的范围不够的时候,就可以使用长整型来表示。要注意的是,定义的时候要在数字的后面加上 L 。
语法格式:
long 变量名 = 初始值;
代码举例:
long a = 10L;
System.out.println(a);
Java 当中 Long 占 8 个字节,就是 64 个比特位。所以 long 的表示范围是: -2^63 到 2^63-1 。当然 long 类型也有对应的包装类 Long 。使用其包装类也可以求出对应的最大和最小值。
long a = Long.MAX_VALUE;
long b = Long.MIN_VALUE;
System.out.println(a);
System.out.println(b);
long 表示的范围比 int 大很多,所以需要很大的数的时候,就使用 long 。
单精度浮点数 float
在求小数的时候,如果对精度要求不高,就可以使用 float 。float 占 4 个字节,就是 32 个比特位,适用于对精度要求不高的场景。
使用的时候,也要在数字后面加上 F 来表示这是一个浮点数。代码示例:
float a = 1.0f;
System.out.println(a);
当然 float 也有对应的包装类:Float 。但是在项目当中使用浮点数的时候,能用 double 就用 double 因为 double 的精度更高。而且精度范围更大。下面我们来认识 double 。
双精度浮点数 double
双精度浮点数 double 用来表示小数,但是精度更高。
double a = 1.0;
System.out.println(a);
我们在使用除法求小数的时候,一定要将一个除数变为 double 类型,不然就会出现下面这样的情况:
int a = 1;
int b = 2;
System.out.println(a / b);
结果是 0 ,因为除的结果应该是 0.5 但因为是 int 类型,所以结果就变成了 0 。当我们要求得小数的时候,一定要让一个除数变成小数。
Java 的 double 类型精度很高,比如下面这个例子:
double num = 1.1;
System.out.println(num * num);
在我们的认识当中,结果应该是 1.21 但这里的结果却不一样。因为浮点数的内存布局和整数差别很大, 不能单纯的用 2^n 的形式表示数据范围。
字符类型 char
用单引号引起来的是表示字符,例如:
char ch = 'A';
System.out.println(ch);
在 Java 当中,用 Unicode 表示字符,因此一个字符占两个字节,这样就能表示更多的字符,包括中文。
字节类型 byte
byte 是 Java 当中新出来的类型,大小为一个字节,8 个比特位,所以表示的范围就是 -128 到 127 。语法格式:
byte value = 10;
System.out.println(value);
短整型变量 short
short 也是整型的一种,不过是两个字节,表示的范围更小了,范围是:-32768 到 +32767 。语法如下:
short value = 10;
System.out.println(value);
在项目当中使用到时候,一般不建议使用 short 因为表示的范围较小,不如直接使用 int 。
布尔类型变量 boolean
在 Java 当中 boolean 类型用来表示表达式的真假,真:true 、假:false 。表达式:
boolean value = true;
System.out.println(value);
要注意的是:
1.boolean 类型的变量只有两种取值, true 表示真, false 表示假.
2.Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
字符串类型 String
把一些字符合起来就变成了字符串,String 就是表示字符串的类型。语法:
String str = "Lockey";
String str1 = "qwer";
System.out.println(str+str1);
System.out.println(str+123);
逻辑控制
分支结构
if语句
判断一个数是奇数还是偶数
int num = 10;
if (num % 2 == 0) {System.out.println("num 是偶数");
} else {System.out.println("num 是奇数");
}
判定一年是不是闰年
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {
System.out.println(i + " 是闰年");
} else {
System.out.println(i + " 不是闰年");
}
注意:else 只与最近的 if 相匹配
switch语句
switch(整数|枚举|字符|字符串){case 内容1 : {内容满足时执行语句;[break;]}case 内容2 : {内容满足时执行语句;[break;]}...default:{内容都不满足时执行语句;[break;]}
}
int day = 7;
switch (day) {case 1:System.out.println("星期一");break;case 2:System.out.println("星期二");break;case 3:System.out.println("星期三");break;case 4:System.out.println("星期四");break;case 5:System.out.println("星期五");break;case 6:System.out.println("星期六");break;case 7:System.out.println("星期日");break;default:System.out.println("此数字不属于星期");break;
}
循环结构
while循环
求1~10的和
int n = 1;
int sum = 0;
while (n <= 10){sum += n;n++;
}
System.out.println(sum);
break
break 就是让循环提前结束。例如:找到 1 - 10 中第一个 3 的倍数。
int num = 1;
while (num <= 10) {if (num % 3 == 0) {System.out.println("找到了 3 的倍数 为:" + num);break;}num++;
}
continue
continue 的功能是跳过这次循环, 进入下次循环。就是这次循环当中 continue 下面的代码不执行,进入下一次循环。例如:找到 100 - 200 中所有 3 的倍数。
int num = 100;
while (num <= 200) { if (num % 3 != 0) { num++;continue; } System.out.println("找到了 3 的倍数, 为:" + num); num++;
}
for循环
int sum = 0;
for (int i = 1; i <= 100; i++) { sum += i;
}
System.out.println("sum = " + sum);
————————————————————————
♥♥♥码字不易,大家的支持就是我坚持下去的动力♥♥♥
版权声明:本文为CSDN博主「亚太地区百大最帅面孔第101名」的原创文章
相关文章:

【JAVA基础】数据类型,逻辑控制
❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录 数据类型整型变量 int长整型变量 long单精度浮点数 float双精度浮点数 double字符类型 char字节…...

计算机竞赛 基于图像识别的跌倒检测算法
前言 🔥 优质竞赛项目系列,今天要分享的是 基于图像识别的跌倒检测算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/…...

计算机竞赛 基于大数据的股票量化分析与股价预测系统
文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…...

input子系统
内核分三层 1、事件处理层 2、核心层 3、设备驱动层 当硬件按下,在设备驱动中触发中断,中断程序会将事件上报给核心层 核心层将事件给事件处理层,最后事件处理层控制app应用层的怎么操作将数据发送到用户空间...

mac 10.13.6安装后开发准备工作
git下载安装 xcode旧版安装搜索 brew国内源安装 brew国内源安装地址2 brew更换源 SwitchHosts github hosts nfts磁盘读写工具 更新ssl证书 证书下载 然后备份一下系统原来的pem文件 cp /etc/ssl/cert.pem /etc/ssl/cert.bak.pem 之后将新下载的pem文件,拷贝到/etc…...

C++ using关键字
C using关键字 using关键字用来简化代码和提高可读性。 using关键字提供了一种灵活的方式,可以在C中导入命名空间和定义别名。 1. 导入命名空间 using namespace 可以将一个命名空间中的所有名称导入到当前作用域中,从而可以直接使用该命名空间中的所…...

让你对es有一个初步的了解
首先es在海量数据的搜索能力非常好,es你可以把他看成一个搜索引擎数据库,他是个非关系型数据库。他的语法有很大的不同,好像都是json风格的。还有一点需要说的就是es 的数据是存在硬盘上的, 我们先来看一下mysql和es的区别吧。一…...

编绎和优化,脚本代码小米加步枪赶超英法美
编程达人:冰冻牡蛎 测试,总结》》 今有空,继续看了一下竹笋大师几天前提出的“使用for循环查找10亿内可被7整除的数的个数”的题目(相关文件:群文件 10亿以内多少个数字可以整除7.7z ) 1. 论输出的exe大小…...

数字电路-二进制学习
什么是二进制? 数字电路 中 只有 高电平 和低电平 就是 1 和0 进位规则是“逢二进一”,借位规则是“借一当二”。 二进制、八进制 、十进制、十六进制 二进制 有两个数来表示 : 0、1 八进制 有8个数来表示 : 0、1、2、3、4、…...

运维Shell脚本小试牛刀(一)
运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 一: Shell中循环剖析 for 循环....... #!/bin/bash - # # # # FILE: countloop.sh # USAGE: ./countloop.sh # DESCRIPTION: # OPTIONS: ------- # …...

screen命令,可以断开服务器连接,依旧能运行你的程序了
可以参考博客1:https://blog.csdn.net/nima_zhang_b/article/details/82797928 可以参考博客2:https://blog.csdn.net/herocheney/article/details/130984403 Linux中的screen是一个命令行工具,可以让用户在同一个终端会话中创建多个虚拟终端。它非常有…...

【ArcGIS Pro二次开发】(63):批量更改字段别名
在我工作中遇到的大多数图斑,字段名称一般是英文,字段别名是中文,使用起来是比较方便的。 但有时候也会遇到一些不一样的情况,不知是经过了怎样的处理,图斑的字段别名被修改成了和字段名称一样的英文,这样…...

redis全套参数配置及降级解决方案
文章目录 redis高可用核心参数配置1.Lettuce2.Jedis3.Redisson4.其他客户端 redis降级场景简介一、业务背景二、设计方案三、实现方案四、总结 redis高可用核心参数配置 1.Lettuce 提示:该客户端无主动探活机制,只能依赖于 OS KeepaAlive 机制…...

AMD即将上市大量中端显卡,为新显卡支付过高价格的日子可能结束
AMD在本周末(8月25日)的德国Gamescom活动中展示了两款新显卡和一些新的升级技术,这些新GPU的定价将与英伟达的GeForce RTX 4000卡竞争。 这是一件大事,因为新的Radeon RX 7700 XT和7800 XT卡占据了AMD Radeon RX 7000系列产品线…...

go学习一之go的初体验
go语言学习笔记 一、golang初体验: 1.简单体验案例: package main{ //把这个test.go归属到main import "fmt" //引入一个包 func main(){//输出hellofmt.Println("hello world")} }2.从案例学到的知识点: (1) go文件的后缀是.…...

智能制造产业链数字化转型、数字化互联工厂建设方案PPT
本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除,更多浏览公众号:智慧方案文库 篇幅有限,无法完全展示,喜欢资料可转发评论,私信了解更多信息。...

【安卓】拿注册码的两种方式
【安卓】拿注册码的两种方式 文章仅用于学习交流,请勿利用文章中的技术对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。首发吾爱:https://www.52pojie.cn/thread-1826802-1-1.html言归…...

【C++】—— 异常处理
前言: 本期,我将给大家讲解的是有关 异常处理 的相关知识! 目录 (一)C语言传统的处理错误的方式 (二)C异常概念 (三)异常的使用 1、异常的抛出和捕获 1️⃣ 异常的…...

cookie和session是什么,区别是什么?
cookie HTTP 协议中的 Cookie 包括 Web Cookie 和浏览器 Cookie,它是服务器发送到 Web 浏览器的⼀ ⼩块数据。服务器发送到浏览器的 Cookie,浏览器会进⾏存储,并与下⼀个请求⼀起发送到服务器。通 常,它⽤于判断两个请求是否来⾃…...

linux的mmc子系统与块设备关联
1.前言 本文主要block组件的主要流程,在介绍的过程中,将详细说明和block相关的流程,涉及到其它组件的详细流程再在相关文章中说明。 2.主要数据结构和API 2.1 struct mmc_card Elemete Namestruct mmc_cardPathinclude/linux/mmc/card.hRe…...

【Spring MVC】
目录 🍮1 什么是 MVC ? 🎁2 Spring MVC 的连接 🍘2.1 RequestMapping 实现 POST 和 GET 请求 🥣2.2 GetMapping 只支持 GET 请求 🫖2.3 PostMapping 只支持 POST 请求 🍬3 Spring MVC 获取参数的…...

【ES】笔记-生成器函数与调用
function* function* 这种声明方式 (function关键字后跟一个星号)会定义一个生成器函数 (generator function),它返回一个 Generator 对象。 function * gen(){console.log("heloo generator")}如何调用呢?先看下里面的内容 返回…...

将Spring Boot与Redis集成
一、引言 1、SpringBoot: Spring Boot是一个用于创建独立且可执行的Spring应用程序的框架。它简化了基于Spring框架的应用程序的开发过程,并提供了一种快速和简便的方式来构建Java应用程序。 Spring Boot提供了自动配置机制,通过引入适当的…...

vue echarts
安装 npm i -D echarts使用 <script setup lang"ts"> import * as echarts from echarts import { onMounted } from vueonMounted(() > {interface DataItem {value: [string, number]}let myChart echarts.init(document.getElementById(main))let dat…...

idea上利用JDBC连接MySQL数据库(8.1.0版)
1.了解jdbc概念 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种 关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建 更高级的工具和接口&#…...

【100天精通python】Day47:python网络编程_Web编程基础
目录 1 网络编程与web编程 1.1 网络编程 1.2 web编程 2 Web开发概述 3 Web开发基础 3.1 HTTP协议 3.2 Web服务器 3.3 前端基础 3.4 静态服务器 3.5 前后端交互的基本原理 4 WSGI接口 4.1 CGI 简介 4.2 WSGI 简介 4.3 定义 WSGI 接口 4.4 运行 WSGI 服务 4.5…...

DockerCompose介绍与使用
DockerCompose介绍与使用 1、DockerCompose介绍 DockerCompose用于定义和运行多容器 Docker 应用程序的工具。 通过 Compose可以使用 YAML 文件来配置应用程序需要的所有服务。一个使用Docker容器的应用,通常由多个容器组成,使用Docker Compose不再需要…...

Windows Qt 5.12.10下载与安装
Qt 入门实战教程(目录) C自学精简实践教程 目录(必读) 1 Qt5.12.10下载 qt-opensource-windows-x86-5.12.10.exe 官方离线安装包 Download Source Package Offline Installers | Qt 下载巨慢(也可能很快) 只能下载到最新的&…...

RustDesk最新版本编译与打包
本文环境 主要参考: https://www.yuque.com/shikangsi/efy0cp/wei3g1?https://blog.csdn.net/hualuohuakai2014/article/details/121605631 问题 flutter 生成 bridge 文件。 先安装工具,再生成ffi文件。 PS C:\Users\Administrator> cargo ins…...

Gin 框架入门实战系列(一)
GIN介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错 借助框架开发,不仅可以省去很多常用的封装带来的时间,…...