Java 基础特征

发布于 2024-11-09 06:10:07 字数 4588 浏览 14 评论 0

程序的一些基本特征

  • Java 中的主要代码都会位于一个类中,类是通过 class 关键字来定义的
  • Java 是一种 大小写敏感 的语言,例如:
    • 关键字区分大小写,class 不能写成 Class
    • 命名为 HelloWorld 的类和命名为 Helloworld 的类是不一样的
  • 程序的文件名称必须和类的名称完全相同,Java 代码的文件都以类名加.java 后缀进行命名
    • 比如 HelloWorld 类的代码保存在 HelloWorld.java 文件中
  • public static void main(String[] args) 是一个方法,这是 Java 程序的入口
    • 任何 Java 程序的代码都是从这个方法开始执行的
  • 关于 Java 标识符
    • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_) 开始
    • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_) 和数字的组合
    • Java 语言自带的关键字不能用作标识符,比如你不能定义一个类或者方法命名为 class
    • 标识符是大小写敏感的
    • 比如 blog、$user、_title 和__1_content 都是合法的标识符;而 123blog 和-user 都是非法标识符
  • 代码注释
    • 单行注释: 在注释内容前加两个斜线 // ,则 Java 编译器会忽略掉 // 的信息
    • 多行注释: 在要注释的内容前面添加 /* ,在注释的内容后添加 */
    • 文档注释 : 在要注释的内容前面添加 /** ,在注释的内容后添加 **/ ,这是一种特殊的多行注释,注释中的内容可以用以生成程序的文档,具体用法我们以后讲解.
  • JAVA 中的包: 在开发过程中,类的数量会越来越多,我们可以通过包 ( Package ) 来组织类.包的命名一般以一个组织的域名的反写开头.如 com.apache

变量

变量 (Variable) 是在内存中动态存储值的地方.简单地理解,程序的作用就是对变量进行各种运算. java 中的类型分为 基本数据类型 以及 引用数据类型 .声明变量的时候要确定变量的数据类型,使用变量之前要对变量进行初始化.

  • 对大数的记录

结尾的 E+数字 表示 E 之前的数字要乘以 10 的 数字 次幂.比如 3.14E3 就是 3.14×1000=3140

一个类可以包含以下类型的变量

  • 局部变量: 在方法、构造方法或者语句块中定义的变量被称为局部变量.变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁.
  • 成员变量: 成员变量是定义在类中,方法体之外的变量.这种变量在创建对象的时候实例化.成员变量可以被类中方法、构造方法和特定类的语句块访问.
  • 类变量: 类变量也声明在类中,方法体之外,但必须声明为 static 类型.

转义字符

符号字符含义
\n换行 (0x0a)
\r回车 (0x0d)
\f换页符(0x0c)
\b退格 (0x08)
\s空格 (0x20)
\t制表符
\"双引号
\'单引号
\反斜杠
\ddd八进制字符 (ddd)
\uxxxx16 进制 Unicode 字符 (xxxx)

运算符

// 对 a 减 1
a++;
a += 1;
a = a + 1;
// 对 a 加 1
a--;
a -= 1;
a = a - 1;
  • 三目运算符: 表达式 1?表达式 2:表达式 3; 当表达式 1 为真的时候执行表达式 2,否则执行表达式 3
  • 相除向下取整: / 将商向下取整 int a = 11, b = 3; int c = a / b;
  • 取余运算: % 获得两个数相除的余数
  • 比较关系运算符是否相等
    • '=='和'!='作为关系运算符只用来比较对象的引用
    • 如果想比较两个对象实际内容是否相同,需要调用对象的 equals() 方法.比如判断一个字符串 str 的内容是否为"abcd",应该这样比较
    if (str.equals("abcd")) {
    }
    if (str == "abcd") {
    }
    
  • 逻辑运算符
逻辑运算符逻辑关系
&&
||
  • 逻辑短路

java 支持逻辑短路 && 前面如果为 false 整个值都是 false, || 的前面如果为 true 整个表达式的值都是 true

  • 位运算符
位运算符计算逻辑
&与运算: 对于某一位,只要两个操作数都为 1,则该位的结果为 1,否则为 0
|或运算: 对于某一位,只要两个操作数有一个为 1,则该位的结果为 1,否则为 0
^异或运算: 对于某一位,如果两个操作数不相同,则该位的结果为 1,否则为 0
~非运算: 按位补运算符翻转操作数的每一位
<<二进制左移运算符: 左操作数按位左移右操作数指定的位数
>>二进制右移运算符: 左操作数按位右移右操作数指定的位数
>>>二进制右移补零操作符: 左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充
x = 0011 1100
y = 0000 1101
-----------------
x & y = 0000 1100
x | y = 0011 1101
x ^ y = 0011 0001
~x  = 1100 0011
x << 2 = 1111 0000
x >> 2 = 0000 1111
x >>> 2 = 0000 1111
  • 三元运算符
booleanExpression ? valueWhenTrue : valueWhenFalse

if (x >= 0) {
    y = x;
} else {
    y = -x;
}
// 可以转换成
y = x >= 0 ? x : -x;

打印数组元素

  • Arrays.toString(array); : 直接使用 system.out.print(array) 会出现类似 [I@610455d6 这样的情况

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

橙幽之幻

暂无简介

文章
评论
25 人气
更多

推荐作者

github_3h15MP3i7

文章 0 评论 0

静赏你的温柔

文章 0 评论 0

你的呼吸

文章 0 评论 0

微信用户

文章 0 评论 0

心房敞

文章 0 评论 0

醉态萌生

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文