【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…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
