【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…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
