- 博客(8)
- 收藏
- 关注
原创 【Java语法解析】true,false与null是关键字吗?
文章目录语法话题关键字分类结论语法解析语法话题本期的语法话题为:true,false与null是关键字吗(保留关键字)?关键字分类从Java 17起,关键字分为两种:保留关键字上下文关键字其中,保留关键字指在Java 17前所定义的关键字,例如,if,class等。而上下文关键字指在特定的上下文环境中,会解析为特殊的含义,例如,var,record等。不过,像var,record在Java 17前就已经在使用(具有特殊的含义),只不过官方没有将其称为“上下文关键字”。本话题中,
2022-03-27 20:45:48
4758
原创 【Java语法解析】文本块是怎样处理空白符的?
文章目录语法话题空白疑惑语法解析空白的转义语法话题本期的语法话题为:文本块是怎样处理空白的?在之前的话题《【Java语法解析】Java 15中,文本块有哪些优势?》中,我们介绍了文本块的基本语法,以及文本块的优势所在。这次,我们来解释下,文本块是怎样来处理空白内容的。空白疑惑在声明文本块时,文本块的空白内容,可能会给我们带来一丝困扰。请看下面的程序。说明:因为空白内容不可见,为了能够清晰表示空白符,下面程序中,空格使用“*”表示。package test;public class
2022-03-26 13:00:23
737
原创 【Java语法解析】Java 15中,文本块有哪些优势?
文章目录语法话题文本块的声明文本块的优势语法话题本期的语法话题为:Java 15中,文本块有哪些优势?文本块的声明文本块是Java 15新增的语法特性(Java 13与Java 14作为预览特性),用来声明(表示)String对象。在Java 15之前,我们定义String对象,使用双引号(单个)来界定,而文本块使用三个双引号来界定,语法格式如下:// """表示文本块的开始,后面可以接零或多个空白符,然后接一个行终止符。Sting s = """此处是文本块的第一行内容。此处是文
2022-03-25 10:06:11
1151
1
原创 【Java语法解析】为什么注释也会产生编译错误?
文章目录语法话题程序示例语法解析语法话题本期的语法话题为:为什么注释也会产生编译错误?注释,是程序中用来解释说明的文字,编译器会完全忽略注释内容。然而,这并不意味着,注释就一定是安全的,如果编写不当,注释也会产生编译错误,因为,注释也是有自己的“小情绪”的。程序示例我们来看这样的程序示例。package test;public class Test { public static void main(String[] args) { System.out.println("\
2022-03-23 18:11:44
2481
原创 【Java语法解析】byte b = 1为什么是合理的?
文章目录语法话题程序示例语法解析数值丢失语法话题本期的话题内容为:byte b = 1为什么是合理的?也许大家会感到惊讶,这样的语句不是天经地义的吗?可是,字面值“1”是int类型,b是byte类型,int类型向byte类型转换,这是一种收缩类型转换,难道不应该使用类型转换运算符吗?程序示例我们来看如下的程序:package test;public class Test { public static void main(String[] args) { int i = 1;
2022-03-23 11:32:18
962
原创 【Java语法解析】i+++j应该如何计算?
文章目录语法话题语法分析最长可能解析原则原则解析问题思考原则的例外例外1——例外2——语法话题本期的话题如下:i+++j应该如何计算?关于该表达式,在类似于C / C++中讨论是没有多大意义的,因为C / C++依赖于实现的硬件结构,不同的环境结果也会不同。不过在Java中,这个结果是固定的,不受其运行的硬件环境与平台所影响。语法分析我们可以将表达式解析成两种可能的形式:i + (++j)(i++) + j以上的括号不是必须的,这里仅为了清晰起见(后面也是如此)。我们可以通过
2022-03-22 23:47:14
1441
原创 【Java语法解析】a += b与a = a + b有什么不同?
文章目录语法话题区别1——隐式类型转换区别2——求值次数知识扩展扩展1扩展2语法话题本期的话题如下:在Java中,a += b与a = a + b两条语句有什么不同?对于Java初学者来说,可能认为二者是等价的,但实际上,二者还是有一定区别的。这里,我们使用运算符+与+=来举例,不过,这种区别也适用于更通用的情况,可以认为是:a op= b与a = a op b的区别,其中op=可以是所有的复合赋值运算符:+= -= *= /= %= <<= >>=
2022-03-21 09:50:39
616
原创 【Java语法解析】不使用任何比较与选择判断,怎样输出a与b较大者?
文章目录语法话题通过绝对值通过与运算通过移位运算语法话题本期的语法话题为:两个int类型的变量a与b(a≠ba \neq ba=b):不允许使用任何比较运算符(例如>,<,?:等)。不允许使用任何选择判断语句(例如if,switch等)。不允许使用任何比较函数(例如max,min等)。怎样输出a与b中的较大者?这个问题也经常作为程序员的面试题被问到,当然,解决本问题的方式不止一种,我们现在就来给出几种不同的实现方式。通过绝对值我们知道,∣a−b∣|a - b|
2022-03-20 16:58:39
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人