java中的数据类型:
基本数据类型
布尔类型:boolean
字符类型:char
整数类型:byte short int long
浮点类型:float double
引用数据类型
String Student Teacher.....
class Student{}
Student stu = new Student();
java中的运算符:
+ - * / %
[+:当+遇到String类型时候 表示追加连接 其他的情况-》算数加法]
'a' + 13 + 'b' = 110 + 98 = 208
'a' + 13 + "b" = 110b
[/:整数 / 整数 = 整数]
9 / 2 = 4
[%:求余数]
x % 5 == 0
+= -= *= /= %=.....
[他们可以保证运算符的左边的数据类型不发生改变 -》 隐式的强转]
Student stu = new Student();
stu.name = "小丽";
stu.age = 22;
stu.score = 59;
if(stu.age > 18){
stu.score += 5;
}
++ --[自增自减运算符]
[a:取值 b:运算 x++:ab ++x:ba]
int x = 45;
//y赋值:
//x++:先取值:45 运算:x=46
//++x:先运算:x=47 //取值:47
int y = x++[45] + ++x[47];//92
System.out.println(x);//47
System.out.println(y);//92
> < >= <= ! = != ==
> < >= <=:都是boolean类型
!:非 !boolean !true = false !false = true
!=:判断左右两边的值是否不相等
System.out.println(xxx.gender != '男');
==:判断左右两边的是是否相等
System.out.println(xxx.age == 18);
=:赋值语句
&& || & |[逻辑运算符]
&&和&之间的区别?
&&和&都是逻辑的与 相当于汉文中并且的意思
需要前后两个条件都成立才能执行
&&叫做逻辑的短路与 有短路特性
1:short类型和char类型之间永远需要强转
short属于整数类型 底层16个位,取值范围:-2(15)到2(15)-1
char属于字符类型 底层基于Unicode编码实现的 ,取值范围:0到2(16)-1
2:字符类型的赋值方式:
public class TestDataType2{
public static void main(String[] args){
//数据单位 变量名 = 值;
char x1 = 'a';//指定字面值的赋值方式
char x2 = '中';//指定字面值的赋值方式
//=====================================================
char x3 = 97;//通过ascii编码进行赋值
char x4 = '\u4e2d';//通过Unicode编码进行赋值
char x5 = '\t';//转义字符
/**
\t \r \b \n
制表符 返回行首 退格键 换行
*/
System.out.println(x1);//a
System.out.println(x2);//中
System.out.println(x3);//97
System.out.println(x4);
System.out.println("e\tt\no\ra\bk");
//e t
//k
System.out.println("小明\t455");
System.out.println("赵小刚\t666");
//打印:D:\课件\et2003\day3
System.out.println("D:\\\\课件\\et2003\\day3");
}
}
3:整数类型的赋值方式
public class TestDataType3{
public static void main(String[] args){
int num1 = 24;//通过十进制进行赋值 ******
//============================================================
int num2 = 024;//通过八进制进行赋值
int num3 = 0x24;//通过十六进制进行赋值
int num4 = 0b1011;//通过二进制进行赋值
System.out.println(num1);//24
System.out.println(num2);//024 = 2 * 8(1) + 4 * 8(0) = 16 + 4 = 20
System.out.println(num3);//0x24 = 2 * 16(1) + 4 * 16(0) = 322 + 4 = 36
System.out.println(num4);//
//81 + 8 * 8(1) + 1 * 8(0) + 8 * 16(1) + 1 * 16(0) = XXXX
//System.out.println(81 + 081 + 0x81);
//二进制 -》 0-1
//八进制 -》 0-7
//十六进制 -》 0-9 a-f
//jdk7.0开始数值中间可以加_ -》 读
System.out.println(4_356_548_845L);
//byte x = 55;
//System.out.println(x);
//System.out.println(55);//int
//System.out.println(30 + 3L);
//求一年的毫秒数
//System.out.println(365L * 24 * 60 * 60 * 1000);
//System.out.println(2147483647 + 1);
}
}
4:float类型 double类型 科学计数法
public class TestDataType4{
public static void main(String[] args){
float x = 45.5F; //float类型需要加F,还有long类型
double y = 45.5;
//4.5E9 -> E:科学计数法 4.5 * 10(9)
System.out.println(4500000000.0); //4.5E9
System.out.