【Java 学习】数据类型、变量、运算符、条件控制语句
Java基础语法
- 1. 打印 Hello World !
- 2. 变量类和数据类型
- 2.1 什么是变量?什么是数据类型?
- 2.2 常用的数据类型
- 2.3 使用变量
- 2.4 String 类数据类型
- 2.4.1 String 类基本概念
- 2.4.2 String 类的使用
- 3. 运算符
- 3.1 算数运算符
- 3.2 关系运算符
- 3.3 逻辑运算符
- 3.4 赋值运算符
- 4. 条件控制语句
- 4.1 if--else
- 4.2 for
- 4.3 while--break--continue
- 4.5 switch--case
1. 打印 Hello World !
-
使用
Idea创建模块。Java_study 是创建的项目。

-
创建
java文件。

3.创建成功的java文件。

标记的HelloWorld是类名,类名和文件名必须相同 -
编写
main函数
main函数是 Java 程序的入口点。当 Java 应用程序开始运行时,JVM(Java Virtual Machine)会查找名为main的静态方法,并从此处开始执行程序。

String[] args:表示该方法接受一个字符串数组作为参数,通常用于接收命令行参数。 -
调用
println函数打印出HelloWorld !

2. 变量类和数据类型
2.1 什么是变量?什么是数据类型?
变量是用来存储数据的标识符。
变量好比是收纳盒,如果把所有的物品都放进一个收纳盒这就导致很多问题,那么就需要对收纳盒进行分类。
对变量进行分类的是数据类型,数据类型定义变量能存储什么类别的数据。
如图:

2.2 常用的数据类型
整数类型:
| 数据类型 | 字节数 | 取值范围 |
|---|---|---|
| byte | 1 | -128 到 127 |
| short | 2 | -32768 到 32767 |
| int | 4 | -231 到 231-1 |
| long | 8 | -263 到 263-1 |
浮点类型:
| 数据类型 | 说明 |
|---|---|
| float | 4字节,单精度 |
| double | 8字节,双精度 |
字符类型:
| 数据类型 | 说明 |
|---|---|
| char | 占用2个字节,表示一个Unicode字符 |
布尔类型:
| 数据类型 | 说明 |
|---|---|
| boolean | 表示真(true)或假(false) |
2.3 使用变量
变量的命名规则:
- 标识符:变量名必须是合法的 Java 标识符,不能是 Java 关键字或保留字。
- 字母数字组合:变量名可以由字母、数字、下划线 _ 和美元符号 $ 组成,但不能以数字开头。
- 大小写敏感:Java 是大小写敏感的,age 和 Age 是两个不同的变量。
- 有意义的名称:变量名应具有描述性,能够清楚地表达其用途。
创建变量:
//定义一个整型变量
int n = 1;// 定义一个浮点数,浮点数要加上f
float f = 1.1f;//定义一个doublef浮点数
double d = 6.6;//定义一个字符,字符要用单引号''括起来
char c = 'a';
打印变量:
//打印变量 println打印后换行,print打印后不换行
System.out.println("int整数:" + n);
System.out.println("float单精准度浮点数:" + f);
System.out.println("double双精准度浮点数:" + d );
System.out.print("char字符:" + c);
2.4 String 类数据类型
2.4.1 String 类基本概念
String 类是一个非常重要的类,用于表示文本字符串。
基本概念:
- 不可变性:String 对象是不可变的,这意味着一旦创建了一个 String 对象,其内容就不能被修改。每次对 String 进行修改操作时,都会创建一个新的 String 对象。
- 存储方式:String 对象在内存中的存储方式是通过一个字符数组实现的,通常是一个 char[] 数组。
2.4.2 String 类的使用
//创建字符串对象String str1 = "Hello";String str2 = "World";//字符串拼接
String str3 = str1 + str2;//字符串比较
boolean b = str1.equals(str2);//字符串长度int len = str1.length();//字符串转大写
String str4 = str1.toUpperCase();//字符串转小写
String str5 = str1.toLowerCase();//字符串截取,返回的是从1到3的字符串
String str6 = str1.substring(1,3);//查找字符串,返回的是第一个l的位置
int index = str1.indexOf("llo");// 获取字符串中指定位置的字符
char ch = str1.charAt(1);//字符串替换
String str7 = str1.replace("H","h");//字符串分割
String[] str8 = str1.split("l");//字符串格式化
String str9 = String.format("我的名字叫%s,今年%d岁。", "小明", 18);
3. 运算符
3.1 算数运算符
算数运算符:
| 运算符 | 描述 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| % | 取模(求余数) |
示例:
int a = 10;
int b = 3;int sum = a + b; // 13
int difference = a - b; // 7
int product = a * b; // 30
int quotient = a / b; // 3
int remainder = a % b; // 1
3.2 关系运算符
关系运算符:
| 运算符 | 描述 |
|---|---|
| == | 等于 |
| != | 不等于 |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
示例:
int x = 5;
int y = 10;boolean isEqual = (x == y); // false
boolean isNotEqual = (x != y); // true
boolean isGreater = (x > y); // false
boolean isLess = (x < y); // true
3.3 逻辑运算符
逻辑运算符:
| 运算符 | 描述 |
|---|---|
| && | 逻辑与 |
| || | 逻辑或 |
| ! | 逻辑非 |
示例:
boolean condition1 = true;
boolean condition2 = false;// && 两个都为真结果才能为真
boolean result1 = (condition1 && condition2); // false// || 其中有一个为真结果就为真
boolean result2 = (condition1 || condition2); // true// !, !真 -->假, !假 -->真
boolean result3 = !condition1; // false
3.4 赋值运算符
赋值运算符:
| 运算符 | 描述 |
|---|---|
| = | 简单赋值 |
| += | 加法赋值 |
| -= | 减法赋值 |
| *= | 乘法赋值 |
| /= | 除法赋值 |
| %= | 取模赋值 |
示例:
int num = 10;num += 5; // num = num + 5; num = 15
num -= 3; // num = num - 3; num = 12
num *= 2; // num = num * 2; num = 24
num /= 4; // num = num / 4; num = 6
num %= 2; // num = num % 2; num = 0
4. 条件控制语句
4.1 if–else
//成绩
int n = 99;// 如果小于60 判断为不及格
if(n < 60){System.out.println("不及格");
}else if(n < 70){ //否则,如果小于70,判断为CSystem.out.println("D");
}else if(n < 80){System.out.println("C");
}else if(n < 90){System.out.println("B");
}else{ //否则,判断为ASystem.out.println("A");
}
4.2 for
for(int i=0; i < 6 ; i++ ){System.out.println(i);
}
4.3 while–break–continue
while(n < 10){if(n ==6){System.out.println("终止程序");break;}if(n == 3){System.out.println("省略");n += 1;continue;}System.out.println(n);n++;
}
4.5 switch–case
int day = 3; // 你可以更改这个值来测试不同的情况switch (day) {case 1:System.out.println("Monday");break;case 2:System.out.println("Tuesday");break;case 3:System.out.println("Wednesday");break;case 4:System.out.println("Thursday");break;case 5:System.out.println("Friday");break;case 6:System.out.println("Saturday");break;case 7:System.out.println("Sunday");break;default:System.out.println("Invalid day");break;}
相关文章:
【Java 学习】数据类型、变量、运算符、条件控制语句
Java基础语法 1. 打印 Hello World !2. 变量类和数据类型2.1 什么是变量?什么是数据类型?2.2 常用的数据类型2.3 使用变量2.4 String 类数据类型2.4.1 String 类基本概念2.4.2 String 类的使用 3. 运算符3.1 算数运算符3.2 关系运算符3.3 逻辑运算符3.4 …...
【软考】系统架构设计师-数据库设计基础
数据库核心考点 三级模式-两级映射 外模式--视图 概念模式--表(模式、基本表) 内模式--物理文件 数据库设计 概念结构设计:属性冲突、命名冲突、结构冲突 逻辑结构设计:关系模式(层次模型、网络模型)…...
【Jmeter相关】
Jmeter 可以作为接口测试问题,也会涉及到性能相关的问题 一、JMeter中用户定义的变量(User Defined Variables)和用户参 数(User Parameters)的区别是什么? 在JMeter中都是用于定义和存储测试数据的方法,但它们有一…...
拍立淘按图搜索API接口系列,返回示例图参考
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解…...
OSG开发笔记(三十二):深入理解相机视口、制作支持与主视图同步变换旋转的相机HUD
若该文为原创文章,未经允许不得转载 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/143852695 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 长沙红胖子Qt…...
2024RISC-V中国峰会 演讲幻灯片和视频回放均已公开
目录 一、幻灯片地址: 二、演讲视频: 一、幻灯片地址: RVSC2024/slides at main cnrv/RVSC2024 GitHub 二、演讲视频: RISC-V国际基金会的个人空间-RISC-V国际基金会个人主页-哔哩哔哩视频...
河道无人机雷达测流监测系统由哪几部分组成?
在现代水利管理中,河道无人机雷达监测系统正逐渐成为一种重要的工具,为河道的安全和管理提供了强大的技术支持。那么,这个先进的监测系统究竟由哪几部分组成呢? 河道无人机雷达监测系统工作原理 雷达传感器通过发射电磁波或激光束…...
28.<Spring博客系统⑤(部署的整个过程(CentOS))>
引入依赖 Spring-boot-maven-plugin 用maven进行打包的时候必须用到这个插件。看看自己pom.xml中有没有这个插件 并且看看配置正确不正常。 注:我们这个项目打的jar包在30MB左右。 <plugin><groupId>org.springframework.boot</groupId><artif…...
OpenAI震撼发布:桌面版ChatGPT,Windows macOS双平台AI编程体验!
【雪球导读】 「OpenAI推出ChatGPT桌面端」 OpenAI重磅推出ChatGPT桌面端,全面支持Windows和macOS系统!这款新工具为用户在日常生活和工作中提供了前所未有的无缝交互体验。对于那些依赖桌面端进行开发工作的专业人士来说,这一更新带来了令人…...
香港站群服务器有助于提升网站在搜索引擎中的排名
拥有253个IP的服务器通常被称为多IP站群服务器。这种服务器架构主要用于集中管理多个网站,允许网站管理员通过一个后台管理系统来高效管理和更新这些网站。 一、主要特点 集中管理:多IP站群服务器通过统一的后台管理系统,可以实现对多个网站…...
YOLOX:使用自己数据集训练模型及改进--1.YOLOX环境搭建及运行
YOLOX环境搭建及运行 YOLO X网络架构是继YOLO v5后,由旷视科技于2021年提出的新一代anthor-free模型,研究者将网络分为输入端、Backbone、PAFPN及Predication,并在Predication提出Decoupled Head、Anchor-free和Multi positives(后文会详细介绍)。 本篇文章介绍如何通过官…...
PyTorch使用教程-深度学习框架
PyTorch使用教程-深度学习框架 1. PyTorch简介 1.1-什么是PyTorch PyTorch是一个广泛使用的开源机器学习框架,特别适合深度学习的应用。它以其动态计算图而闻名,允许在运行时修改模型,使得实验和调试更加灵活。PyTorch提供了强大的GPU加…...
TON商城与Telegram App:生态融合与去中心化未来的精彩碰撞
随着区块链技术的快速发展,去中心化应用(DApp)逐渐成为了数字生态的重要组成部分。而Telegram作为全球领先的即时通讯应用,不仅仅满足于传统的社交功能,更在区块链领域大胆探索,推出了基于其去中心化网络的…...
“乐鑫组件注册表”简介
当启动一个新的开发项目时,开发者们通常会利用库和驱动程序等现有的代码资源。这种做法不仅节省时间,还简化了项目的维护工作。本文将深入探讨乐鑫组件注册表的概念及其核心理念,旨在指导您高效地使用和贡献组件。 概念解析 ESP-IDF 的架构…...
凹凸/高度贴图、法线贴图、视差贴图、置换贴图异同
参考: 凹凸贴图、法线贴图、置换贴图-CSDN博客 视差贴图 - LearnOpenGL CN 1,Learn about Parallax(视差贴图) - 知乎 “视差贴图”的工作流程及原理(OpenGL) - 哔哩哔哩 法线与置换贴图原理讲解以及烘焙制作! - 知乎 1. Bump Mapping 凹凸贴图 BumpMap…...
ZSTD 内存泄漏问题
优质博文:IT-BLOG-CN Zstandard(简称zstd)是一种无损压缩算法,由Facebook开发并开源。它旨在提供高压缩比和高解压速度的平衡,适用于多种数据压缩需求。 特点 【1】高压缩比: zstd能够在保持较高压缩比的…...
c# npoi操作excel
今天在弄使用npoi对excel表的操作,遇到个问题就是使用workbook通过filestream打开后,让后workbook.write(filestream)居然报文件流关闭了,无法写入,弄了好久都不行,最后通过写2个excel文件来解决,现在看来我…...
十二:HTTP错误响应码:理解与应对
在现代网络技术中,HTTP(超文本传输协议)是浏览器与服务器之间沟通的基础。每当我们访问网站或发送请求,HTTP会返回一个响应码,这些代码不仅可以表示成功,还可以指示各种问题。本文将以HTTP错误响应码为主题,探讨其含义、常见类型及应对措施。 1. 400 Bad Request - 请求…...
Rust学习(六):函数式编程
Rust学习(六):函数式编程 我们在前一篇博客中已经介绍了如何通过trait和impl实现Rust的面向对象编程,但是Rust本身实际上并不提倡通过类来解决问题。Rust推崇的是函数式编程,强调将函数作为参数值或者其他函数的返回值…...
使用 Vue 和 Create-Vue 构建工程化前端项目
目录 前言1. 工程化的意义与 Vue 的生态支持2. 搭建 Vue 工程化项目2.1 环境准备2.2 使用 create-vue 创建项目2.2.1 初始化项目2.2.2 安装依赖2.2.3 本地运行 3. Vue 项目的目录结构解析4. Vue 开发流程详解4.1 项目入口与根组件4.1.1 main.js 的作用4.1.2 App.vue 的结构 4.2…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
