栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA基础 - 什么是变量和运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA基础 - 什么是变量和运算符

  • 变量:计算机语言中能储存计算结果或能表示值的抽象概念
  • 运算符:运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。

 导航

1.变量(8种数据类型)

1.1整型变量(int)

 1.2长整型变量(long)

 1.3 双精度浮点型变量(double)

1.4 单精度浮点型变量(float)

1.5 字符类型变量(char)

1.6 字节类型变量(Byte)

1.7 短整型变量(short)

1.8 布尔类型变量(boolean)

1.9 字符串类型变量(String)

1.10 变量的命名规则

2.运算符

2.1 算术运算符

2.2 关系运算符

2.3 逻辑运算符

2.3.1逻辑与 &&

2.3.2逻辑或 ||

2.3.3逻辑非 !

2.4 位运算符

2.4.1按位与 &

2.4.2按位或 |

2.4.3按位取反 ~

2.4.4按位异或 ^

2.5 移位运算

2.5.1左移 <<

>">2.5.2右移 >>

>>">2.5.3无符号右移 >>>

2.6 条件运算符


1.变量(8种数据类型)

1.1整型变量(int)

int 变量名 = 初始值;

int num = 10;
System.out.println(num);

大小:一个整型变量大小为4个字节(-2^31 -> 2^31-1),1个字节(Byte) == 8比特(bit)

查看 Java 中的整型数据范围:

System.out.println(Integer.MAX_VALUE);  // int 的最大值
System.out.println(Integer.MIN_VALUE);  // int 的最小值
运行结果

 溢出:运算的结果超出了 int 的最大范围

int maxValue = Integer.MAX_VALUE;
System.out.println(maxValue+1);
int minValue = Integer.MIN_VALUE;
System.out.println(minValue-1);
运算结果

 1.2长整型变量(long)

long 变量名 = 初始值;

long num = 10L; // 定义一个长整型变量, 初始值写作 10l 也可以(小写的 L, 不是数字1).
System.out.println(num);

大小:一个长整型变量大小为8个字节(-2^63 -> 2^63-1)

查看 Java 中的整型数据范围:

System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);

// 运行结果
9223372036854775807
-9223372036854775808

 1.3 双精度浮点型变量(double)

double 变量名 = 初始值;

double num = 1.0;
System.out.println(num);

大小:一个长整型变量大小为8个字节(-2^63 -> 2^63-1),Java 中的 double 虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范围。

1.4 单精度浮点型变量(float)

float 变量名 = 初始值;

float num = 1.0f;    // 写作 1.0F 也可以
System.out.println(num);

大小:一个整型变量大小为4个字节(-2^31 -> 2^31-1)

1.5 字符类型变量(char)

char 变量名 = '初始值';

char a = 'A';
System.out.println(a);

char ch = '呵'; 
System.out.println(ch);

大小:一个整型变量大小为2个字节(在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符。 因此一 个字符占用2个字节, 表示的字符种类更多, 包括中文。)

执行 javac 的时候可能出现以下错误:
Test.java:3: 错误: 未结束的字符文字
char ch = '鍛?'; 
此时我们在执行 javac 时加上 -encoding UTF-8 选项即可
javac -encoding UTF-8 Test.java

1.6 字节类型变量(Byte)

Byte 变量名 = 初始值;

byte value = 0; 
System.out.println(value);
大小:一个整型变量大小为 1个字节 ( - 128 - > +127 )

1.7 短整型变量(short)

Short 变量名 = 初始值;

short value = 0; 
System.out.println(value);
大小:一个整型变量大小为 2个字节( -32768 - > +32767)

1.8 布尔类型变量(boolean)

Boolean 变量名 = 初始值;

boolean value = true;   //只有两种取值,true/false
System.out.println(value);

注意:

  1. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。
  2. boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定。

1.9 字符串类型变量(String)

String 变量名 = "初始值";

String name = "zhangsan"; 
System.out.println(name);
注意事项:
  1. Java 使用 双引号 + 若干字符 的方式表示字符串字面值。
  2.  和上面的类型不同, String 不是基本类型, 而是引用类型(后面重点解释)。
  3.  字符串中的一些特定的不太方便直接表示的字符需要进行转义。

补充1:常用转义字符

转义字符

解释
n换行
t水平制表符
'单引号
"双引号
\反斜杠
补充2:字符串的 + 操作, 表示字符串拼接/字符串和整数进行拼接
String a = "hello"; 
String b = "world"; 
String c = a + b; 
System.out.println(c);

String str = "result = "; 
int a = 10; 
int b = 20; 
String result = str + a + b; 
System.out.println(result);

1.10 变量的命名规则 硬性指标 :
  • 一个变量名只能包含数字, 字母, 下划线
  • 数字不能开头
  • 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量
注意 : 虽然语法上也允许使用中文 / 美元符 ($) 命名变量 , 但是 强烈 不推荐这样做 软性指标 :
  • 变量命名要具有描述性, 见名知意
  • 变量名不宜使用拼音(但是不绝对)
  • 变量名的词性推荐使用名词
  • 变量命名推荐 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大写

小驼峰命名法:

int maxValue = 100; 
String studentName = "张三";

2.运算符

2.1 算术运算符
  • 基本四则运算符 +        -        *        /        %

除法:

  1. int / int 结果还是 int , 需要使用 double 来计算
  2. 0 不能作为除数
  3. % 表示取余 , 不仅仅可以对 int 求模 , 也能对 double 来求模
  • 增量赋值运算符 +=         -=         *=         /=         %=
  • 自增 / 自减运算符 ++         --
结论:
  1. 如果不取自增运算的表达式的返回值, 则前置自增和后置自增没有区别
  2. 如果取表达式的返回值, 则前置自增的返回值是自增之后的值, 后置自增的返回值是自增之前的值

2.2 关系运算符

==         !=         <         >         <=         >=

注意: 关系运算符的表达式返回值都是 boolean 类型

2.3 逻辑运算符
&&         ||         !
注意 : 逻辑运算符的操作数 ( 操作数往往是关系运算符的结果 ) 和返回值都是 boolean

2.3.1逻辑与 &&
两个操作数都为 true, 结果为 true, 否则结果为 false
int a = 10; 
int b = 20; 
int c = 30; 
System.out.println(a < b && b < c);

2.3.2逻辑或 ||
两个操作数都为 false, 结果为 false, 否则结果为 true
int a = 10; 
int b = 20; 
int c = 30; 
System.out.println(a < b || b < c);

2.3.3逻辑非 !

操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数)

int a = 10; 
int b = 20; 
System.out.println(!a < b)

2.4 位运算符

&         |         ~         ^

位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的每一位依次进行计算

2.4.1按位与 &
如果两个二进制位都是 1, 则结果为 1, 否则结果为 0

2.4.2按位或 |
如果两个二进制位都是 0, 则结果为 0, 否则结果为 1
注意 : 当 & 和 | 的操作数为整数 (int, short, long, byte) 的时候 , 表示按位运算 , 当操作数为 boolean 的时候 , 表示逻辑运算

2.4.3按位取反 ~
如果该位为 0 则转为 1, 如果该位为 1 则转为 0

int a = 0xf; 
System.out.printf("%xn", ~a);

2.4.4按位异或 ^
如果两个数字的二进制位相同 , 则结果为 0, 相异则结果为1
int a = 0x1; 
int b = 0x2; 
System.out.printf("%xn", a ^ b);

2.5 移位运算

<<         >>         >>>

2.5.1左移 <<

最左侧位不要了, 最右侧补 0

int a = 0x10; 
System.out.printf("%xn", a << 1); 
// 运行结果(注意, 是按十六进制打印的) 
20

2.5.2右移 >>
  最右侧位不要了 , 最左侧补符号位 ( 正数补 0, 负数补 1)
int a = 0x10; 
System.out.printf("%xn", a >> 1); 
// 运行结果(注意, 是按十六进制打印的) 
8 
 
int b = 0xffff0000; 
System.out.printf("%xn", b >> 1); 
// 运行结果(注意, 是按十六进制打印的) 
ffff8000

2.5.3无符号右移 >>>
最右侧位不要了 , 最左侧补 0
int a = 0xffffffff; 
System.out.printf("%xn", a >>> 1); 
// 运行结果(注意, 是按十六进制打印的) 
7fffffff
注意:
  • 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  • 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  • 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
  • 移动负数位或者移位位数过大都没有意义

2.6 条件运算符

表达式1 ? 表达式2 : 表达式3

Java 中唯一的一个 三目运算符, 是条件判断语句的简化写法

// 求两个整数的最大值
int a = 10; 
int b = 20; 
int max = a > b ? a : b;

芜湖,结束啦结束啦!~!~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/314226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号