位运算符和static

一、注释

关于注释的问题:c里有两种注释方法:/**/和//,编译器会在编译过程中会忽略掉注释的部分,但是真的忽略会将其替换成空格。

全局变量、常量必须加注释。

注释代码段时注重为何做(why),而不是how。

二、位运算符

& 按位运算

|  按位或

^按位异或

~取反

<<左移

>>右移

三、static

1.修饰全局静态变量

在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。

1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在)

2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)

3)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾。

好处:

定义全局静态变量的好处:

(1)不会被其他文件所访问,修改

(2)其他文件中可以使用相同名字的变量,不会发生冲突。

2.修饰局部静态变量

在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。

  1)内存中的位置:静态存储区

  2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)

  3)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。

3. 修饰静态函数

在函数的返回类型前加上关键字static,函数就被定义成为静态函数。

定义静态函数的好处:

(1)其他文件中可以定义相同名字的函数,不会发生冲突

(2)静态函数不能被其他文件所用。

从static的好处可以看出其实static的最大的作用是将变量或函数隐藏在本文件中,对于其他的文件中这些变量或方法不可见。

其实static的变量改变了其存储位置,都在静态代码区(codesegment)中,延长了其生存时间。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 中常用的位运算符有以下几种: 1. 按位与(&):将两个数转化为二进制后,对应位置上的数都为 1 时,该位置上的结果才为 1,否则为 0。 例如:5 & 3 的结果为 1。 2. 按位或(|):将两个数转化为二进制后,对应位置上的数只要有一个为 1,该位置上的结果就为 1。 例如:5 | 3 的结果为 7。 3. 按位异或(^):将两个数转化为二进制后,对应位置上的数不同时,该位置上的结果为 1,否则为 0。 例如:5 ^ 3 的结果为 6。 4. 取反(~):将一个数转化为二进制后,对每个位进行取反操作(0 变成 1,1 变成 0)。 例如:~5 的结果为 -6(因为Java中int类型占用32位,所以 ~5 的二进制表示为 11111111111111111111111111111010,转化为十进制即为 -6)。 5. 左移(<<):将一个数的二进制表示向左移动 n 位(相当于在低位添加 n 个 0),相当于将该数乘以 2 的 n 次方。 例如:5 << 2 的结果为 20。 6. 右移(>>):将一个数的二进制表示向右移动 n 位(相当于去掉低位的 n 个数),正数在高位补 0,负数在高位补 1。 例如:-5 >> 2 的结果为 -2。 下面是示例代码: ``` public class BitwiseOperator { public static void main(String[] args) { int a = 5; int b = 3; System.out.println("a & b = " + (a & b)); System.out.println("a | b = " + (a | b)); System.out.println("a ^ b = " + (a ^ b)); System.out.println("~a = " + (~a)); System.out.println("a << 2 = " + (a << 2)); System.out.println("-5 >> 2 = " + (-5 >> 2)); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值