boolean - 布尔值 ,true(真),false(假)

1.boolean 定义
//规定中boolean只有俩个值:true;false; boolean a = true; boolean b = false; // boolean c = 1;//编译错误,1不能boolean类型,不能赋值给变量c
2.运算 逻辑运算
&& 与运算 || 或运算 ! 非运算
boolean c = a&&b; c = a||b; c = !a;
3.boolean类型主要用于条件判断
int age = 19;
boolean d = age >18 ;//age>18 结果是true 使用d= true;
if (d){//if..else 就是判断boolean的数据值,如果为真 就输出成年人 如果为假 就输出未成年人
System.out.println("成年人");
}else {
System.out.println("未成年人");
}2.数据类型转换1.自动转换:
小类型自动转换大类型
byte->short->int->long->double
char->int

2.强制数据类型转换
大类型转换成小类型,需要强制转换
// int a2 = 3.6;//编译错误 3.6是double类型 a2是int 不能直接转换
int a2 = (int)3.6;//强制数据类型转换 在数据3.6的前面加(int) 告诉程序,把这个3.6转化成int
System.out.println("a1:"+a1);
System.out.println("a2:"+a2);转换会出现 精度会丢失,或者溢出
double d = 3.141592666666666;
float d1 = (float) d;
System.out.println("精度丢失:"+d1);//3.1415927
long data = 10000000000L;
int data1 = (int) data;
System.out.println("溢出:"+data1);//1410065408
byte b1 = 100;
// byte b2 = 128;//编译错误,超出byte的取值范围
short s1 = 100;
// short s2 = 1000000;//编译错误,超出short的取值范围
byte b2 = 5;
// byte b3 =(b1 + b2);//编译错误,byte数据类型不匹配 运算中byte或者short 都会转换成int的结果
byte b3 = (byte)(b1 + b2);
System.out.println("b3:"+b3);
short s2 = 200;
// short s3 = (s1 +s2);//编译错误,short数据类型不匹配 运算中byte或者short 都会转换成int的结果
short s3 = (short) (s1 +s2);
System.out.println("s3:"+s3);
short s4 = 10+10;//10+10是可以的 先运算再赋值给short s43.算数运算符算数运算符: + - * / %
++ -- 符号 (+,-) 能做算数运算的类型: byte short int long float double 做算术运算的类型: boolean,其他复杂类型
1.取余(%)运算
boolean k = data1 % 3 == 0;
System.out.println("k:"+k);2.++,--运算
int i = 5;
i++;//自增 i = i + 1 先用后加
++i;//自增 i = i + 1 先加后用
System.out.println(i);
i--;//自减 i = i - 1 先用后加
--i;//自减 i = i - 1 先加后用
int j = ++i;//前自增 先对i进行增加 然后把增加之后的数据值 赋值给变量j
System.out.println("i:"+i+",j:"+j);
j = i++;//后自增 先把原本的数据值 赋值给变量j 再对i进行增加
System.out.println("i:"+i+",j:"+j);
int i1 = i++ + j++ + i--; //i++ = 7 j++ = 6 i-- = 8
System.out.println("i1:"+i1);//21
int a = 1;
int i2 = ++a + a++ + ++a;
//1.运算++a,得到结果后压栈1
//2.运算a--,得到结果后压栈2
//3.将栈1+栈2
//4.运算++a,得到结果后压栈3
//将栈1+栈2的结果,与相加栈3
System.out.println(i2);3.符号(+ -)
int m1 = -5;
int m2 = +5;
int m3 = -5 - 5;
int m4 = -5 + 10;
int m5 = -5 + +10;
System.out.println("m1:"+m1);
System.out.println("m1:"+m2);
System.out.println("m1:"+m3);
System.out.println("m1:"+m4);
System.out.println("m1:"+m5);4.关系运算大于(>) 大于等于(>=) 等于(==) 不等于(!=) 小于(<) 小于等于(<=)
能进行关系运算:byte short int long float double
不能进行关系运算:boolean
1.关系运算的结果为boolean类型
int a = 100;
int b = 200;
boolean r = a >b;//关系运算 r是false
char c = '中';
char c1 = '国';
if (c>c1){//c>c1 如果满足条件 那么就true 否则为false
System.out.println("中的编码大于国的编码");
}else{
System.out.println("国的编码大于中的编码");
}2.等于(==)
int a1 = 10;
int a2 = 20;
// int a3 = a1==a2;//编译错误 a1==a2 是条件运算 结果是boolean类型 不能赋值给int类型
int a3 = a2 =a1;//"="是赋值运算
System.out.println("a1:"+a1+",a2:"+a2+",a3:"+a3);
//练习找到俩个数大的值
a1 = 30;
a2 = 50;
if (a1>=a2){
System.out.println("大值是:"+a1);
}else {
System.out.println("大值是:"+a2);
}5.逻辑运算逻辑运算 && || ! & |
运算规则 与运算 (全为真则结果为真,有假则结果为假)
或运算 (全为假则结果为假,有真则结果为真) 非运算 (真变假,假变真,本质就是取反) 逻辑运算的结果是boolean类型 能做逻辑运算的类型:boolean 不能做逻辑运算的类型:byte short int long float double
1.运算
boolean b1 = true;
boolean b2 = true;
boolean b3 = false;
boolean b4 = b1 && b2;//true
System.out.println("b4:"+b4);
b4 = b1 && b2 && b3;//false
System.out.println("b4:"+b4);
b4 = b1 || b3;//true
System.out.println("b4:"+b4);
b4 = b1 || b2 ||b3;//true
System.out.println("b4:"+b4);
b4 = !b3;//true
System.out.println("b4:"+b4);
b4 = !( b1 || b2 );//false
System.out.println("b4:"+b4);
b4 = !( b1 && b3 ) || b3;//true
System.out.println("b4:"+b4);
int a = 3,b = 5;
boolean b5 = a >b && a++ >1;
//a>b是false 那么&&运算结果已经确定了是false 这里是"短路&&"
//所有后面的a++ >1 就不会执行 因此最终a还是3
System.out.println("a:"+a);
a = 3;
b = 5;
b5 = a >b & a++ >1;
//a>b是false 那么&运算结果已经确定了是false 这里是"不短路&&"
//所有后面的a++ >1 就会执行 因此需要a++,a的值就会变成4
System.out.println("a:"+a);
a = 3;
b = 5;
b5 = a< b || a++ >1;
//a1 就不会执行 因此最终a还是3
System.out.println("a:"+a);
a = 3;
b = 5;
b5 = a >b || a++ >0;
System.out.println("a:"+a);6.赋值运算符及三目运算+= , -= , *= , /= , %= 扩展的赋值运算符: 表示变量的数据取出来和其他数据进行运算,然后把运算结果赋值给变量
int k = 10;
k += 20;//k=? 这里是k+=20 等价于 k = k + 20; 所有k=30
System.out.println("k:"+k);
k/=4;//k=2 相当于 k = k / 4 所以结果为7
System.out.println("k:"+k);"+" 用于字符串的拼接
String str = "hello"; System.out.println(k + k + str);//14hello System.out.println(k + str + k);//7hello7 System.out.println(str + k + k);//hello77 System.out.println(str + (k + k));//hello14 System.out.println((str + k) + k + k);//hello777 System.out.println(str + k + k);//hello77 System.out.println(k + k + k + k);//28
三目运算
int age =19;
String info = age>18?"成年人":"未成年人";//需要把三目运算的结果,赋值给一个变量 保存起来
System.out.println("info:"+info);你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站标题:Java第三章(复习)-创新互联
标题URL:http://www.jxjierui.cn/article/epdso.html


咨询
建站咨询
