Java基础语法与运算符
1.注释
Ctrl + shift + / — 整段注释
*Ctrl + shift + * — 整段解除注释
单行注释:使用双斜杠 //注释内容
多行注释:/* 注释内容 */
文档注释:/** 注释内容 */
作用:解释说明,提高代码阅读性;帮助查找错误;
ps:单行注释可以 嵌套
多行注释不能
2.关键字
java中具备特殊含义的英文单词
关键字特点
- 字母全部小写
- main 不是关键字,但必须这么写
3.标识符
自己起的名
命名规则
- 可以由26个大小写的英文字母、数字、下划线以及美元符号构成
- 不能与 关键字 重名
- 开头 不能是 数字
- 不能含有 空格
- 区分大小写
4.常量
在程序执行过程中,其值不会改变的量
分类
-
字面值常量
整数常量 --- 12,13,8 小数常量 --- 3.14,12.08 字符常量 --- 单引号括起来的 '字符' 字符串常量 --- 双引号括起来的 "字符串" 布尔常量 --- true,false 空常量 --- null
-
自定义常量
5.变量
定义格式:
-
数据类型 变量名 = 值;
int ss = 12; 相当于在内存中划分了一块内存空间
-
数据类型 变量名;
变量名 = 值;
int ss;
ss = 12;注意事项:
1.当我们想要给float数据类型的变量赋值的时候,我们要在数值的后面加上F或者f 2.当我们想要给long数据类型的变量赋值的时候,我们要在数值的后面加上L或者l,有的时候不加也行 3.当我们想要使用某个变量的时候,一定要先赋值,再使用,要不然会报错 4.当我们想要给某个变量赋值的时候,我们一定要考虑该变量数据类型的范围,不能随便赋值 5.在同一对花括号内{},不能定义同名变量
数据类型
计算机存储设备的最小信息单元是 位(bit) b
计算机对数据进行存储和运算的最小单位是 字节(byte) B
1 字节 = 8 位
- 基本数据类型
- 整数类型 — byte、short、int、long
- 浮点类型 — float、double
- 字符类型 — char
- 布尔类型 — Boolean
数据类型 | 大小 | 范围 | 默认值 |
byte | 1字节 | -128 ~ 127 (2^7) | 0 |
short | 2字节 | -32768 ~ 32767 (2^15) | 0 |
int | 4字节 | -2^31 ~ 2^31-1 | 0 |
long | 8字节 | -2^63 ~ 2^63-1 | 0 |
float | 4字节 | -10^-38 ~ -10^38 及 10^-38 ~ 10^38 | 0.0f |
double | 8字节 | -10^-308 ~ -10^308 及 10^-308 ~ 10^308 | 0.0d |
char | 2字节 | 0 ~ 65535 | '\u0000' |
Boolean | 1/8 字节 | true / false | false |
- long l = 9L (整数默认为 int 型,加 L/l 说明其为 long 型)
- float f = 13.1F (浮点数默认为 double 型,加 F/f 说明其为 float 型)
- 引用数据类型
- 数组
- 类
- 接口
- String
6.类型转换
隐式类型转换
当有多个数据类型参数运算的时候,小的数据类型会自动转换为大的数据类型。
byte、short、char --> int --> long --> float -->double
boolean不参与转换
ps:
byte b1 = 1;
byte b2 = 2;
byte b3 = b1 + b2;//编译时会报错
byte b1 = 1;
byte b2 = b1+1;
byte b3 = b1 + b2;//编译时依旧会报错
因为只是编译还没有运行,1和2均未赋值给 b1和b2,他们此时还是变量
两个变量相加极有可能会超出 byte 数据类型的取值范围
short 同理
byte 和 short类型参数运算时,只要右边有一个变量,均会报错。
强制类型转换
大的数据类型强制转换成小的数据类型
格式:
小的datatype 变量名 = (小的datatype)大的datatype变量名
eg:
int i = 1;
byte b = (byte)i;
7.ASCII编码表
'0' ———— 48
'A' ———— 65
'a' ———— 97
8.运算符
算数运算符
+ --- 加号;正;连接符
- --- 减号;负;
* --- 乘号;
/ --- 除号;java中,整数除以整数还是整数,且不会四舍五入
% --- 取余;
++ ---自增;
-- ---自减;
如果++在后,要先参与运算,然后再自身加1;如果++在前,要先自身加1,然后再参与运算
--同理
常见的考试题:
byte b1 = 1;
b1 = b1 + 1;
System.out.println(b1);//编译的时候报错
byte b1 = 1;
b1++;// b1 = b1 + 1
System.out.println(b1);//正确,2
为什么不报错?
因为++里面多了一个强制类型转换
赋值运算符
- = — 赋值
- += — 加等
- -=, *=, /= ,%= 同理
关系运算符
关系运算符值永远只有 true 和 false
- ==
- !=
- <= 以及 >=
逻辑运算符
针对Boolean 类型,结果也一定是一个 Boolean 类型的
- & — 与
- | — 或
- ^ — 异或 (相同为true,不同为false)
- ! — 非
- && — 短路与 (前面表达式为false,后面表达式不执行)
- || — 短路非 (前面表达式为true,后面表达式不执行))
三元运算符(条件运算符)
格式:
条件表达式 ?表达式1 :表达式2 ;
条件表达式值为 true ——> 表达式1 ;
条件表达式值为 false ——> 表达式2 。
3>2?System.out.println(3):System.out.println(4);
错误!!! 表达式1、2 不能是输出语句!!!