package com.zhiyou100.Day02;
public class Test01 {
}
一个源文件中可以有多个类,但只能有一个public修饰的类, 并且此类的名字必须和源文件名一致
1 语法5:常量和变量
常量
常量:运算过程中 值不能发生更改的数据
常量分类:八种基本数据类型的常量值: 1(int 常量) 1.0(double 常量) ‘a'(char 常量) TRUE(Boolean 常量) final常量:被修饰符final修饰的常量
变量
变量:运算过程中 值可以更改的数据
变量理解:类似于代数的未知数
变量使用宗旨:先定义 再赋值 后使用
//定义变量格式:数据类型 变量名
int NianLing=33;
NianLing=123;//变量可以多次赋值
定义变量并赋值
// byte变量:班级人数
// short变量:月薪:
// int变量:新冠病毒患者人数
// long变量:世界总共人口
// float变量:银行卡余额
// double变量:Π的值
// char变量:姓
// boolean变量:是否听懂
//在同一方法中 同名的方法不能重复定义
//名字的意义;方法的调用+同类区分
byte Num=37;
short Salary=15000;
int HuanZhe=1;
long Sum=1400000000000000l; // 加l/L 表示常量是long常量
float Balance=5.00f;
double Pi=3.1415926;
char Xing='中'; //字符:必须写在''中 ''中有且只有一个字符
boolean isD=true;
数据类型转换
使用前必须先给变量赋值
数据类型精度表:byte—short—(char)—int—long—float—double
自动类型转换情况1:
把低精度值 赋值给高精度变量
格式:高精度变量=低精度变量;
编译器会自动把低精度数据转化为高精度变量的类型 然后赋值 ;
java是强类型语言 变量的值必须和变量的类型一致
s1=b1;//编译器会自动把byte类型的1 自动转换为short类型的1 然后赋值
//00000001 ,00000000 00000001
自动类型转换情况2:
给byte short char类型的变量赋值int类型的常量值 编译器会自动判断变量是否能装下。 如果装不下会报错;如果能装下,会自动把4个字节的int 转换为变量对应的类型。
b1=11; 把00000000 00000000 00000000 00001011 自动转换为 00001011
b1=198; 不能把00000000 00000000 00000010 00001011自动转换为 00001011 因为前三个字节中有有效数据
强制类型转换情况3:
把高精度数据强制赋值给低精度变量
格式: 低精度变量=(低精度变量类型)高精度数据;
f1=(float)1.1;
字符和int之间的转换需要ascII编码表(0–48;A–65;a–97)
2 运算符
1 算数运算符
+ - * / % ++ --
a++,先赋值后运算;++a,先运算,后赋值。
= 赋值 int a=2 2 (赋值运算符)
== 相等于 4==3 False (比较运算符)
2 比较运算符
== > >= < <= !=
3 赋值运算符
+=,-=,*=,/=,%=
4 逻辑运算符
运算符 运算规则 范例 结果
&& 短路与 false&&true False
|| 短路或 false||true True
& 与 1&0,0&0,1&1 0,0,1
| 或 1|0,0|0,1|1 1,0,1
^ 异或 1^0,0^0,1^1 1,0,0
! 非 !true Flase
当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断
^运算规律
1^0=1,0^0=0,任何数和0相异或得到的是这个数本身
0^1=1,1^1=0,任何数和1相异或得到的是这个数的相反
一个数自己和自己异或得到的是0
5 位运算符
& | ^ >> <<
6 三目运算符
boolean值?值1:值2
转义字符
\是转义字符 把特殊字符转化为普通字符 把普通字符转化为特殊字符
Xing='\''; //
Xing='\"'; // 输出双引号
Xing='\n'; // 把普通字符n 转换为特殊字符 换行符
Xing='\t'; // 制表符