「java中&」java中的用法

博主:adminadmin 2022-12-02 13:30:07 102

今天给各位分享java中&的知识,其中也会对java中的用法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java中:是什么意思?

表示作用域,和所属关系。

::是运算符中等级最高的,它可以分为以下三种:

1、global scope(全局作用域符),用法(::name)

2、class scope(类作用域符),用法(class::name)

3、namespace scope(命名空间作用域符),用法(namespace::name)他们都是左关联(left-associativity)他们的作用都是为了更明确的调用你想要的变量,如在程序中的某一处你想调用全局变量a,那么就写成::a;

如果想调用class A中的成员变量a,那么就写成A::a,另外一个如果想调用namespace std中的cout成员,你就写成std::cout(相当于using namespacestd;cout)意思是在这里我想用cout对象是命名空间std中的cout(即就是标准库里边的cout)。

扩展资料:

::在C++中的具体用法:

1、作用域符号:

前面一般是该类名称,后面是该类的成员名称。C++为避免不同的类有相同的成员而采用作用域的方式进行区分,eg:A,B表示两个类,在A,B中都有成员member,那么:A::member表示A中的成员member,B::member表示B中的成员member。

2、全局作用域符号:

当全局变量在局部函数中与其中某个变量重名时,可以用::来区分,否则局部变量会屏蔽全局变量。

3、作用域分解运算符:

比如声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f函数的定义,那么在类外定义f时,就要写成void A::f(),表示这个f函数是类A的成员函数。

参考资料:百度百科-C++

java中什么是类?

类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。举一个例子说明下类,比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。

Java语言中对类Person的定义往往如下:

public class Person {

private String name; //属性:姓名

private int height; //属性:身高

private int weight; //属性:体重

public Person() {}

public Person(String name, int height, int weight) {

this.name = name;

this.height = height;

this.weight = weight;

}

//... some methods...

public void doSth() { //行为:

//... do something

}}

Java中的类

类可以看成是创建Java对象的模板。

通过下面一个简单的类来理解下Java中类的定义:

public class Dog{

 String breed;  int age;  String color;  void barking(){

 }

 void hungry(){

 }

 void sleeping(){

 }}

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

局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

一个类可以拥有多个方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog类的方法。

JAVA 中的 -> 是什么意思?

本文主要是讲解 Java 中的运算符。对于运算符而言是编程参与计算的基础核心内容。最基础的加减乘除取余。到后面的逻辑运算大于小于等于不等于。

本文内容思维导图

先从最简单的算术运算符说起。

算术运算符

算术运算符又分为: 一元运算符和二元运算符, 并且在 Java 中包含三元运算符, 就是条件运算符或者叫作三目运算符只是名字不同,含义相同。

一元运算符

一元运算符只有一个变量就可以进行操作。常用的一元运算符就是自加,自减。一共四个一元运算符。

示例代码, 这里使用  JShell 快速查看结果。

需要注意其中的自加和自减的规则。当运算符在前的时候 ++ a;  运算符的优先级比较高, 所以会先处理这个代码, 所以可以看到代码里面直接返回了结果 4。但是 a ++ 的时候却没有直接返回结果, 因为他的运算符比价低。 所以重新调用该变量就会打印出来当前的值。

代码定义如下:

运行查看结果:

二元运算符

二元运算符一共5个。分辨是加减乘除取余(+、-、*、/、%)。

其中,在进行除法运算的时候,遵守除数不能为 0;

如果除数为 0 就会报错, 错误如下:

代码示例如下:

运行查看结果,编译, 运行:

赋值运算符

对于赋值运算符基本上贯穿了整个类的周期。常用的 = 赋值。 和简写赋值和算术运算符的使用方式。赋值运算符有如下图所示的使用方式。

使用 JShell 进行测试代码如下:

代码示例如下:

int a = 0;

a = 3;

System.out.println(a);// 3

a += 3;

System.out.println(a);// 6

a -= 3;

System.out.println(a);// 3

a *= 3;

System.out.println(a);// 9

a /= 3;

System.out.println(a);// 3

a %= 2;

System.out.println(a);// 1

比较运算符

比较运算符, 也可以说是布尔运算符。 主要是比较两个表达式的结果。 (表达式) 操作符 (表达式)

根据上面的运算符进行案例演示, 一定要动手练习。 更能加深印象。

只要知道比较运算是最终得到一个布尔类型的值。并且在进行比较运算的时候, 一定要注意其优先级。代码这次自己动手做吧。 有上面的演示, 应该很容易就搞定。

逻辑运算符

对于逻辑运算符, 主要就是 3 个。 逻辑与、逻辑或、逻辑非。和数学中的与或非意思一致。

格式: 表达式1 逻辑运算符 表达式2

逻辑运算符大多数情况下会和其他的运算符一起使用, 主要做一些简单或复杂的逻辑运算。 并且通常都是和 if, for 等逻辑表达式一起使用。

简单的说一说, 对于逻辑与和逻辑或不同点。 逻辑与为第一个表达式和第二个表达式都等于真值的情况下才会表达式成立。 逻辑或是第一个表达式为真值的情况下, 就不会在执行第二个表达式。 因为不管第二个表达式是否成立, 该逻辑运算都是真值了。

位运算符

对于任何编程语言而言, 最终的操作都是二进制表示, 因为计算机只认识二进制, 而八进制,十进制或者十六进制都是为了让开发人员方便开发。对于 Java 来说, 也可以针对数的某个值进行运算。这就需要位运算符的参与了。也是为了方便对二进制进行操作。

位运算符主要有一下运算符:

位与

按位与和逻辑运算符的逻辑与很类似,一个比较的表达式, 一个是按照位来进行判断。在二进制中, 位与的判断为都为 1 的记做 1 否则记做 0。

按位与规则如下:

0 0 = 0;

0 1 = 0;

1 0 = 0;

1 1 = 1;

先看一个都是正整数的值 10 2。

最终得出结果 0000 1010 0000 0010 = 0000 0010 转换成十进制就是2。

对于负值的位与运算有点区别的地方就是参与运算的是补码。

举例说明: 10 -2

具体如何得到补码, 可以参考我之前写的文章基础类型的相互转换。这里对于负值的情况需要了解什么是原码,反码和补码。参与运算的是补码。-2 的原码是 1000 0010  反码是 1111 1101 补码 在反码的基础最后一位加 1 得到1111 1110。

最终结果得到 0000 1010 1111 1110 = 0000 1010 十进制也就是 10。

这个时候怎么校验结果是否正确呢? 直接写 Java 代码就好了, 打开 jshell:

位或 |

按位或, 和逻辑或很类似, 只要二者有一位 1 结果就是 1。

按位或规则如下:

0 | 0 = 0;

0 | 1 = 1;

1 | 0 = 1;

1 | 1 = 1;

根据上面的运算得到了 10 | 2 = 10。

负值有略有不同。

还是要灵活运用原码反码和补码,特别是负数的情况下, 因为正数的原码和补码一致。

位反 ~

按位反, 和逻辑非类似。 是对位进行直接取反。

按位反规则如下:

~1 = 0;

~0 = 1;

先用 2 进行运算处理:

在进行 -2 的运算操作

-2 的原码 需要转换成补码, 用补码进行取反运算。 得到 1 的二进制。

代码演示如下:

位异或 ^

位异或是基于二进制的位运算。 采用符号 XOR 在 Java 中使用 ^ 进行表示。两个值相同取 0, 不同的取 1。

按位异或规则如下:

1 ^ 1 = 0;

0 ^ 0 = 0;

1 ^ 0 = 1;

0 ^ 1 = 1;

举例 10 ^ 2

举例 10 ^ -2

代码演示结果的准确性:

异或在代码优化和实际的工作中会经常用到。 后续实战中用到了在详细分析用法, 现在知道进行异或运算即可。

位左移

将一个操作数进行二进制位往左移, 移动后空出来的低位用 0 进行填充。移除的高位舍去。高位丢弃,低位补零。

操作数 移动的位数

举例说明 10 2

位左移代码演示:

位右移

将一个操作数进行二进制往右移, 移动后,有两种情况,一种有无符号一种是有符号。也就是最高位为 0 移动后高位补 0, 如果最高位(符号位)为 1, 移动后空缺位都为 1.

操作数 移动的位数

举例说明 10 2

对于负数举例 -2 2 空缺位补 1:

位右移代码演示:

注意这两者的区别。

无符号位右移

这个是和右移操作上是一致的, 但是不管是否最高位(符号位)为 1, 空缺位都使用 0 进行补齐。

操作数 移动的位数

举例说明 10 2

对于负数来说。 这里有点区别, 因为对于负值来说, 上面其实都是 32 位, 为了让大家看起来舒服转换成了对应的 8 位的。 因为无符号位右移会改变正负值, 所以 32 位的负值和 8 位的负值是不一致的。

并且 Java 在处理 byte, short , char 等值进行移位操作前, 会先将类型转换成 int 因为 int 占用 32 位。

所以 -2 2 的时候,8 位运算应该是如下:

因为会先转换成 32 位。 所以 32 位的 -2 等于如下:

也就是结果: 1073741823

无符号位右移代码如下:

理解原理。 更能发现问题。

类型比较运算符

这里说的类型比较是对象的比较。 判断每个定义的变量是否是某个类。该类可以是(接口、抽象类)。

语法规则:

boolean = 变量 instanceof 类

举例说明:

运行查看结果:

这里需要注意:

null 值是没有引用的, 所以和任何值都不相等。

instanceof 比较的是引用类型, 不能用于基础类型的比较。

条件(三目)运算符

三目运算在 Java 中只有一个就是 ? :

三目运算的语法格式:

`布尔表达式 ? 表达式1 : 表达式2`

大部分情况下, 对于三目运算是 if 和 else 的简写。举例说明:

int a = 1; int b = 2;

String msg = a  b ? "a 比 b 大" : "a 比 b 小";

System.out.println(msg);

//上面的结果和下面一致

if(a  b){

msg = "a 比 b 大!";

}else{

msg = "a 比 b 小!";

}

//msg 是 "a 比 b 小!"

运算符的优先级

所有的数学运算都是从左向右进行运算的, 对于 Java 来说大部分运算也是遵守从左向右的规则。 但是一元运算符,赋值运算符和三目运算符例外。他们是从右向左进行运算。

运算符的内容告一段落, 接下来就是开始逻辑表达式的学习。 教程编写不易。希望各位大看官点赞收藏加关注。更多内容大放送。

java 中|| 和 && 这类的符号都表示什么?

和||是一种逻辑运算符,是逻辑与,当两个数都为真,则结果为真。||是逻辑或,两个数任意一个为真,则结果为真。

举个例子:

1、a b

当a、b都为真时,结果为真。有一个为假或者都为假时结果为假。

2、a || b

当a、b有一个为真时,结果为真。a、b都为假时结果为假。

扩展资料:

在java中还有其他的逻辑符号,比如:!、|、

“!”是非运算符号,比如a为真,则!a则为假。a如果为假,则!a为真。

而“|”也是逻辑或,“”也是逻辑与,但是他们与“||”和“”有些区别,区别如下:

“”与“|”无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断。

“”与“||”,前者第一个条件不成立,后面的条件均不进行判断,返回false;后者第一个条件成立,后面的条件均不进行判断,返回true。

java中有哪些类?

Java有八大基本类型,可以分为四类:

1、byte:

byte数据类型是8位、有符号的,以二进制补码表示的整数;

最小值是-128(-2^7);

最大值是127(2^7-1);

默认值是0;

byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;

例子:byte a = 100,byte b = -50。

2、short:

short数据类型是16位、有符号的以二进制补码表示的整数;

最小值是-32768(-2^15);

最大值是32767(2^15 - 1);

Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一;默认值是0;

例子:short s = 1000,short r = -20000。

3、int:

int数据类型是32位、有符号的以二进制补码表示的整数;

最小值是-2,147,483,648(-2^31);

最大值是2,147,483,647(2^31 - 1);

一般地整型变量默认为int类型;

默认值是0;

例子:int a = 100000, int b = -200000。

4、long:

long数据类型是64位、有符号的以二进制补码表示的整数;

最小值是-9,223,372,036,854,775,808(-2^63);

最大值是9,223,372,036,854,775,807(2^63 -1);

这种类型主要使用在需要比较大整数的系统上;

默认值是0L;

例子:long a = 100000L,Long b = -200000L;

"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

关于java中&和java中的用法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-02,除非注明,否则均为首码项目网原创文章,转载请注明出处。