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链接:https://www.cdcxhl.com/article30/epdso.html
成都网站建设公司_创新互联,为您提供品牌网站设计、外贸建站、做网站、虚拟主机、全网营销推广、App设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联