第二章 Java基本语法(一)

本文主要内容:
关键字、标识符、变量、类型转换、进制转换、运算符
在这里插入图片描述

一、关键字

在这里插入图片描述
在这里插入图片描述

二、标识符

在这里插入图片描述
比如:类名,变量名,方法名,接口名,包名。。。

小技巧:直接在我的电脑输入cmd,就可以打开命令窗口
Java语言区分大小写
在这里插入图片描述

三、变量

类名,接口名:class后面的
常量名:圆周率之类的常量
变量名:int x; 这个x就是变量
如果不遵守以上规则,编译可以通过,但是应该养成这样的习惯
在这里插入图片描述

**定义变量的格式:**数据类型 变量名 = 变量值
说明:变量必须先声明,在使用
②变量都定义在其作用域内,在作用域内,它是有效地,换句话说,处了作用域,就失效了
③,同一个作用域内,不能声明两个同名的变量。

变量数据类型的分类
在这里插入图片描述

下面这张在第四章面向对象时详细说明

在这里插入图片描述
在这里插入图片描述

声明long型变量,必须以“l”或“L”结尾
long l1 = 3413233234L
在这里插入图片描述
2.浮点型:float(4字节)/double(8字节)
①浮点型,表示带小数点的数值
②float表示数值的范围比long还大
③定义float类型变量时,变量要以“f”或“F”结尾。
④通常,定义浮点型变量时,使用double型
在这里插入图片描述

3.字符型:char(1字符=2字节)
①定义char型变量,通常使用一对’ ',内部只能写1个字符
char c1 = ‘a’;
//c1 = ‘AB’; //编译不通过
②表示方式:1.声明一个字符 2.转义字符 3.直接使用Unicode值来表示字符型常量
char c3 = ‘\n’; //换行符
c3 = '\t; // 制表符
在这里插入图片描述

使用UTF-8保存,用GBK编译就会出现乱码

4.布尔值:boolean
①只能取两个值之一true、false
②常常在条件判断,循环结构中使用

四、类型转换

基本数据类型之间的运算规则
前提:只讨论7中基本数据类型变量之间的运算,不包含布尔类型
1.自动类型提升
当容量小 的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
说明:此时的容量大小指的是,表示数的范围的大和小。比如float容量要大于long的容量。
byte、char、short–>int–>long–>float–>double
也就是说,byte、char、short这三种数据类型不管哪两个做运算,结果都会转成int型
在这里插入图片描述
在这里插入图片描述

2.强制类型转换
自动类型提升运算的逆运算
输出:12
(1).需要使用强转符:()
(2)注意点:强制类型转换,可能导致精度损失
在这里插入图片描述

注意的情况:
(1)long型变量可以不加l(如果数据不长,不超出int的范围,会自动按照int处理),但是float型数据必须加f,否则会报错
(2)整形常量,默认类型为int型,浮点型常量,默认类型为double型

5.字符串类型
在这里插入图片描述

String类型变量的使用:
(1)String属于引用数据类型
(2)声明String类型变量时,使用一对“”
String s1 = “ada”;
char型变量单引号’ '里面有且只能放一个变量,空格也可,但String型双引号里面可以不放也可以放一个到多个均可。
(3)String可以和8种基本数据类型变量做运算,且运算只能是连接运算。
在这里插入图片描述

输出:学号:1001
(4)运算的结果仍然是一个String类型。
在这里插入图片描述

练习2:
在这里插入图片描述

五、进制转换

关于进制
在这里插入图片描述

呈现出来的是十进制:
在这里插入图片描述

二进制到十进制的转换
在这里插入图片描述

十进制到二进制的转化:除二取余的逆。

六、运算符

在这里插入图片描述在这里插入图片描述

最后等于2.0是因为:num1/num2是一个int型,但是把它赋值给了double,所以只是把2变成了浮点数而已
在这里插入图片描述

这个2.4是因为,先进行了类型升级,再运算,有小括号
在这里插入图片描述

这个说明,结果的符号与被模数的符号相同

前++:先自增1,后运算
后++:先运算,后自增1
前–:先自减1,后运算
后–:先运算,后自减1

自增1不会改变本身变量的数据类型
在这里插入图片描述

赋值符号: =
int num1 = 10;
num1 += 2; //num1=12
在这里插入图片描述

s1 += 2 这样写不会改变s1的数据类型,推荐这样写,因为不仅代码量变少,而且不会改变数据类型。
实现加1的操作,推荐 num++; 这个方式
在这里插入图片描述

结论:1.比较运算符的结果使Boolean类型
2.区分 == 和 =
在这里插入图片描述

1.逻辑运算符操作的都是布尔类型的变量
&和&&的区别:
相同点:&和&&的运算结果相同
相同点2:当符号左边是true时,两者都会执行符号右边的运算
不同点:当符号左边是false时,&继续执行符号右边的计算,&&不再执行符号右边的计算。

| 与 || 的区别:
相同点1: | 和 || 的运算结果相同
相同点2:当符号左边是false时,两者都会执行符号右边的运算
不同点:当符号左边是true时, | 继续执行符号右边的计算,|| 不再执行符号右边的计算。
开发中,推荐使用 && 和 ||

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第二章 Java基本语法(二)

本文主要内容&#xff1a; 运算符、if-else、switch-case 一、位运算符 运算符之五&#xff1a;位运算符 每左移一位&#xff0c;相当于是在原来的基础上乘2. int i 21; System.out.println(“i<<2:”(i<<2)); 输出&#xff1a;i<<2:84 结论&#xff1a; …

java 断点_每个Java开发人员应拥有的持久断点

java 断点当开发人员使用Java进行工作时&#xff0c;即使您尝试调试其他内容&#xff0c;也总是会遇到一些失败的情况。 这是应该在每个IDE中启用的持久断点的列表。 &#xff08;恕我直言&#xff09; 是的&#xff0c;从理论上讲&#xff0c;您应该能够从良好的日志记录实现…

第二章 Java基本语法(三)

本文主要内容&#xff1a; 循环结构、特殊关键字break和continue的使用&#xff0c;质数问题的优化 循环结构&#xff1a;Boolean类型 程序编写&#xff1a; 从键盘输入两个正整数m和n&#xff0c;找出他们的最大公约数和最小公倍数。 import java.util.Scanner; public clas…

用Priam设置Cassandra

前面已经解释了如何在AWS中设置Cassandra 。 所描述的设置有效&#xff0c;但在某些情况下可能还不够。 例如&#xff0c;它不能为您提供制作和还原备份的简便方法&#xff0c;添加新节点依赖于自定义python脚本&#xff0c;该脚本会随机选择一个种子。 因此&#xff0c;现在我…

Matlab入门(一)

MATLAB学习笔记 本系列主要内容来源&#xff1a;matlab官方付费课程的学习笔记 截图较多&#xff0c;之后更新会尽量增加文字说明 matlab简单常用的命令 数组 round:四舍五入函数。

MATLAB入门(二)

可以使用 plot 函数在一张图上绘制两个相同长度的向量。 plot(x,y)plot 函数接受一个附加参数。使用该参数&#xff0c;您可以通过在引号中包含不同符号的方式来指定与之对应的颜色、线型和标记样式。 plot(x,y,"r--o")以上命令将会绘制一条红色 虚线 (–)&#x…

Spring @Lazy批注用例

Spring框架几乎可以毫不费力地为您解决许多常见的编程问题&#xff0c;但是它的某些功能比其他功能鲜为人知。 在本文中&#xff0c;我们将仔细研究属于该组的Lazy批注。 阅读了几个示例之后&#xff0c;您应该能够将注释应用于日常开发任务。 1. 懒豆初始化 Spring的默认行为…

MATLAB入门(三)

求平均值 两种方法生成列向量 读取文件 将数据保存到小数点后两位 result round(M,2);将矩阵中的每个元素都三次方 x3 x.^3将矩阵中的数据按照升序排序 sort(data)创建一个行变量计算每一个列变量的平均值 avg mean(data)diff函数 Y diff(X) 计算沿大小不等于 1…

Java学习 第三章 数组(一)一维数组

第三章 数组 3-1 数组的概述 数组&#xff1a;多个相同类型数据按一定的顺序排列的集合&#xff0c;并使用一个名字命名&#xff0c;并通过编号的方式对这些数据进行统一管理。 数组相关概念&#xff1a; 数组名、下标&#xff08;索引、角标&#xff09;、元素、数组的长度 数…

mapreduce 算法_MapReduce算法–了解数据联接第1部分

mapreduce 算法在本文中&#xff0c;我们继续执行一系列实现算法的系列&#xff0c;该算法在使用MapReduce进行数据密集型文本处理中找到&#xff0c;这一次讨论数据联接。 虽然我们将讨论在Hadoop中联接数据的技术并提供示例代码&#xff0c;但在大多数情况下&#xff0c;您可…

几个有用的word小技巧,保准提升效率~

这几天改报告改到头秃。年底了&#xff0c;实验室各种项目在结项&#xff0c;作为一名研一新生&#xff0c;理所应当地承担起了体力活的工作。主要负责项目报告的研究背景调研、报告汇总、格式调整等。 格式调整&#xff0c;看起来非常简单的一项工作&#xff0c;却是最费时费…

Java 8:长期支持的堡垒

斯蒂芬科尔本 &#xff08; Stephen Colebourne &#xff09;的文章“ Java 9可以使用六个星期 ”开始&#xff0c;“ Java 9仅仅六个星期 就已过时。” Colebourne参考了Mark Reinhold博客文章“ Moving Java Forwarding Faster ”&#xff0c;并写道&#xff1a;“新的Java发…

我的2020(年终总结)

我的2020 2020对每个人来说可能都是极不平凡的一年&#xff0c;对我尤其是。这一年我整个的人心境发生了极大的变化。总结来说&#xff0c;有这么几件大事&#xff1a;复试、毕设、大学毕业、研究生开学、分手、再脱单、疫情在家。今天坐在实验室也不知道该干点什么&#xff0…

Java学习 第三章 数组(二)多维数组

多维数组的使用 由数组构成的数组 二维数组&#xff1a; ① 二维数组的声明和初始化 ② 如何调用数组的指定位置的元素 ③ 如何获取数组的长度 ④ 如何遍历数组 ⑤ 数组元素的默认初始化值 &#xff1a;见ArrayTest1.java 数组元素是整形&#xff1a;0 数组元素是浮点型&…

Spring Boot 2中的功能切换

无论您是否喜欢&#xff0c;软件开发都是一项协作活动。 整合工作一直被妖魔化&#xff0c;并被视为必不可少的邪恶。 有几种方法可以解决有效集成的挑战。 功能切换开关属于该组。 在本文中&#xff0c;您将在实践中看到如何在Spring Boot应用程序中使用功能切换&#xff08;也…

Java学习 第三章 数组(三)排序算法

** Java学习 第三章 数组&#xff08;三&#xff09;排序算法 ** 主要内容&#xff1a;排序算法、排序算法横向比较、Arrays工具类的使用、数组常见异常 1.数组中涉及到的常见算法&#xff1a;排序算法 1.1 排序算法分类&#xff1a;内部排序和外部排序 1.2 十大内部排序算…

【强化学习】一些网站整理

莫烦教程 https://mofanpy.com/tutorials/machine-learning/reinforcement-learning/ 博客园&#xff1a;刘建平Pinard https://www.cnblogs.com/pinard/category/1254674.html Deep-Q-Network 学习笔记 https://www.cnblogs.com/cjnmy36723/p/7017549.html 强化学习到深度强…

xmx java_为什么我的Java进程比Xmx消耗更多的内存?

xmx java你们有些人去过那里。 您已经在启动脚本中添加了-Xmx选项&#xff0c;并放松了下来&#xff0c;因为您知道Java进程将不会消耗比经过微调的选项所允许的更多的内存。 然后&#xff0c;您感到非常讨厌。 要么自己检查开发/测试框中的过程表&#xff0c;要么事情真的变坏…

卫星通信系统概述

卫星通信系统指通过在轨人造卫星作为中继站对无线电信号进行转发&#xff0c;实现地面及空间等用户之间信息传输的系统。卫星通信系统组成包括空间段及地面段&#xff0c;系统组成如图所示。其中空间段主要指在轨卫星、对在轨卫星进行操控的地面站&#xff0c;这些地面站主要实…

ElasticSearch初学者教程

1.简介 在此示例中&#xff0c;我们将演示如何使用Elasticsearch &#xff0c; Elasticsearch是一个基于Apache Lucene的分布式自由文本搜索和分析数据库引擎&#xff0c;具有一个基于maven的简单Java客户端。 在撰写本文时&#xff0c;我们将使用最新版本的Elasticsearch&…