当前位置: 首页 > 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);
http://www.lryc.cn/news/524801.html

相关文章:

  • 手机网络性能测试仪器介绍
  • vue3+ts watch 整理
  • 【Elasticsearch入门到落地】6、索引库的操作
  • Java TCP可靠传输(1)
  • ipad和macbook同步zotero文献附件失败的解决办法
  • linux-ubuntu学习笔记碎记
  • RV1126+FFMPEG推流项目(11)编码音视频数据 + FFMPEG时间戳处理
  • 人工智能的出现,给生命科学领域的研究带来全新的视角|行业前沿·25-01-22
  • python注释格式总结
  • Django实现数据库的表间三种关系
  • C++蓝桥真题讲解
  • 【21】Word:德国旅游业务❗
  • 如何分辨ddos攻击和cc攻击?
  • enum EPOLL_EVENTS详解
  • 阿里前端开发规范
  • 从函数式编程到响应式编程:现代开发中的范式转变
  • Django学习笔记(启动项目)-03
  • 量变引起质变
  • NewStar CTF week1 web wp
  • 李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕
  • 深度学习中Batch Normalization(BN)原理、作用浅析
  • C语言常用字符串处理函数
  • 文件上传漏洞详解
  • 关于linux的ld.so.conf.d
  • pytest执行报错:found no collectors
  • 如何实现网页不用刷新也能更新
  • c#调用c++的dll,字符串指针参数问题
  • HTML5 新表单属性详解
  • JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。
  • Docker入门学习