当前位置:网站首页>变量、常量、运算符
变量、常量、运算符
2022-04-23 03:32:00 【辰 羽】
2.4 变量、常量
2.4.1 变量
本质上是一个存储空间,位置确定,值不确定。通过变量名访问存储空间,从而操作里面保存的值。
java作为强类型语言,在定义前必须声明数据类型
,只有声明后才能分配相应长度的存储空间。
1、每个变量定义前必须声明类型,可以为任意类型
2、变量名为合法的标识符
3、变量的定义属于完整的一个语句,必须以;结尾
静态变量和实例变量的区别?
答: 静态变量要配合关键字static使用。创建在类中,成为类变量,只要加载了此类的字节码,不用创建对象,也会为其分 配存储空间,可直接用类名引用。不管创建几个对象,操作的静态变量是是用一个,名一般用大写字母
实例变量声明在类中方法语句块之外,为类的属性,在创建实例对象时产生,对象被销毁时销毁。
2.4.2 常量
在程序运行过程中一直不会被改变的量。用关键字 final常量在程序中只能被赋值一次,在所以的对象的中共享。
语法:final 数据类型 常量名 = 值; (常量名一般全部使用大写字母表示)
其中常量作为成员变量时必须赋初值。
JAVA 10后的一种新特性:使用var
类似与JavaScript,允许编译器利用其初始值来推断局部变量的类型。
- var不能作为变量声明,它是编译器在初始化时去判断类型的,所以不能用不同的数据类型重新分配,使用var初始化的变量数据类型仅在编译时根据初始化程序的数据类型进行推断,并且不能更改。
- 它不能与方法参数和方法返回类型一起用。因为编译器无法推断出哪个类型的var在运行时被替换。
- 它不能允许做为实例化变量。
- 不能被用于类变量。
- 它不能初始化为NULL值
2.5 运算符
2.5.1、算数运算符
算术运算符
+ 加法运算符(字符串相加,数学加号) 正号
- 减法运算符 负号
* 乘法运算符
/ 除法运算符(结果会因为数据类型原因产生错误)
% 求余
++ 自增: 操作数的值增加1
++1:先自增,再参与运算 int a = 1; int b = a++; int c = ++a; a=3 b=1 c = 3
1++:先参与运算,再自增
-- 自减: 操作数的值减少1
--1:先自减,再参与运算
1--:先参与运算,再自减
2.5.2、赋值运算符
赋值运算符
= 将右操作数的值赋给左侧操作数
+=、-=、*=、/= 把左操作数和右操作数的值相加、减、乘、除、后赋值给左操作数
%=:取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数
<<=:左移位赋值运算符 C <<= 2等价于C = C <<2
>>=:右移位赋值运算符 C >>= 2等价于C = C >>2
&=:按位与赋值运算符 C&= 2等价于C = C&2
^=:按位异或赋值操作符
|=:按位或赋值操作符
2.5.3、关系运算符
关系运算符
== 判断如果两个操作数的值是否相等,如果相等则条件为真。
!= 判断如果两个操作数的值是否相等,如果值不相等则条件为真。
> 判断左操作数的值是否大于右操作数的值,如果是那么条件为真。
>= 判断左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
< 判断左操作数的值是否小于右操作数的值,如果是那么条件为真。
<= 判断左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。
instanceof :检查该对象是否是一个特定类型(类类型或接口类型)。
String name = "Java"
name instanceof String 结果:true(name是String类型的)
2.5.4、逻辑运算符
逻辑运算符
&&:与、且 一假则假,全真才为真
||:或 一真则真
!:非 取反
2.5.5、位运算符
位运算符
&:如果相对应位都是1,则结果为1,否则为0
a: 0011 1100
b: 1111 1111
a&b: 0011 1100
|:如果相对应位都是 0,则结果为 0,否则为 1
a: 0011 1100
b: 1111 1111
a|b: 1111 1111
^:如果相对应位值相同,则结果为0,否则为1
a: 0011 1100
b: 1111 1111
a^b: 1100 0011
〜:按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
a: 0011 1100
~a: 1100 0011
<<:按位左移运算符。左操作数按位左移右操作数指定的位数。相当于*2
>>:按位右移运算符。左操作数按位右移右操作数指定的位数。相当于/2
>>>:按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
&和&&的区别:
&&是逻辑运算符,与、且的意思。两边表达式一假则假,全真才为真。具有短路功能,如左边运算式为false,则 右边的表达式不参与运算
&是位运算符,按位与,等式两边表达式都为false时可做逻辑与运算,但等式两边都参与计算,无短路功能。
2*8怎么运算最快?
答:按位左移运算符操作最快,把2左移3位 2<<3
2转换成2进制为:0000 0010
左移三位:0001 0000 转换成10进制为16
<< >> 的效率是极高的
2.5.6、三目运算符
条件运算符(三目运算符)※※※※※※
(条件)?a:b 如果条件为true则执行a,否则执行b
2.5.7、优先级
版权声明
本文为[辰 羽]所创,转载请带上原文链接,感谢
https://blog.csdn.net/yuandfeng/article/details/114284664
边栏推荐
- Chapter VI, Section III pointer
- File upload vulnerability summary and upload labs shooting range documentary
- 2022 group programming ladder simulation match 1-8 are prime numbers (20 points)
- 淺學一下I/O流和File類文件操作
- Application and definition of interface
- Idempotency practice operation, explaining idempotency based on business
- Development record of primary sensitive word detection
- Using swagger in. Net5
- C-11 problem I: find balloon
- Query stored procedures in PostgreSQL
猜你喜欢
QT learning summary
Design and implementation of redis (6): how redis achieves high availability
2022 团体程序设计天梯赛 模拟赛 L1-7 矩阵列平移 (20 分)
Codeforces round 784 (Div. 4) (AK CF (XD) for the first time)
Design and implementation of redis (3): persistence strategy RDB, AOF
PYMOL-note
QT dynamic translation of Chinese and English languages
Detailed description of MySQL index [B + tree index, hash index, full-text index, overlay index]
2022 团体程序设计天梯赛 模拟赛 L2-3 浪漫侧影 (25 分)
The principle and solution of not allowing pasting in an English Network
随机推荐
Supersocket is Use in net5 - startup
你真的懂hashCode和equals吗???
PyMOL usage
There is no index in the database table. When inserting data, SQL statements are used to prevent repeated addition (Reprint)
Variable definition and use
Mechanical design knowledge point planning
JS takes out the same elements in two arrays
Super easy to use asynchronous export function of Excel
Problem C: realize Joseph Ring with linked list
Advanced sorting - fast sorting
Oracle query foreign keys contain comma separated data
Redis (17) -- redis cache related problem solving
JS changes the words separated by dashes into camel style
Chapter 8 exception handling, string handling and file operation
Alphafpld upgrade alphafold multimer
Téléchargement en vrac de fichiers - téléchargement après compression
Commonly used classes
Translation of l1-7 matrix columns in 2022 group programming ladder Simulation Competition (20 points)
ThreadLocal test multithreaded variable instance
2022 团体程序设计天梯赛 模拟赛 L2-1 盲盒包装流水线 (25 分)