标识符的命名规则
必须以字符、下划线(_)或美元符号($)开头;
余下的字符可以是下划线、美元符号或任何的字母或数字,长度不限;
标识符中不能有空格;
不能使用Java中的关键
数据类型
基本类型 整数类型: byte short int long (long赋值的时候 数据后面加l或者L)
浮点数类型 float double (float赋值的时候 数据后面加f或者F double赋值的时候可加d或D也可不加)
字符类型 char (char表示单个字符 用单引号 String 表示字符串 表示多个字符 用双引号)
布尔类型 boolean
转义类型 \t 表示tab键
public class 字符类型char {
public static void main(String[] args) {
//char 单个字符 单引号
char c ;
c = 'b';//char类型赋值时用单引号 字符数据必须使用单引号括起来
System.out.println(c);
c = '聪';
System.out.println(c);
//转义字符 \
c = '\t';
System.out.println(c);
//字符数据在计算机中实际上最后都是变成一个整数来存储的
c = 20013;
System.out.println(c);
//String 字符串 双引号 不是基本类型 是引用类型
String name;
name = "王\t思\t聪\t是舔狗";//字符串数据必须使用双引号括起来
System.out.println(name);
int x =1,y =2, z = 3;
name ="\t";
System.out.println(x+name+y+name+z);
}
}
运算符
赋值运算符
= (右侧赋值给左侧) += ( x+=y 相当于 x=x+y) -=, *=, /=
算术运算符
+, - ,* ,/ ,%,++, --
其中/(除法):整数和整数相除等于整数 例:3/2=1 整数不能除以0
整数和小数相除等于小数 小数除以0等于infinity
% 取余运算 模运算 得到除不尽的部分称为余数
++ -- 自增 自减
自增 自减 在变量名的前面,先自增自减后运算
自增 自减 在变量名的后面,先运算后自增自减
int x = 3,y = 2;
int z ;
z = x++ + --y ;
System.out.println(x);
System.out.println(z);//结果为 x=4 z=4
关系运算符
==, !=, > ,< ,>= ,<=
结果都是布尔型
逻辑运算符
&&, || ,!
&& 逻辑与 参与运算的数据都是true 结果才为true
逻辑与 短路运算 如果前面的代码计算的结果是false 则发生短路 后面可以不运算
|| 逻辑或 参与运算的数据有一个true 结果就为true
逻辑或短路运算 如果前面的代码计算的结果是true 则发生短路 后面可以不运算
!逻辑非 反操作 true变false false变true
三元运算符(二选一)
表达式1?表达式2:表达式3; 表达式1为true时结果为表达式2 ,为false时结果为表达式3
int x = 5,y = 10;
int max;
max = x>y?x:y;
System.out.println(max);
//x的值<y的值 所以x>y为false 结果为max为y的值 10
//xy无论值为多少 该三元运算符最后输出为xy之中最大值
数据类型转换
自动性类型转换
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后进行计算
short s = 100;
int m = 1000;
float f = 0.13f;
double d =3.64;
d = s + m + f + d;//此时java自动把后面的表达式数据类型转换为表达式中最大类型double
整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵守以下原则
char byte short 不能相互转换 同时运算时转化为int类型
byte x = 0;
short y = 0;
i = x+y;//此时java自动把表达式数据类型转变为int i为int类型
强制性类型转换
容量大的数据类型转换为容量小的数据类型时,需要使用强制类型转换
变量 = (目标类型) 值
int i = 1000;
byte b = (byte)i;
System.out.println(b);//此时b=-24 精度溢出
double d = 3.11122233;
i = (int)d;
System.out.println(i);//此时i=3 精度丢失
//强制类型转换会造成
//1.精度溢出
//2.精度丢失
short s = 10;
i = (int)(s+i+d);//表达式进行强制转换时 需要把表达式括起来