当前位置: 首页 > news >正文

JAVA学习记录4

文章为个人学习记录,仅供参考,如有错误请指出。
 

上期说到IDEA的安装,具体的使用方法就不记录了。这篇主要记录一些基础语法。
 

类型转换-自动类型转换

类型范围小的变量,可以直接赋值给类型范围大的变量。

在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。

由小到大:byte–>short / char–>int–>long–>float–>double

注意!表达式的最终结果类型由表达式中的最高类型决定;在表达式中,byte、short、char是直接转换成int类型参与运算的。
 

类型转换-强制类型转换

类型范围大的变量,不可以直接赋值给类型范围小的变量,会报错,需要强制类型转换。

格式:数据类型 变量2 = (数据类型)变量1、数据

注意!强制类型转换可能会造成数据(丢失)溢出,浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
 

基本的算术运算符
符号作用说明
+相加
-相减
*与“×”相同,相乘
/与“÷”相同,相除,注意!在Java中两个整数相除结果还是整数
%取余获取两个数据做除法之后的余数

“+”符号在Java中的特殊用途:

“+”符号在有些情况下可以做连接符。

“+”符号与字符串运算时是用作连接符的,其结果依然是一个字符串。

注意!如何识别“+”符号是做运算,还是做连接:能算则算,不能算就连接在一起。

如,“abc” + 5 --> “abc5”;5 + 5 --> “10”。
 

自增自减运算符
符号作用
自增++放在某个变量前面或者后面,对变量自身的值加1
自减–放在某个变量前面或者后面,对变量自身的值减1

注意!++、–只能操作变量,不能操作字面量,如a++(✓),2++(×)。
 

赋值运算符

基本赋值运算符

就是“=”,从右边往左看。

扩展赋值运算符

符号用法作用底层代码形式
+=a+=b加后赋值a=(a的类型)(a+b)
-=a-=b减后赋值a=(a的类型)(a-b)
*=a*=b乘后赋值a=(a的类型)(a*b)
/=a/=b除后赋值a=(a的类型)(a/b)
%=a%=b取余后赋值a=(a的类型)(a%b)

注意!扩展的赋值运算符隐含了强制类型转换。
 

关系运算符、三元运算符
符号例子作用结果
>a>b判断a是否大于b成立返回true,不成立返回false
>=a>=b判断a是否大于或者等于b成立返回true,不成立返回false
<a<b判断a是否小于b成立返回true,不成立返回false
<=a<=b判断a是否小雨或者等于b成立返回true,不成立返回false
==a==b判断a是否等于b成立返回true,不成立返回false
!=a!=b判断a是否不等于b成立返回true,不成立返回false

 

逻辑运算符

把多个条件放在一起运算,最终返回布尔类型的值:true、false。

符号名称例子运算逻辑
&逻辑与2>1&3>2多个条件必须都是true,结果才是true;有一个是false结果就是false
逻辑或2>1|3<5
!逻辑非!(2>1)取反,!truefalse、!falsetrue
^逻辑亦或2>1^3>1前后条件的结果相同,就直接返回false;前后条件的结果不同,才返回true
符号名称例子运算逻辑
&&短路与2>10&&3>2判断结果与“&”一样,过程不同:左边为false,右边则不执行
|短路或2>1|

注意!在Java中,“&”、“|”:无论左边是false还是true,右边都要执行。由于“&&、||”运算效率更高,在开发中用的更多。
 

switch分支结构

通过比较值是否相等,来决定执行哪条分支。

switch分支的执行流程:

  1. 先执行表达式的值,再拿这个值去与case后的值进行匹配。

  2. 在哪个case后的值匹配为true就执行哪个case块的代码,遇到break就跳出switch分支。

  3. 如果全部case后的值与之匹配都是false,则执行default块的代码。

if、switch的比较:各自适合什么业务场景?

  1. if在功能上远远强大于switch。

  2. 当前条件是区间的时候,建议使用if分支结构来实现。

  3. 当条件是与一个一个的值比较的时候,建议用switch更合适(格式良好,性能较好,代码优雅)。

注意!

  1. 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。

  2. case给出的值不允许重复,且只能是字面量,不能是变量。如case 1(✓),case a(×)。

  3. 正常使用switch的时候,不要忘记写break,否则会出现穿透现象。
     

break,continue

break:跳出并结束当前所在循环的执行。

continue:用于跳出当前循环的当次执行,直接进入循环的下一次执行。

注意!

break:只能用于结束所在循环或者结束所在switch分支的执行。

continue:只能在循环中进行使用。
 

死循环

可以一直执行下去的一种循环,如果没有干预不会停下来。通常用在服务器程序中。

写法:

for(;;){System.out.println("Hello World1");
}while(true){System.out.println("Hello World2");
}//经典写法do{System.out.println("Hello World3");
}while(true);

相关文章:

JAVA学习记录4

文章为个人学习记录&#xff0c;仅供参考&#xff0c;如有错误请指出。 上期说到IDEA的安装&#xff0c;具体的使用方法就不记录了。这篇主要记录一些基础语法。 类型转换-自动类型转换 类型范围小的变量&#xff0c;可以直接赋值给类型范围大的变量。 在表达式中&…...

手机网络性能测试仪器介绍

手机网络性能测试仪器是用于检测和评估手机网络性能的精密设备。这些仪器通常具备多种测试功能&#xff0c;以确保手机在不同网络环境下的表现都能得到准确评估。以下是对手机网络性能测试仪器的详细介绍&#xff1a; 一、主要类型 手机综合测试仪&#xff1a;如R&SCMU200…...

vue3+ts watch 整理

watch() 一共可以接受三个参数&#xff0c;侦听数据源、回调函数和配置选项 作用&#xff1a;监视数据的变化&#xff08;和Vue2中的watch作用一致&#xff09; 特点&#xff1a;Vue3中的watch只能监视以下四种数据&#xff1a; ref定义的数据。 reactive定义的数据。 函数返…...

【Elasticsearch入门到落地】6、索引库的操作

接上篇《5、安装IK分词器》 上一篇我们进行了IK分词器的安装与测试&#xff0c;本篇我们来学习ElasticSearch的索引库的操作&#xff0c;学习mapping映射属性以及CRUD操作。 一、前情回顾 我们在前几篇学习了ElasticSearch的基本概念&#xff0c;并动手搭建了ElasticSearch环…...

Java TCP可靠传输(1)

TCP 可靠传输 一. 确认应答 由发送方填充&#xff0c;再由接收方在序号的基础上1&#xff0c;填充到确认序号中&#xff0c;来表示已经接收到前面发送的&#xff0c;表明下一个从哪个位置发送。 二. 超时重传 数据在网络上传输时会经过很多网络设备&#xff0c;如果其中一个…...

ipad和macbook同步zotero文献附件失败的解决办法

背景&#xff1a;我所有的文献及其附件pdf都是在台式机&#xff08;windows系统&#xff09;&#xff0c;想要把这些文献同步到云上&#xff0c;然后再从云上同步到平板和其他笔记本电脑比如macbook。文献同步虽已成功&#xff0c;但文献附件都无法打开。 平板报错如下&#xf…...

linux-ubuntu学习笔记碎记

~指/home/user_name这个目录 查看软件安装目录&#xff1a;whereis vim 查看当前路径&#xff1a;pwd 终端中键入ctrls会挂起终端&#xff0c;即终端不响应键鼠&#xff1b;ctrlq可以恢复。 和虚拟机开启共享文件夹互传文件 点击桌面&#xff0c;按ctrlaltt&#xff0c;开…...

RV1126+FFMPEG推流项目(11)编码音视频数据 + FFMPEG时间戳处理

本节介绍本章节主要讲解的是push_server_thread线程的具体处理流程&#xff0c; push_server_thread这个线程的主要功能是通过时间戳比较&#xff0c;来处理音频、视频的数据并最终推流到SRT、RTMP、UDP、RTSP服务器 push_server_thread&#xff1a;流程如下 上图&#xff0c;…...

人工智能的出现,给生命科学领域的研究带来全新的视角|行业前沿·25-01-22

小罗碎碎念 今天和大家分享一份白皮书&#xff0c;系统总结并陈述人工智能在生命科学领域的应用。 人工智能在生命科学领域的应用&#xff0c;具体包括——单细胞转录组、疾病诊疗、医疗文本处理、RNA结构预测等多个方面&#xff0c;通过这份报告&#xff0c;我们可以详细了解相…...

python注释格式总结

三个双引号的用于文件&#xff0c;类&#xff0c;函数注释。 没有统一的规定&#xff0c;以下是比较清晰的写法。 文件注释&#xff08;文件顶部&#xff09;&#xff1a;文件用途空行作者信息&#xff08;每行一个键:值&#xff09; 类注释&#xff08;类名下行&#xff09…...

Django实现数据库的表间三种关系

Django实现数据库的表间三种关系 1. 一对多&#xff08;One-to-Many&#xff09;关系示例&#xff1a;关系说明&#xff1a;查询示例&#xff1a; 2. 一对一&#xff08;One-to-One&#xff09;关系示例&#xff1a;关系说明&#xff1a;查询示例&#xff1a; 3. 多对多&#x…...

C++蓝桥真题讲解

本篇文章和大家一起来试试一些简单的蓝桥真题 注意&#xff1a;本篇文章将全程使用devc和蓝桥官网&#xff0c;如果有小伙伴找不到devc安装包的可以本篇文章中下载。 赛前必知点 1.正式比赛时&#xff0c;先从蓝桥官网下载题目文档&#xff0c;然后用devc进行编译&#xff0c…...

【21】Word:德国旅游业务❗

目录 题目 NO1.2.3 NO4 NO5.6 NO7 NO8.9.10.11 题目 NO1.2.3 F12&#xff1a;另存为布局→页面设置→页边距&#xff1a;上下左右选中“德国主要城市”→开始→字体对话框→字体/字号→文本效果&#xff1a;段落对话框→对齐方式/字符间距/段落间距 NO4 布局→表对话框…...

如何分辨ddos攻击和cc攻击?

DDoS&#xff08;分布式拒绝服务&#xff09;攻击和 CC&#xff08;Challenge Collapsar&#xff09;攻击都属于网络攻击手段&#xff0c;主要通过消耗目标服务器资源使其无法正常提供服务&#xff0c;但它们在攻击原理、攻击特征等方面存在区别&#xff1a; 攻击原理 DDoS 攻…...

enum EPOLL_EVENTS详解

enum EPOLL_EVENTS 是 Linux 中 epoll 机制的核心定义之一&#xff0c;它定义了 epoll 支持的所有事件类型。每个事件类型对应一个唯一的位掩码&#xff08;bitmask&#xff09;&#xff0c;通过按位或&#xff08;|&#xff09;可以组合多个事件类型&#xff0c;通过按位与&am…...

阿里前端开发规范

文章目录 1. 为什么前端写代码要规范&#xff1f;一、代码规范的必要性二、 规范带来的好处 2. 资源一、推荐 1. 为什么前端写代码要规范&#xff1f; 一、代码规范的必要性 可维护性 统一的代码风格便于理解和修改减少代码维护成本降低项目交接难度 团队协作 提高团队开发效…...

从函数式编程到响应式编程:现代开发中的范式转变

引言 随着软件开发领域的不断进化&#xff0c;编程范式也在经历着一场又一场的变革。从面向过程到面向对象&#xff0c;再到近年来流行的函数式编程和响应式编程&#xff0c;开发者正逐步适应不同的编程思想来解决现代软件开发中的复杂问题。本文将带你了解函数式编程和响应式编…...

Django学习笔记(启动项目)-03

Django学习笔记(启动项目)-03 1、在urls文件中配置一个路由url 2、在views文件中创建视图函数 3、启动项目测试结果 # 输入项目启动命令 python manage.py runserver4、创建HTML模版和静态文件 1、在templates文件夹中创建一个html 2、创建url路由与视图函数 3、测试效果 4、…...

量变引起质变

量变引起质变&#xff0c;这个是最本质的规律&#xff0c;重复进行一件事情&#xff0c;这件事情就会越来越完善&#xff0c;越来越完美&#xff0c;哪怕是菜鸟&#xff0c;重复多了就是大佬。 我从说话结结巴巴&#xff0c;到说话流畅&#xff0c;只是用了15天直播写代码&…...

NewStar CTF week1 web wp

谢谢皮蛋 做这题之前需要先去学习一些数据库的知识 1 order by 2 1可以理解为输入的id&#xff0c;是一个占位符&#xff0c;按第二列排序用来测试列数&#xff0c;如果没有两列则会报错-1 union select 1,2 -1同样是占位符&#xff0c;union的作用是将注入语句合并到原始语句…...

癫痫手术精准定位:基于脑电信号昼夜节律与多生物标志物的机器学习分析框架

1. 项目概述&#xff1a;当机器学习遇见脑电信号&#xff0c;如何让癫痫手术更精准&#xff1f;作为一名长期耕耘在生物医学信号处理与机器学习交叉领域的工程师&#xff0c;我常常思考如何将算法模型从实验室的“玩具”变成临床医生手中可靠的“手术刀”。癫痫&#xff0c;这个…...

top50 BF16算力(TFLOPS) 显卡排行榜 天梯图

排名显卡型号BF16算力(TFLOPS)售价(元)单TFLOPS价格(元)1B200(SXM)45002200000488.892H200(SXM)19801200000606.063MI300X1307750000573.834H100 SXM519501100000564.105RTX PRO 6000 Blackwell1150780000678.266H100 PCIe 80GB1560850000544.877RTX 50906803400050.008A100 80…...

新手村任务:成为一个架构师需要哪些装备?

新手村任务:成为一个架构师需要哪些装备? 一、前言 如果你刚入行不久,想成为一名架构师,那这篇文章就是为你写的。 我们把成为架构师比作一个RPG游戏,你是主角,需要收集各种装备、刷经验、升级技能。 新手村的第一个任务就是:了解你需要哪些装备。 二、架构师技能树…...

WPF虚拟桌宠组件:可嵌入、高性能、工程化UI生命体

1. 这不是“桌面宠物”&#xff0c;而是一个可嵌入的WPF UI组件化生命体你可能在Windows XP时代见过那只晃着尾巴、偶尔打哈欠的3D小猫&#xff0c;也可能在Win10系统托盘里点开过一个会眨眼的像素狐狸——但那些是独立进程、是系统级小工具、是“看一眼就关掉”的轻量娱乐。而…...

METSO A413248自动化系统

METSO A413248 自动化系统模块产品特点&#xff1a; 品牌归属&#xff1a;芬兰METSO&#xff08;美卓&#xff09;工业自动化系统原装备件。 产品类型&#xff1a;工业级自动化控制模块/接口模块。 核心功能&#xff1a;用于控制信号处理、数据采集及系统集成。 系统兼容&am…...

中兴光猫终极管理指南:解锁工厂模式与Telnet权限的实战教程

中兴光猫终极管理指南&#xff1a;解锁工厂模式与Telnet权限的实战教程 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 掌握中兴光猫的设备管理和权限获取能力是网络管理员和技术爱好者…...

碧蓝航线自动化脚本终极指南:3小时学会全自动游戏管理

碧蓝航线自动化脚本终极指南&#xff1a;3小时学会全自动游戏管理 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研&#xff0c;全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为碧蓝…...

【深度解析】AI Coding 模型竞速:从 Claude Mythos 安全编码到 GPT-5.6 传闻,如何落地代码审查智能体

摘要 AI 编码模型正在从“代码补全”进入“复杂代码库理解、漏洞发现与自动修复”阶段。本文结合 Claude Mythos、Claude Opus 4.8 与 GPT-5.6 相关信息&#xff0c;解析新一代 Coding Agent 的技术趋势&#xff0c;并给出基于大模型 API 的代码安全审查实战方案。背景介绍&…...

UE5 Mac环境搭好了,然后呢?给新手的第一个5分钟:创建、操控并理解你的第一个角色

UE5 Mac环境搭好了&#xff0c;然后呢&#xff1f;给新手的第一个5分钟&#xff1a;创建、操控并理解你的第一个角色当你第一次打开UE5的Mac版本&#xff0c;面对那个闪烁着光芒的启动界面&#xff0c;内心可能既兴奋又忐忑。安装只是第一步&#xff0c;真正的旅程现在才开始。…...

基于MAX78000的医疗紧急呼叫系统:边缘AI与低功耗设计实战

1. 项目概述与核心价值大家好&#xff0c;我是Victor Hugo&#xff0c;一名电子工程师。今天我想和大家分享一个我最近完成并参与设计竞赛的项目&#xff1a;一个基于MAX78000 FTHR开发板的医疗紧急呼叫辅助系统。这个项目的核心&#xff0c;不是从零开始造一个新轮子&#xff…...