Java 基本数据类型与运算符
一、标识符与基本数据类型
1.1 注释
1.1.1 注释的作用
- 解释代码
1.1.2 注释的种类
1.1.2.1 单行注释
public static void main(String[] args) {
// 年龄
int age = 18;
}
1.1.2.2 多行注释
public static void main(String[] args) {
/*
public 公共的
static 静态的
System 系统
out 输出
*/
System.out.println("Hello World");
}
1.1.2.2 文档注释
/**
这是JVM的入口,我们一般称之为主函数
*/
public static void main(String[] args) {
System.out.println("道");
}
1.2 Java 关键字
- Java 语言赋予特殊含义的单词
1.2.1 关键字预览
1.3 标识符
- 标识符就是名称的意思,所有的名字都统称为标识符。
- Java 中经常要定义类、方法、变量等,在定义的时候需要给它们取名字,这些名字就是标识符
1.3.1 标识符的组成
- 字母
- 数字
- 下划线 _
- 美元符 $
- 不能以数字开头
- 不能是关键字
- 遵循驼峰法则
- 见名知意
标识符可以是中文吗?
1.4 基本数据类型
1.4.1 什么是数据
- eg : LOL 玩家就是数据、呈现给玩家的信息也是数据,数据无处不在。
1.4.2 数据类型
- 指包含由各特殊的事物或现象抽出来的共通点的抽象概念
eg : 人名是英文的还是中文的 ?
1.4.3 Java 中的数据类型
- Java 是强类型语言,对每一种数据都有对应的数据类型
- 基本数据类型是 Java 语言中内置的类型。整数类型、小数类型、字符类型、布尔类型这四类是最基础的类型
- 引用数据类型是强大的数据类型,它是基于数据类型创建的。
基本数据类型的取值范围
- char 字符型 ,2个字节 ,用单引号表示 ’ ’ ,刚好容纳一个汉字,注意:里面只能放一个
- boolean 布尔型 ,一个字节 0000 0001 最低为表示,取值(布尔值) :true(真) 和 false(假)
- E : 123E5 = 123 * 10^5 = 12300000 , 123E-5 = 123 * 10^-5 = 0.0123
- e : 自然常数,约 2.718281828
1.5 Java 的常量与变量
1.5.1 常量
- 常量就是不变的数据量,例如666就是常量。任何数据量都有其类型,那么这个666又是什么类型呢?没错,就是整数类型!!!
- 整数类型: 18 、666 、1888等
- 小数类型: 1.8 、6.66、3.1415926等
- 字符类型: ‘a’ 、‘A’、‘0’ 、‘中’等。(注意: 字符型是用 ’ ’ 包裹,并且里面只能写一个)
- 布尔类型: true(真)、false(假)
- 字符串类型: “我爱Java”、“HelloWorld!!!”、“我爱编程,编程使我快乐!”
1.5.2 变量
1.5.2.1 变量的概述
- 变量是内存中装数据的小容器,你只能用它来存数据和取数据。
1.5.2.2 计算机的存储单元
- 变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机的存储设备最小信息单元叫 “位( bit )”, 我们又称之为”比特位“,通常用小写字母b表示。而计算机最小的存储单元叫"字节(byte)",通常用大写字母B表示,1个字节由8个位组成。
- 操作系统分派的最小存储空间是1个字节,而不是1位。
1B(字节) = 8 bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1.5.2.3 定义变量
- 语法
- 数据类型 变量名 = 数据值;
局部变量
- 我们使用变量的时候要注意,要满足变量的使用规则我们才能使用
- 定义变量时可以先不赋值,使用时在赋值。不赋值不能使用
public class Demo2{
public static void main(String[] args){
int x;//先定义一个变量x
x = 20;//把20赋值给这个x
System.out.println(x);//这一步是打印x,这也就是在这一行用到了x
}
}
- 变量不可重复定义
public class Demo3{
public static void main(String[] args){
int i = 10;
double i = 1.5;// 这里 i 就重复了,会发生编译错误
}
}
1.5.3 数据类型转换
1.5.3.1 显示转换
- 小范围数据类型 变量 = (小范围数据类型 变量)大范围数据类型;
- int n = (int)6.7;
1.5.3.2 隐式转换
二、Java 运算符
2.1 算术运算符
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
+ | 加 | 2+3 | 5 |
+ | 连接字符串 | “中”+“国” | “中国” |
- | 负号 | int a=3;-a | -3 |
- | 减 | 3-1 | 2 |
* | 乘 | 2*3 | 6 |
/ | 除 | 5/2 | 2 |
% | 取模 | 5%2 | 1 |
++ | 自增 | int a=1;a++/++a | 0 |
– | 自减 | int a=3;a–/--a | 3 |
-
使用算术运算符是需要注意
-
加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串
public class Demo4{ public static void main(String[] args){ System.out.println("中" + "国");//打印出中国 } }
-
除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除
System.out.println(3/2);// 1 System.out.println(3.0/2);//1.5
-
“%”取模(取余数),小数取余没有意义。结果符号与被取余符号相同
System.out.println(5%3);// 5 / 3 = 1 ... 2 所以结果时 2 System.out.println(3%5);// 一个小的数对一个大的数取模,就等于它本身 3
-
算术运算符 ++ , --的使用
int a = 3; int b = 3; a++; b--; System.out.println(a);//4 System.out.println(b);//2
-
上面的代码输出结果 a 的值为4,b 的值为2,这说明 a 与 b 的值在原有的基础上发生了改变,改变的值为1.
-
++运算符:会在原有值得基础上自增1
-
–运算符:会在原有值得基础上自减1
int a = 3; int b = 3; ++a; --b; System.out.println(a);//4 System.out.println(b);//2
上面的代码输出结果 a 的值为4,b 的值为2, 说明 ++,-- 在单独使用并且不参与操作符时,不管在前还是在后结果是一样的。
-
接下来我们参与操作符
int a = 3; int b; b = a++ + 10; System.out.println(a);//4 System.out.println(b);//13
- 上面代码的输出结果a值为4,b 值为13;
- 强调:当 ++,-- 运算符后置时,先使用变量 a 原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1
-
再介绍下 ++,-- 运算符前置时,参与运算操作的变化,我们来看一段代码 :
int a = 3; int b; b = ++a + 10; System.out.println(a);//4 System.out.println(b);//14
- 强调: ++,-- 运算符前置时,先将变量 a 的值自增1或者自减1,然后使用更新后的新值参与运算操作
2.2 赋值运算符
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
= | 赋值 | int a=2 | 2 |
+= | 加后赋值 | int a=2,a+=2 | 4 |
-= | 减后赋值 | int a=2,a-=2 | 0 |
*= | 乘后赋值 | int a=2,a*=2 | 4 |
/= | 整除后赋值 | int a=2,a/=2 | 1 |
%= | 取模后赋值 | int a=2,a%=2 | 0 |
-
注意:诸如 += 这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
public class Demo5{ public static void main(String[] args) { byte x = 10; x += 20;// 相当于 x = (byte)(x+20); System.out.println(x);// 30 } }
- 注意:赋值运算符左边必须是变量
- 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的
2.3 比较运算符
-
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false 。
运算符 运算规则 范例 结果 == 相等于 4==3 False != 不等于 4!=3 True < 小于 4<3 False > 大于 4>3 True <= 小于等于 4<=3 False >= 大于等于 4>=3 True int a = 3; int b = 4; System.out.println( a=b );// 4 System.out.println( a==b );// true
2.4 逻辑运算符
-
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false
运算符 运算规则 范例 结果 & 与 false&true False | 或 false|true True ^ 异或 true^flase True ! 非 !true Flase && 短路与 false&&true False || 短路或 false||true True boolean b = 100>10; boolean b2 = false; System.out.println(b&&b2); // 打印结果为 false System.out.println(b||b2); //打印结果为 true System.out.println(!b2); //打印结果为 true System.out.println(b && 100>10); //打印结果为 true,本行结果的计算方式稍后讲解运算符优先级时解答
2.5 三元运算符(三目运算)
-
格式
数据类型 变量名 = (条件表达式)?表达式1:表达式2;
-
三元运算符运算规则
-
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2
方式一: System.out.println( 3>2 ? “正确” : “错误” ); // 三元运算符运算后的结果为true,运算结果为表达式1的值“正确”,然后将结果“正确”,在控制台输出打印 方式二: int a = 3; int b = 4; String result = (a==b) ? “相等” : “不相等”; System.out.println(result); //三元运算符运算后的结果为false,运算结果为表达式2的值“不相等”,然后将结果赋值给了变量result 方式三: int n = (3>2 && 4>6) ? 100 : 200; System.out.println(n); //三元运算符运算后的结果为false,运算结果为表达式2的值200,然后将结果200赋值给了变量n
-