invader的java学习第四天基础篇(持续更新中…)

一、类型转换

  • 自动转换(数值之间在进行四则运算时,数据类型会自动向大类型靠拢)
byte num=10;
short a=num;
System.out.println("a="+a);
tip:大小通过存储空间来比较(byte1字节,short2字节)
  • 强制转换(强转有风险,转换需谨慎)
int num=10;
byte a=(byte)num;
System.out.println("a="+a);
如上代码,当大的数据类型的变量赋值给小的数据类型的时候,按如上格式强制转换,但这样有可能会造成数据错误(且不报错,后期排错困难);另外不强制转换直接写会报错:可能会损失精度,就算可能你肯定这个转换的数是绝对放得下的,但是在编译的时候并不会看你存的是什么数,比如它并不知道给num赋的值是10,它只知道这样可能会损失精度,所以一般不推荐使用
☆补充:变量的命名规则也是驼峰原则,但它和类名不一样的是:类名首字母要大写,而变量名首字母要小写

二、常量(在程序运行中其值不可以发生改变的变量)

①需要常量的原因:在开发软件、书写程序的过程中,有些值是不允许也是没有必要重新多次赋值的
☆为了防止变量值发生改变,可以通过用final修饰变量,该变量称为常量也称最终变量
public class FinalVarTest{public static void main(String[] args) {int r=10;final double pi=3.14;double area=pi*r*r;System.out.println("area="+area);}
}
②常量的命名规则:所有字母都大写,且每个单词之间用_分隔开
③常量分类
  • 字面常量:看到什么就是什么(例:12,'A')
  • 符号常量:通过final修饰的变量(符号常量只此一个,也称最终变量)

三、运算符

int num=10+5;

①+、=都是运算符;10+5称为表达式,最后有一个运算结果

②运算符左右两边内容称为操作数,左右两边一共只有一个操作数的称为单目/元运算符(例如++),两个的称为双目/元运算符

☆运算符的分类:
  • 算数运算符:+ - * / % ++ –

  • 关系运算符:> < >= <= != == instanceOf

  • 逻辑运算符:& | ! ^ && ||

  • 赋值运算符:=

  • 拓展/扩展运算符:+= -= *= /= %= >>= <<= ^= ~=(取反等)

  • 位运算符:& | ! >> << <<<!

  • 条件运算符:?:

    注意:

    ☆+号:在数值之前编写是正号的意思(例:int num=+5;);加法运算,但要保证两边是一个具体数值;作连接符,两边有一个操作数是字符串

    的时候,它会和该字符串进行拼接(例:System.out.println(“1+1=”+1);此时运行的结果是1+1=1,这个1不是算出来的,而是拼出来的)

    ☆++、–在它们都是单条语句时,无论在数值前后(例:int num=5;num++;//此时等同++num;)都是自增/自减,当不是单条语句时,++num先自增后

    运算,num++先运算后自增,运算指的是先参与表达式的运算,影响的是表达式的结果

    ☆扩展运算符:num=num+1;//等同于num+=1,这样的写法可以提高编写、编译速度,但是它会自动强制类型转换(转换有风险,需谨慎)还有

    个缺点:不利于阅读

    ☆逻辑运算符&和&& 左右两边的操作数都为true,其结果才为true,|和||左右两边的操作数有一个为true,其结果就为true;^ 左右两边的操作数相同

    为false,不同为true;另:&&当左边第一个操作数为false的情况下不会对第二个操作数进行运算,因为结果一定
    为false;||当左边第一个操作数为true的情况下不会对第二个操作数进行运算,因为结果一定为
    true;而&和|是两边都要运算的

invader的java学习第四天基础篇相关推荐

  1. invader的java学习第三天基础篇

    invader的java学习第三天基础篇 一.整数的取值范围表 类型名称 数据类型 所占空间 表数范围 字节型 byte 1字节 -128-127 短整型 short 2字节 +-3w(-2^15-2 ...

  2. invader的java学习第五天基础篇

    invader的java学习第五天基础篇(持续更新中-) 一.位运算符 ^.&.|.~.>>.<<.>>>,位运算符就是基于二进制直接进行运算(0为f ...

  3. 【Java学习笔记】【基础篇】07.JavaDoc以及两种使用方式

    JavaDoc 1.介绍 JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了. JavaDoc是Sun公司提供的一个技术,它从程序源代码中抽取类 ...

  4. invader的java学习第一天基础篇

    invader的java学习第一天基础篇 一.java主要历史 ①java是Sun公司的产品,09年被Oracle公司收购. ②java语言之父:詹姆士高斯林 二.jdk.jre.jvm三者关系 jd ...

  5. invader的java学习第二天基础篇

    invader的java学习第二天基础篇 一.深入了解第一个Hello World程序 public class Hello World{ public static void main(String ...

  6. java学习笔记:零基础java学习路线+配套资料+书籍推荐

    公众号菜鸟名企梦2018年,精品文章汇总: 01 我的秋招 我的秋招offer 我的offer选择 秋招全面总结-必读宝典 求职必读 02 零基础学习路线 零基础-java学习路线(上) 零基础-ja ...

  7. java从小白到工程师--基础篇(二)

    本期作业:将你的姓氏的Unicode码用程序显示出来. 上一章节中我们配置了环境变量,编写了第一个java程序"hello,world"(java从小白到工程师--基础篇(一) ) ...

  8. 名师讲坛——Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    [书名]<名师讲坛--Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax)> [作者]李兴华.王月清 [ISBN]9787302231585 ­}:YKf: ...

  9. 深度学习word2vec笔记之基础篇

    深度学习word2vec笔记之基础篇 声明: 1)该博文是多位博主以及多位文档资料的主人所无私奉献的论文资料整理的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用 ...

最新文章

  1. 2020年十大数据中心行业趋势
  2. idea使用git插件,出现冲突了怎么解决?多场景分析助你解决问题
  3. python参数默认值实例_Python中使用partial改变方法默认参数实例
  4. 搜索引擎下拉食云速捷详细_详细解析关键词与搜索引擎之间的霸屏关系
  5. [译]GLUT教程 - 笔划字体
  6. Clipboard.js – 现代方式实现复制文本到剪贴板
  7. Android-ViewPagerIndicator
  8. [C++]实现10以内整数的简单科学计算器
  9. 阿里巴巴高级技术专家章剑锋:大数据发展的 8 个要点
  10. 剑指offer---数组中重复的数字
  11. Windows界面编程:MFC
  12. 【VS开发】【电子电路技术】VPX技术介绍
  13. a标签点击中文文件名乱码_a标签文件下载文件名乱码问题
  14. 信息学竞赛学不学计算机史,关于信息学奥赛不得不知道的事
  15. c语言 英文单词频率统计 哈希存储
  16. Facebook新模型SEER|图像预训练的内卷
  17. 本题要求实现一个计算非负整数阶乘的简单函数
  18. 微服务项目:尚融宝(40)(核心业务流程:申请借款额度(3))
  19. 计算机基础教学能力比赛教案,全国“XX杯”说课大赛计算机应用基础类优秀作品:Word图文混排教案...
  20. C++ 知识结构思维导图

热门文章

  1. 【多媒体封装格式详解】---MP4
  2. 下载量高达163万的易语言牛人写的一个超牛的软件(即将删除)
  3. apex创建快捷方式_桌面图标美化 - 快捷方式生成器 App Shortcut Maker Pro
  4. 显示直角三角形(左上)(递归版)
  5. TypeScript 函数以及简单使用和操作
  6. vulnhub chakravyuh
  7. Django项目遇到ImportError: cannot import name ‘url‘ from ‘django.conf.urls‘解决方法(亲测有效)
  8. 5830调试android程序时,无法debug解决
  9. ssm+jsp计算机毕业设计作业管理系统ctoc8(程序+lw+源码+远程部署)
  10. MySQL建库指定字符集编码