Categories
未分类

Java 类成员四种访问级别在不同位置下的可见性

Java 里有四种访问控制级别,分别为:public、protected、default 和 private。default 为默认级别。 如下表,展示了四种访问级别在不同位置下的可见性。 位置\访问级别(可见性) public protected default private 当前类 可见 可见 可见 可见 当前包(含包内的子类) 可见 可见 可见 可见 子类(包外的子类) 可见 可见(仅继承) 不可见 不可见 包外(不含子类) 可见 不可见 不可见 不可见 (全文完) 扫码阅读和分享

Categories
未分类

笔记:Java 字符串

一、基础 定义 Java 字符串是一组 Unicode 字符序列,是类 String 的实例。文档见 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html 。 初始化 二、用法 获取子串 原型: 例子: 直接拼接字符串 指定连接符拼接字符串 判断字符串相等 使用 StringBuilder 类构建字符串 使用 StringBuilder 更加灵活,示例: 输出: 三、其它 特性 字符串 String 对象的内容不支持修改。比如直接修改其中一个字符。 空字符串 指长度为 0 的字符串。 Null 字符串 判断字符串是否为 Null 字符串。 (全文完) 扫码阅读和分享

Categories
未分类

笔记:Java 运算符

算数运算符 +、-、*、/ 分别表示加、减、乘、除运算;% 表示求余(取模)。 两个整数相除时,采用整数除法,商为整数。 10 / 3; // 值为 3 两个整数求余。 10 % 3; // 值为 1 当整数被0 除时,则直接抛异常。 10 / 0; Exception in thread “main” java.lang.ArithmeticException: / by zero at variable.main(variable.java:5) 非整数相除时,采用浮点除法。 10 / 2.5; // 值为 4.0 10 / 3.5; // 值为 2.857142857142857 当浮点数被 0 除时,结果为无穷大。 (6.6 / 0) == Double.POSITIVE_INFINITY; // […]

Categories
未分类

笔记:Java 数值类型转换

自动类型转换 在 Java 语言中操作数值时,满足自动转换关系时,数值可自动转换为目标类型。 比如: 自动转换关系,如下: byte -> short -> intchar -> intint -> longint -> float(损失精度)int -> doublelong -> float(损失精度)long -> double(损失精度) 二元运算时自动转换规则 两个不同类型数值之间进行二元运算时,会先自动转换时为同一种类型。具体如下: 其中一个为 double 时,优先转换为 double。否则,其中一个为 float 时,优先转换为 float。否则,其中一个为 long 时,优先转换为 long。否则,都转换为 int 类型。 比如: 强制类型转换 当转换类型时,不满足自动转换条件时,可进行强制类型转换。语法格式是,在预转换的变量前添加一对圆括号,括号内指明目标类型。 其它转换情况 bool 类型转换 当需要将 bool 类型转换为数值时,可以使用如下表达: (全文完) 扫码阅读和分享

Categories
未分类

笔记:Java Math 数学函数

静态方法 Math.sqrt,计算平方根。 Math.sqrt(4); // 结果为 2.0 静态方法 Math.pow,进行幂运算,即指数运算,如下求 2 的 8 次方。 Math.pow(2, 8); // 结果为 256.0 静态方法 Math.floorMod,取模运算,可以处理被除数为负的情况。 -1 % 3; // 结果为 -1,不符合预期 Math.floorMod(-1, 3); // 结果为 2 Math 定义的常量。 Math.PI; // 圆周率 Math.E; // 常数 e 扫码阅读和分享

Categories
未分类

笔记:Java 变量和常量

变量的声明 变量的声明,类型在前,变量名在后,末尾以分号做语句结尾。 double gameScore;int viewCount; 变量名,以字母开头,由字母和数字组成。字母、数字的范围包含在各种语言中表示字母、数字的 Unicode 字符,比如德语的 ä ,不建议使用此类字符。不允许使用的字符:+ 、©️、空格;不允许使用 Java 保留字作为变量名。 double gameScore = 8.5; int äTest; äTest = 101; 变量名大小写敏感。不建议通过大小写区分变量。 double gameScore = 8.5; System.out.println(gameScore); // 输出 8.5 double gamescore = 6; System.out.println(gamescore);// 输出 6.0 可以一条语句声明多个同类型的变量。 char flag1, flag2; flag1 = ‘张’; flag2 = ‘星’; char flag3 = ‘超’, flag4 = ‘C’; […]

Categories
未分类

笔记:Java 原始数据类型

Java 语言一共有 8 种原始数据类型(基本类型): byte、short、int、long float、double char boolean 整型 整型是没有小数部分的数值,并且带有符号,区分正负。具体如下: 类型 占用空间 取值范围 备注 byte 1 Byte -128 ~ 127 最小值即 -2^7 short 2 Byte -32 768 ~ 32 767 最小值即 -2^15 int 4 Byte -2 147 483 648 ~ 2 147 483 647 最小值即 -2^31 long 8 Byte -9 223 372 036 854 775 […]

Categories
未分类

Java 版本号含义和更新规则

Java SE 平台发布版本采取固定时间间隔。JDK 主版本每 6 个月发布一次。 自 JDK 10 开始,其版本号遵循如下格式: $FEATURE.$INTERIM.$UPDATE.$PATCH 比如版本号 11.0.2,其中 $FEATURE 为 11,$INTERIM 为 0,$UPDATE 为 2,$PATCH 为 0(已省略)。 $FEATURE 表示特性(feature)的版本,即主版本号。它包含了 Java SE 平台规定的新特性和针对已有特性的修改。特性版本每 6 个月更新一次。例如 2018 年 3 月的版本为 10,2018年 9 月的版本为 11。 $INTERIM 表示过渡(interim)的版本。它包含了 Bug 修复和改进,不包含不兼容的修改、特性移除以及任何针对标准 API 的修改。主版本更新时,过渡版本号则为 0。这个版本号就是为未来的过渡版本预留。 $UPDATE 表示更新(update)的版本。它包含安全问题修复、Regression(回归) Bug、新特性产生的 Bug。它的版本会在主版本发布后 1 个月更新 1次,此后每 3 个月更新 1 次。例如,10 […]