1. 标识符
标识符: 程序员你自己定义的具有特殊功能或含义的字符组合
标识符的命名规则:
1.只能由数字,字母(52个英文字母),下划线,和$符号组成.
2.标识符的第一个字符不能是数字
3.不能使用关键字和保留字作为标识符
4.严格区分大小写
标识符的命名规范:
1.见名知意
2.不要与系统变量或方法重名
3.标识符命名的时候遵循的命名法
变量,方法名称:小驼峰命名法
类名:大驼峰命名法
包名: 公司域名进行反转例如 cn.itcast.包名 包名使用小写,多个单词中间用_分隔
常量: 全部大写的方式,多个单词中间用_进行分隔
2. 数据类型转换
数据类型转换:
1.隐式(自动)数据类型转换: 小(范围) >> 大(范围)
2.显式(强制)数据类型转换: 大(范围) >> 小(范围)
public class Demo08 {
public static void main(String[] args) {
// 小数据类型向大数据类型转换可以自动进行
byte b1 = 12;
int number1 = b1;
System.out.println(number1);
// 大数据类型,向小数据类型转换
// java: 不兼容的类型: 从int转换到short可能会有损失
// s1 是short类型,就使用其标识我们要转换为的数据类型即可
// 格式: 小数据类型 变量名称 = (小数据类型) 大类型数据
short s1 = (short)number1;
System.out.println("s1 = " + s1);
//如果数据的字节大小相同, 那就范围大的向范围小的转换强制, 范围小的向范围大的转换自动
float f1 = 12.3f;
int num1 = (int)f1;
System.out.println("num1 = " + num1);
float f2 = num1;
System.out.println("f2 = " + f2);
int num2 = 129;
// byte 类型的范围是 -128 -- 127
byte b2 = (byte) num2;
System.out.println("b2 = " + b2);
// 当小数据类型没有办法接收更大的数据值时,会进行二进制层面的省略,造成数据 错乱
}
}
注意事项
public class Demo09 {
public static void main(String[] args) {
int num1 = 12;
char c1 = 'a';
double d1 = 12.3;
boolean b1 = true;
//1.如果是int类型的数据和double的数据相加, 结果是什么类型? double
System.out.println(num1 + d1); // 24.3
//2.如果是char类型的数据和int类型的数据相加, 结果是什么类型?'\
// char类型与数值进行相加,得到的是ASCII码对应的数字
System.out.println(c1 + num1); // 109
char c2 = 99;
char c3 = '中';
System.out.println(c2); // c
// 根据码表不同汉字代表的数字也不同,但是一定是可以和数字进行相加相减操作的
System.out.println(c3 + num1); // 20025
//3.如果是boolean类型的数据和int类型的数据相加, 结果是什么类型? 不能相加
// java: 不兼容的类型: boolean无法转换为int
// System.out.println((int)b1 + num1);
//` 更改方式
short s = 11;
s = (short) (s + 3);
System.out.println(s);
}
}
3. 运算符
// 算术运算符
// +, -, *, /, %, ++, --
System.out.println(2 + 4);
// 取模 取余运算 11 除以 3 商 3 余 2
System.out.println(11 % 3);
int n1 = 12;
/* //++ 自增运算
// n1++;
++n1;
System.out.println(n1);
//-- 自减运算
// n1--;
--n1;
System.out.println(n1);*/
// 思考: ++ -- 写在变量之前和之后,有什么区别???
// ++ -- 写在变量之前,就先进行自增自减运算再参与表达式计算
// 如果写在变量之后,就是先使用数据进行运算,再使用自增自减
// System.out.println(n1++ + ++n1); 面试题 笔试题
System.out.println(n1++); // 12 n1先进行了使用 然后对n1 进行自增
System.out.println(++n1); // 14 先对n1进行自增,然后再使用n1 此时n1是14
// 在java中有没有整除????
// 在java中只要是两个int类型数据进行计算无论如何计算结果都是int类型,所以不需要整除
int n2 = 11 / 3;
System.out.println("n2 = " + n2);
int n3 = (int)(11.2 / 3);
System.out.println("n3 = " + n3);
// 赋值运算符
// =, +=, -=, *=, /=, %=
// = 是将等号右侧的值赋值给等号左侧的变量,,但是要注意变量类型
// += 代表的就是
float f1 = 12.3f;
f1 += 12;
// >>> f1 = f1 + 12;
System.out.println(f1);
// 比较(关系)运算符
// ==, !=, >, >=, <, <=
// 在java中没有连续的比较运算
System.out.println(1 != 2);
// System.out.println(12 <= f1 <= 24);
// 逻辑运算符
// &&(逻辑与: 同真即真), ||(逻辑或: 同假即假), !(非: 非真即假,非假即真)
System.out.println(true && true); //true
System.out.println(false && true); //false
System.out.println(false && false); //false
System.out.println(true && false); //false
System.out.println(!false); //true
// 三元(三目)运算符
// 格式: 条件 ? 条件成立时返回的数据 : 条件不成立时返回的数据
// 需求: 返回两个变量中的较大值
byte b1 = 9;
byte b2 = 2;
System.out.println(b1 > b2 ? b1 : b2);